I have the Seeed Fi250 WiFi shield (http://www.seeedstudio.com/wiki/Wifi_Shield_(Fi250)) and am experiencing a very peculiar problem with the Arduino serial port.
I have the shield using the software serial port on D2 and D3 of the Arduino. That works fine. My issue is with the otherwise unused hardware serial port of the Arduino.
I used the proper library and was able to develop and test my application successfully. Using the Serial Monitor, I was able to watch the shield successfully join my WiFi network and communicate with my WiFi connected PC application.
My problem is that if I don't connect a functioning USB port, it fails to join. I created a copy of the WizFi250 library with all of the debug code removed. It is still a problem. My application does not use the hardware serial port - it was only ever used by the debugging software in the WizFi250 library.
I have tried pulling D0 high to simulate a passive connected device. I have inserted a 100ms delay between commands to the shield to slow down the data transmission to compensate for any inherent delay in the debugging output. If I power the device through a stand-alone USB power supply or via an external 9V supply, it also fails. Even if I plug it into a USB port on the PC without doing something via the serial port, it fails. Nothing works. Even if I upload the software to the Arduino, that is enough to make it work properly even though I am not using the hardware serial port for anything.
I cannot afford to have a PC physically plugged into my device just to make it work, so I need to find a way of coaxing the shield to join a WiFi network without anything connected to D0/D1.