[U-Boot-Users] [PATCH] DHCP Client Fix
Wolfgang Denk
wd at denx.de
Sun Oct 28 23:01:17 CET 2007
Dear Justin,
in message <4155D0DA4B6B044891B3F19311C7E7B89C45E4 at EXCHANGE1.886llc.local> you wrote:
>
> I recently upgraded the firmware on some of my old Linksys WRT54G
> routers (version 5) from firmware version 1.0.6 to firmware version
> 1.02.2, both of which are released by Linksys and U-Boot was no longer
> able to get an IP address using DHCP. However, with the older firmware
> (version 1.0.6), U-Boot was still able to get an IP through DHCP.
>
> Using a hub and a packet sniffer, I was able to locate the problem. The
> U-Boot code will bind to an IP address offered by the DHCP server
> prematurely and the DHCP server will not respond with an ACK, rendering
I have to admit that I'm not sure if this is a bug in U-Boot or in
the Linksys router (which I have under special observation as they
explicitely and intentionally violate the U-Boot GPL).
> the system without an IP address. This is no longer valid when using a
> Linksys router as DHCP server. I modified the code to operate the way
> the Linux DHCP client does by not binding to the offered IP until the
> DHCP client receives the ACK sent by the server, ending the
> conversation. After making the appropriate changes, DCHP service was
> restored for all flavors of the Linksys firmware that I have available
> (v 1.02.2 and v1.0.6 for the version 5 router, v8.00.2 for the version 8
> router). It has also been tested on an AirPort Extreme router running
> DHCP.
>
> Attached is the patch with the code changes that were made. Any feed
> back would be appreciated.
I'm waiting for feedback (or a pull request?) from the network
custodian.
Ben???
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
365 Days of drinking Lo-Cal beer. = 1 Lite-year
More information about the U-Boot
mailing list