Czesc,
Pracuje nad wsparciem DHCP na STM32 i mam pewien problem. Przyznam, ze troche utknalem z tym. Wysylam discovery i serwer nie odpowiada na moje żądanie. Podsłuchuje sobie pakiety na linuxie w tej samej podsieci i niby wszystko wygląda ok - linux nawet dekoduje poprawnie tą wiadomość dhcpdumpem, a tcpdump pokazuje ze checksuma zarowno w UDP jak i IP jest poprawna. Z reszta i tak jest wyliczana hardware'owo wiec raczej powinna byc... Ba! Wedlug linucha wszystko niby jest poprawne... Ale cos na pewno nie jest, bo dla wszystkich innych urzadzen serwer odpowiada bez problemu na discovery, tylko dla mojego nie... Macie moze jakies doswiadczenie z tym, moze jakis pomysl co moze byc nie tak? Ponizej pelen pakiet w hexie jak i zdekodowany przez dhcp:
21:21:01.078262 IP (tos 0x0, ttl 255, id 53287, offset 0, flags [none], proto UDP (17), length 308)
0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 24:0a:64:e9:aa:aa (oui Unknown), length 280, xid 0xc87b0120, Flags [none] (0x0080)
Client-Ethernet-Address 24:0a:64:e9:aa:aa (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Client-ID Option 61, length 7: ether 24:0a:64:e9:aa:aa
Hostname Option 12, length 19: "http://ChocoOS.org^@"
Parameter-Request Option 55, length 8: [|rfc1048 8]
0x0000: ffff ffff ffff 240a 64e9 aaaa 0800 4500 ......$.d.....E.
0x0010: 0134 d027 0000 ff11 ea91 0000 0000 ffff .4.'............
0x0020: ffff 0044 0043 013c b0af 0101 0600 c87b ...D.C.<.......{
0x0030: 0120 0000 0080 0000 0000 0000 0000 0000 ................
0x0040: 0000 0000 0000 240a 64e9 aaaa 0000 0000 ......$.d.......
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0100: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0110: 0000 0000 0000 6382 5363 3501 013d 0701 ......c.Sc5..=..
0x0120: 240a 64e9 aaaa 0c13 6874 7470 3a2f 2f43 $.d.....http://C
0x0130: 686f 636f 4f53 2e6f 7267 0037 0801 031c hocoOS.org.7....
0x0140: 0617 1a2a 33ff 0000 0000 0000 0000 0000 ...*3...........
0x0150: 0000 0000 0000 0000 ........
---------------------------------------------------------------------------
TIME: 2016-10-31 21:21:01.155
IP: 0.0.0.0 (24:a:64:e9:aa:aa) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: c87b0120
SECS: 0
FLAGS: 80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 24:0a:64:e9:aa:aa:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 61 ( 7) Client-identifier 01:24:0a:64:e9:aa:aa
OPTION: 12 ( 19) Host name http://ChocoOS.org
OPTION: 55 ( 8) Parameter Request List 1 (Subnet mask)
3 (Routers)
28 (Broadcast address)
6 (DNS server)
23 (Default IP TTL)
26 (Interface MTU)
42 (NTP servers)
51 (IP address leasetime)