... which has been working without any issues.
So I wonder why I set the CS to high, thus disabling Ethernet.
(Yes, I have seen this in my early days somewhere, always did it, without asking why... hence, my query today)
I wonder, what does Ethernet.init(); do?
I see lots of examples using the Ethernet library, but not using Ethernet.begin();... even on the Arduino pages.
Also, Ethernet relies on SPI. Do I have use SPI.begin(); as well.
What is the best practice to properly start up and use Ethernet?
do you use DHCP or static IP addresses?
what printout do you display on the Serial Monitor, e.g. use Ethernet.localIP() to check the IP address?
what is displayed if you run on Windows ipconfig/all (ip on Linux)?
can you logon to the local router to check what devices are attached?
what Ethernet board are you using and what library to build the project? have you tried other Ethernet boards and/or libraries?
use wireshark to look at network traffic
I agree. Is there any kind of security on the network that is not supported by Arduino? Even something as "simple" as the router/DHCP controller needs to "whitelist" all the allowed MAC addresses?
Well, I have been troubleshooting this to death, and ended up buying a KeyEstudio UNO with Wiznet5500 on the same board. Uploaded the program and ... it worked instantly. It must be something the Wiznet5100 did not like. It did not ask for a DHCP lease; hence, never progressed beyond that.
Other than that, I am still curious, what commands to use to start up Ethernet properly.
I have problems that my EthernetSheildV1 will not connect to my new router
it will however connect to an old router OK
I have no problem connecting Raspberry PIs and other equipment to my new router ethernet ports
Ethernet.begin(MAC) is where you specify the MAC address, (and optionally the IP address, Gateway Router address, DNS Server address, and Subnet Mask if you are not using DHCP) https://www.arduino.cc/en/Reference/EthernetBegin