The Ethernet.begin() function is a bad puppy!
It returns with the w5100 SPI enabled. I think this is a bug. I did not say the functions were totally bug free. To patch the bug, you must disable it after that call.
The SD.begin(4) function returns with its SPI disabled like all SPI-based libraries should. It is a good puppy! ![]()