Hi I have downloaded a recent port (by Simon Kallweit) from http://download.westlicht.ch/lwip-20090903.tar.gz. When running the testprogram httpd_sequential.c it works - if lwip is configured for a fixed address. But when I configure it to use DHCP, I run into a problem: I then get no response from my board.
Using wireshark, I can see (see attachment 090921_1.out) that the there is a hopeful beginning of the DHCP configuration process of my board. But there is never a fitting answer from the ZyXEL P-661HW-D3 which implements the DHCP-server on our LAN - at least as far as I see it, given my rather limited experience with network issues..... There is more: In the debug output of lwip I can see that my board receives a packet from the ZyXEL which includes the IP address I am expecting (see attachment packets.txt). But the package is dropped because of a checksum error. Why? Short of memory? But even so, why can't I see this packet on wiresharks output? My system(s): Custom specific board based on at91sam7x256. Toolchain is GNUARM Has anyone out there a possible explanation what's going wrong here? Or a hint in which direction to go for further debugging. Thanks for help. -- Robert
..cut.. dhcp_discover: SELECTING dhcp_discover(): set request timeout 8000 msecs sys_timeout: 0x0020824c msecs=500 h=0x00205748 arg=0x00000000 smf calling h=0x00205764(0x00000000) tcpip: igmp_tmr() sys_timeout: 0x00208210 msecs=100 h=0x00205748 arg=0x00000000 tcpip_thread: PACKET 0x0020797c ethernet_input: dest:12:34:56:78:9a:bc, src:00:02:cf:cc:89:c1, type:%hx etharp_ip_input: updating ETHARP table. update_arp_entry() update_arp_entry: 192.168.0.1 - 00:02:cf:cc:89:c1 update_arp_entry: updating stable entry 0 pbuf_header: old 0x00209938 new 0x00209946 (-14) ip_input: iphdr->dest 0xa00a8c0 netif->ip_addr 0x0 (0x0, 0x0, 0xa00a8c0) ip_input: iphdr->dest 0xa00a8c0 netif->ip_addr 0x100007f (0xa8c0, 0x7f, 0xa000000) ip_input: UDP packet to DHCP client port 68 ip_input: DHCP packet accepted. ip_input: IP header: +-------------------------------+ | 4 | 5 | 0x00 | 576 | (v, hl, tos, len) +-------------------------------+ | 44119 |000| 0 | (id, flags, offset) +-------------------------------+ | 255 | 17 | 0x8bf9 | (ttl, proto, chksum) +-------------------------------+ | 192 | 168 | 0 | 1 | (src) +-------------------------------+ | 192 | 168 | 0 | 10 | (dest) +-------------------------------+ ip_input: p->len 170 p->tot_len 576 pbuf_header: old 0x00209946 new 0x0020995a (-20) udp_input: received datagram of length 556 UDP header: +-------------------------------+ | 67 | 68 | (src port, dest port) +-------------------------------+ | 556 | 0xf9a0 | (len, chksum) +-------------------------------+ udp (192.168.0.10, 68) <-- (192.168.0.1, 67) udp_input: calculating checksum inet_chksum_pseudo(): checksumming pbuf 0x00209928 (has next 0x00209814) inet_chksum_pseudo(): checksumming pbuf 0x00209814 (has next 0x00209700) inet_chksum_pseudo(): checksumming pbuf 0x00209700 (has next 0x002095ec) inet_chksum_pseudo(): checksumming pbuf 0x002095ec (has next 0x00000000) inet_chksum_pseudo(): pbuf chain lwip_chksum()=82b8 udp_input: UDP datagram discarded due to failing checksum pbuf_free(0x00209928) pbuf_free: deallocating 0x00209928 pbuf_free: deallocating 0x00209814 pbuf_free: deallocating 0x00209700 pbuf_free: deallocating 0x002095ec smf calling h=0x00205764(0x00000000) tcpip: igmp_tmr() sys_timeout: 0x00208210 msecs=100 h=0x00205748 arg=0x00000000 smf calling h=0x00205764(0x00000000) ..cut...
090921_1.out
Description: Binary data
_______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
