My linux based board is running a DHCP server on USB0 port to assign a fixed IP to the connected RNDIS client. When I connect Win XP or Ubuntu machine with this board, host machine gets the fixed IP immediately. But when I connect Windows 7 host, it takes 45-60 seconds to get the fixed IP. Before getting the fixed IP Win7 host gets some APIPA IP over RNDIS interface. I looked into the packet transfer b/w the board and Win7 host, I saw client (Win7) is broadcasting REQUEST packets w/o any DHCP server IP in the packets. After 45-50 seconds packet transfer goes like:
CLIENT -> DHCP DISCOVER SERVER -> DHCP OFFER CLIENT -> DHCP REQUEST SERVER -> DHCP ACK
and then it gets the IP, which is the proper DHCP way. I can see the server's (linux board) IP in REQUEST packet. But before sending the DHCP_DISCOVER it sends multiple REQUEST packets w/o any server IP in that.
Could anybody pls. help me what is the issue here, or I am missing something.