[U-Boot-Users] PATCH for U-Boot 1.3.3 DHCP fails with netgear WGR614v6

Jerry Van Baren gerald.vanbaren at ge.com
Fri Jul 11 21:15:14 CEST 2008


Ben Warren wrote:
> Jerry Van Baren wrote:
>> Ben Warren wrote:
>>> Robin Getz wrote:
>>>> I was trying out U-Boot 1.1.3 with a new(er) router netgear WGR614v6 
>>>> - firmware version V2.0.19_1.0.19NA, on a Blackfin BF537-STAMP.
>>>>
>>>> http://kbserver.netgear.com/products/wgr614v6.asp
>>>>
>>>> and found that dhcp fails :( 
>>
>> More correctly, the *second* DHCP request fails.
>>
>>>> bfin> dhcp
>>>> BOOTP broadcast 1
>>>> BOOTP broadcast 2
>>>> BOOTP broadcast 3
>>>> BOOTP broadcast 4
>>>> BOOTP broadcast 5
>>>>
>>>> Retry count exceeded; starting again
>>>>
>>>> When turning on some more verbose debug messages (in the net driver 
>>>> & in the network code, not all of which exists in U-Boot release or 
>>>> trunk), we can see exactly what is going on...
>>>>
>>>> =============================
>>
>> First DHCP request...
>>
>>>> bfin> dhcp
>>>> Eth_halt: ......
>>>> Eth_init: ......
>>>> BOOTP broadcast 1
>>>> setting transaction ID to 3268fe22
>>>> BFIN EMAC send: length = 343
>>>> BFIN EMAC rx: length = 552
>>>> packet received
>>>> packet received
>>>> Receive from protocol 0x800
>>>> Got IP
>>>> len=308, v=45
>>>> passing packet len= 280
>>>> DHCPHandler: got packet: (src=67, dst=68, len=280) state: 3
>>>> Filtering pkt = 0
>>>> DHCPHandler: got DHCP packet: (src=67, dst=68, len=280) state: 3
>>>> DHCP: state=SELECTING bp_file: ""
>>>> TRANSITIONING TO REQUESTING STATE
>>>> IP was: 0.0.0.0
>>>> IP now: 192.168.0.9
>>
>> ...worked.
>>
>>>> Bootfile:
>>>> DhcpSendRequestPkt: Sending DHCPREQUEST
>>
>> Why is the second DHCP request being sent?  What is the second DHCP 
>> request asking for (sniff the net with wireshark).  It should be 
>> asking for its current IP address (e.g. a renewal) if anything.
>>
> I think this is how it's supposed to work, but don't quote me...  Client 
> starts in 'Discover' state, sending a broadcast looking for servers.  
> One or more servers respond with proposals.  Client changes to 'Request' 
> state, and sends a request.  Server then has the option of sending an 
> ARP to see if the IP address is already taken and eventually sends ACK 
> or NAK.

Yes, but that describes the *first* DHCP which *succeeded* (above).  The 
target then initiates a second DHCP (presumably with the same MAC 
address and, I would presume/deduce with a lease renewal request rather 
than a "gimme a new IP" request) which the server(?) bungles.

> But why the NAK in this case?  The server should recognize that it 
> offered this IP address to the device with this MAC address.  Maybe it 
> is a timing thing like somebody saw a while ago with a Windows DHCP server.

Yes, Windows is my suspicion too, our emails probably crossed in the server.

> Fun stuff...
> 
> regards,
> Ben

Makes a slow day go faster.  :-)

gvb




More information about the U-Boot mailing list