Devices: Seeeduino V2.2 (ATmega328P) & Wiznet Ethernet Shield
Request: Return Error Code & optionally Retry. If possible, subroutine should know the status of the Link LED.
Situation: "Ethernet.begin(mac, ip, gateway, subnet);" does NOT return a status and next line is executed; presuming Wiznet is connected. A timing feature "delay(1000);" is NOT satisfactory. In my case, Full Duplex (FDX) LEDs flashes continuously (for up to 15 minutes) until the Link LED is turned on.
This revision request may solve a lot of failed Arduino Ethernet projects, that interface Wiznet to some routers.
I suggest Ethernet.begin code to return 0 ONLY IF the Link LED is turned on. This would allow for program execution to continue or halt. Also add two more options to the line: one for retry until Link LED is on, and one for retry until a specified timeout.
If this revision has already been done, please let me know. Current Example code, such as "WebClient" in Arduino 0022 will always show "connection failed", unless Ethernet.begin is patched.
This is my latest discovery from experimentation, based on my past programming where "ERRORLEVEL" has been used during my Palm OS PDA programming days. I just received my Seeed Studio package on Monday.
Thank you for reading my post. Have a nice day!