I’m using a UNO with the standard ethernet shield with arduino version 0022 on Fedora 15. The problem I’m seeing is that I’ve downloaded the example code in msard-code.tgz and installed it. I then have tried the TimeServer.pde and the Email.pde as covered in the book. It starts to work for both but the serial console always fills with huge amounts of binary right after the println(“connected”) runs. For example, using the daytime example with time.nist.gov looks like this in the console:
55899 11-12-04 02:45:55 00 0 0 597.8 UTC(NIST) * ava(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009))*$)Ç¥ k&ðtÐvUcü¿cR¿÷ª»À¾××³ÀÞÌ@Dc*X_KÁkÏ¡À&;X’aÙ¥Æ
then I get tons more binary until I see a another daytime with the exact same time string. Usually I’ll get the same string three or so times and then the time stamp will be different and that one will repeat in the same way. So it’s like the connection is never dropped and the serial console gets filled with the daytime string, then binary, then the same daytime but then eventually the connection dropped and a fresh one is gotten from nist. Does this make any sense? This will continue forever until I press the reset button on the shield and pull the USB cable out.
BTW, I’m using the current arduino and arduino-core (version 0022) that’s in the Fedora package system but the latest is 0023 on the arduino.cc site, maybe there’s a problem in the Ethernet lib.
Note that I had to add the ‘gateway’ third argument to the Ethernet.begin() method because my network has an IPCOP gateway at 192.168.1.2
One more thing, I read on the Ethernet Shield http://arduino.cc/en/Main/ArduinoEthernetShield page this statement:
bq. Note that because the W5100 and SD card share the SPI bus, only one can be active at a time. If you are using both peripherals in your program, this should be taken care of by the corresponding libraries. If you’re not using one of the peripherals in your program, however, you’ll need to explicitly deselect it. To do this with the SD card, set pin 4 as an output and write a high to it. For the W5100, set digital pin 10 as a high output.
So is that my problem? The Ch 8 examples don’t show that you need digitalwrite(4, HIGH) but it’s true I’m not using the SD card but rather just the W5100