I've have a Leonardo with an Ethernet R3 shield attached and a Sparkfun XBee shield on the top of the Ethernet shield. This setup works fine, but if I replace the Leonardo with an UNO and leave everything else the same, I have problems. The XBee still works, but when the sketch tries to post to COSM.com, I get a HTTP 401 error. If I switch back to Leonardo, everything is fine. Any ideas what's happening?
I want to use the UNO because it has more available memory (because the bootloader is smaller). My current program is almost at the memory limit.
I strongly believe that your XBee is making problems and not the Ethernet shield. On the Leonardo you have different serial objects for the USB serial device and the UART on pin 0/1, on the UNO it's the same. With the patch (by me as I saw ) applied to XBee.cpp you use Serial1 for the XBee on the Leonardo but still Serial on the UNO. So you have a conflict on the UNO that you use Serial for debugging and for communicating to the XBee. That doesn't work. Remove your debugging code and it probably works on the UNO too.