[syslinux] Problem in getting tftp transfer to succeed

Louis Van den Broek vandenbroek.y at skynet.be
Sun Apr 13 02:08:31 PDT 2003


Setup:
Server: Mac OS X Server which serves dhcp and tftp requests
client: Acer with PXE boot agent 4.0.19
file to transfer: -rw-r--r--   1 root    wheel    10988 Apr 12 13:50  
pxelinux.0

The default tftpd daemon doesn't support the tsize option (I think,  
look at the packet trace at the end, it reports the file isn't found,  
but I think this is because of tsize ... but I could be wrong)

So I changed the tftpd with tftpd-hpa, I had to comment out:
   /* Set up the supplementary group access list if possible */
   /* /etc/group still need to be accessible at this point */
#ifdef HAVE_INITGROUPS
   setrv = initgroups(user, pw->pw_gid);
   if ( setrv ) {
     syslog(LOG_ERR, "cannot set groups for user %s", user);
     exit(EX_OSERR);
   }
#else
#ifdef HAVE_SETGROUPS
   if ( setgroups(0, NULL) ) {
     syslog(LOG_ERR, "cannot clear group list");
   }
#endif
#endif
because otherwise I couldn't get the daemon to function.
I tested the tftdp with a tftp client on the command line and it works.

Now when I try to load pxelinux.0 with the Acer PXE client I get the  
following error: Missing mode.
Here is the packet trace ...

[xserve:/usr/libexec] yves% sudo tcpdump -i en0 -s 0 -X host  
192.168.1.10
tcpdump: listening on en0
10:42:49.273193 192.168.1.1.bootps > 192.168.1.10.bootpc:   
xid:0x40ab183f flags:0x8000 Y:192.168.1.10 S:192.168.1.1 sname "xserve"  
vend-rfc1048 DHCP:OFFER SID:192.168.1.1 LT:3564 SM:255.255.255.0  
DG:192.168.1.1 NS:192.168.1.1 DN:"" BF:"/private/tftpboot/pxelinux.0"
0x0000   4500 014e e4d4 0000 ff11 526e c0a8 0101        E..N......Rn....
0x0010   c0a8 010a 0043 0044 013a d8c0 0201 0600        .....C.D.:......
0x0020   40ab 183f 0000 8000 0000 0000 c0a8 010a        @..?............
0x0030   c0a8 0101 0000 0000 0002 3fab 183f 0000        ..........?..?..
0x0040   0000 0000 0000 0000 7873 6572 7665 0000        ........xserve..
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 6382 5363 3501 0236        ........c.Sc5..6
0x0110   04c0 a801 0133 0400 000d ec01 04ff ffff        .....3..........
0x0120   0003 04c0 a801 0106 04c0 a801 010f 0043        ...............C
0x0130   1c2f 7072 6976 6174 652f 7466 7470 626f        ./private/tftpbo
0x0140   6f74 2f70 7865 6c69 6e75 782e 30ff             ot/pxelinux.0.
10:42:50.316668 192.168.1.1.bootps > 192.168.1.10.bootpc:   
xid:0x40ab183f flags:0x8000 Y:192.168.1.10 S:192.168.1.1 sname "xserve"  
vend-rfc1048 DHCP:ACK SID:192.168.1.1 LT:3564 SM:255.255.255.0  
DG:192.168.1.1 NS:192.168.1.1 DN:"" BF:"/private/tftpboot/pxelinux.0"
0x0000   4500 014e 6eed 0000 ff11 c855 c0a8 0101        E..Nn......U....
0x0010   c0a8 010a 0043 0044 013a d5c0 0201 0600        .....C.D.:......
0x0020   40ab 183f 0000 8000 0000 0000 c0a8 010a        @..?............
0x0030   c0a8 0101 0000 0000 0002 3fab 183f 0000        ..........?..?..
0x0040   0000 0000 0000 0000 7873 6572 7665 0000        ........xserve..
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 6382 5363 3501 0536        ........c.Sc5..6
0x0110   04c0 a801 0133 0400 000d ec01 04ff ffff        .....3..........
0x0120   0003 04c0 a801 0106 04c0 a801 010f 0043        ...............C
0x0130   1c2f 7072 6976 6174 652f 7466 7470 626f        ./private/tftpbo
0x0140   6f74 2f70 7865 6c69 6e75 782e 30ff             ot/pxelinux.0.
10:42:50.321376 arp who-has 192.168.1.1 tell 192.168.1.10
0x0000   0001 0800 0604 0001 0002 3fab 183f c0a8        ..........?..?..
0x0010   010a 0000 0000 0000 c0a8 0101 0000 0000        ................
0x0020   0000 0000 0000 0000 0000 0000 0000 068b        ................
0x0030   77c8                                           w.
10:42:50.321402 arp reply 192.168.1.1 is-at 0:3:93:db:7c:6
0x0000   0001 0800 0604 0002 0003 93db 7c06 c0a8        ............|...
0x0010   0101 0002 3fab 183f c0a8 010a 0000 0000        ....?..?........
0x0020   0000 0000 0000 0000 0000 0000 0000 068b        ................
0x0030   77c8                                           w.
10:42:50.321473 192.168.1.10.2070 > 192.168.1.1.tftp:  45 RRQ  
"/private/tftpboot/pxelinux.0"
0x0000   4500 0049 0002 0000 1411 2347 c0a8 010a        E..I......#G....
0x0010   c0a8 0101 0816 0045 0035 627b 0001 2f70        .......E.5b{../p
0x0020   7269 7661 7465 2f74 6674 7062 6f6f 742f        rivate/tftpboot/
0x0030   7078 656c 696e 7578 2e30 006f 6374 6574        pxelinux.0.octet
0x0040   0074 7369 7a65 0030 005e 55b2 61               .tsize.0.^U.a
10:42:50.341634 192.168.1.1.49234 > 192.168.1.10.2070: udp 14
0x0000   4500 002a 4070 0000 4011 b6f7 c0a8 0101        E..*@p.. at .......
0x0010   c0a8 010a c052 0816 0016 cea0 0006 7473        .....R........ts
0x0020   697a 6500 3130 3938 3800                       ize.10988.
10:42:50.341752 192.168.1.10.2070 > 192.168.1.1.49234: udp 17
0x0000   4500 002d 0003 0000 1411 2362 c0a8 010a        E..-......#b....
0x0010   c0a8 0101 0816 c052 0019 b0d2 0005 0000        .......R........
0x0020   5446 5450 2041 626f 7274 6564 0000 c595        TFTP.Aborted....
0x0030   e0e5                                           ..
10:42:50.343263 192.168.1.10.2071 > 192.168.1.1.tftp:  22 RRQ ""
0x0000   4500 0032 0004 0000 1411 235c c0a8 010a        E..2......#\....
0x0010   c0a8 0101 0817 0045 001e e59e 0001 006f        .......E.......o
0x0020   6374 6574 0062 6c6b 7369 7a65 0031 3435        ctet.blksize.145
0x0030   3600 375d 80b8                                 6.7]..
10:42:50.344614 192.168.1.1.49235 > 192.168.1.10.2071: udp 17
0x0000   4500 002d 4071 0000 4011 b6f3 c0a8 0101        E..- at q..@.......
0x0010   c0a8 010a c053 0817 0019 50ac 0005 0004        .....S....P.....
0x0020   4d69 7373 696e 6720 6d6f 6465 00               Missing.mode.
^C
49 packets received by filter
0 packets dropped by kernel
[xserve:/usr/libexec] yves%

Any tips on how to solve this?
Yves


------------------------------------------------------------------------ 
----------------------------------------------------------------------

Packet trace with original tftpd:
[xserve:~] yves% sudo tcpdump -i en0 -s 0 -X host 192.168.1.10
tcpdump: listening on en0
10:18:11.002812 192.168.1.1.bootps > 192.168.1.10.bootpc:   
xid:0x40ab183f flags:0x8000 Y:192.168.1.10 S:192.168.1.1 sname "xserve"  
vend-rfc1048 DHCP:OFFER SID:192.168.1.1 LT:3564 SM:255.255.255.0  
DG:192.168.1.1 NS:192.168.1.1 DN:"" BF:"/private/tftpboot/pxelinux.0"
0x0000   4500 014e a1e3 0000 ff11 955f c0a8 0101        E..N......._....
0x0010   c0a8 010a 0043 0044 013a d8c0 0201 0600        .....C.D.:......
0x0020   40ab 183f 0000 8000 0000 0000 c0a8 010a        @..?............
0x0030   c0a8 0101 0000 0000 0002 3fab 183f 0000        ..........?..?..
0x0040   0000 0000 0000 0000 7873 6572 7665 0000        ........xserve..
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 6382 5363 3501 0236        ........c.Sc5..6
0x0110   04c0 a801 0133 0400 000d ec01 04ff ffff        .....3..........
0x0120   0003 04c0 a801 0106 04c0 a801 010f 0043        ...............C
0x0130   1c2f 7072 6976 6174 652f 7466 7470 626f        ./private/tftpbo
0x0140   6f74 2f70 7865 6c69 6e75 782e 30ff             ot/pxelinux.0.
10:18:12.046718 192.168.1.1.bootps > 192.168.1.10.bootpc:   
xid:0x40ab183f flags:0x8000 Y:192.168.1.10 S:192.168.1.1 sname "xserve"  
vend-rfc1048 DHCP:ACK SID:192.168.1.1 LT:3564 SM:255.255.255.0  
DG:192.168.1.1 NS:192.168.1.1 DN:"" BF:"/private/tftpboot/pxelinux.0"
0x0000   4500 014e 1d5f 0000 ff11 19e4 c0a8 0101        E..N._..........
0x0010   c0a8 010a 0043 0044 013a d5c0 0201 0600        .....C.D.:......
0x0020   40ab 183f 0000 8000 0000 0000 c0a8 010a        @..?............
0x0030   c0a8 0101 0000 0000 0002 3fab 183f 0000        ..........?..?..
0x0040   0000 0000 0000 0000 7873 6572 7665 0000        ........xserve..
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 6382 5363 3501 0536        ........c.Sc5..6
0x0110   04c0 a801 0133 0400 000d ec01 04ff ffff        .....3..........
0x0120   0003 04c0 a801 0106 04c0 a801 010f 0043        ...............C
0x0130   1c2f 7072 6976 6174 652f 7466 7470 626f        ./private/tftpbo
0x0140   6f74 2f70 7865 6c69 6e75 782e 30ff             ot/pxelinux.0.
10:18:12.051417 arp who-has 192.168.1.1 tell 192.168.1.10
0x0000   0001 0800 0604 0001 0002 3fab 183f c0a8        ..........?..?..
0x0010   010a 0000 0000 0000 c0a8 0101 0000 0000        ................
0x0020   0000 0000 0000 0000 0000 0000 0000 068b        ................
0x0030   77c8                                           w.
10:18:12.051444 arp reply 192.168.1.1 is-at 0:3:93:db:7c:6
0x0000   0001 0800 0604 0002 0003 93db 7c06 c0a8        ............|...
0x0010   0101 0002 3fab 183f c0a8 010a 0000 0000        ....?..?........
0x0020   0000 0000 0000 0000 0000 0000 0000 068b        ................
0x0030   77c8                                           w.
10:18:12.051520 192.168.1.10.2070 > 192.168.1.1.tftp:  45 RRQ  
"/private/tftpboot/pxelinux.0"
0x0000   4500 0049 0002 0000 1411 2347 c0a8 010a        E..I......#G....
0x0010   c0a8 0101 0816 0045 0035 627b 0001 2f70        .......E.5b{../p
0x0020   7269 7661 7465 2f74 6674 7062 6f6f 742f        rivate/tftpboot/
0x0030   7078 656c 696e 7578 2e30 006f 6374 6574        pxelinux.0.octet
0x0040   0074 7369 7a65 0030 005e 55b2 61               .tsize.0.^U.a
10:18:12.190504 192.168.1.1.49189 > 192.168.1.10.2070: udp 516
0x0000   4500 0220 1e8a 0000 4011 d6e7 c0a8 0101        E....... at .......
0x0010   c0a8 010a c025 0816 020c 1389 0003 0001        .....%..........
0x0020   ea05 7c00 0066 9c66 601e 060f a00f a889        ..|..f.f`.......
0x0030   e5c4 5e30 8cc8 8ed8 8926 7c5b 8c16 7e5b        ..^0.....&|[..~[
0x0040   8926 58a6 8c16 5ca6 fa66 0fb2 2658 a6fb        .&X...\..f..&X..
0x0050   fce8 6820 b000 bf00 57b9 8002 061e 07f3        ..h.....W.......
0x0060   aa07 bee3 a4e8 a31a be40 9fe8 9d1a c706        ......... at ......
0x0070   ba5b 0102 2666 813f 2150 5845 0f84 0f01        .[..&f.?!PXE....
0x0080   b850 56cd 1a72 233d 4e56 751e 2666 813f        .PV..r#=NVu.&f.?
0x0090   5058 454e 7514 2681 7f04 562b 7415 e85e        PXENu.&...V+t..^
0x00a0   0f0f 83ea 00e8 c00f 7309 be25 a2e8 5b1a        ........s..%..[.
0x00b0   e9ec 0e89 1e88 5b8c 068a 5bbe bfa2 e84a        ......[...[....J
0x00c0   1abe 07a3 e844 1a26 8b47 06a3 ba5b e85a        .....D.&.G...[.Z
0x00d0   1ae8 341a 3d01 0272 1f89 de8c c026 c45f        ..4.=..r.....&._
0x00e0   2826 6681 3f21 5058 450f 84a2 00e8 0f0f        (&f.?!PXE.......
0x00f0   0f83 9b00 89f3 8ec0 bed8 a2e8 0d1a 2666        ..............&f
0x0100   8b47 0a66 a31a 8fbe b5a3 e8fe 1926 8b47        .G.f.........&.G
0x0110   20e8 171a e8f1 19be cea3 e8ee 1926 8b47        .............&.G
0x0120   22e8 071a e8e1 19be e7a3 e8de 1926 8b47        "............&.G
0x0130   24e8 f719 e8d1 19be 00a4 e8ce 1926 8b47        $............&.G
0x0140   26e8 e719 e8c1 1966 31f6 2666 0fb7 4720        &......f1.&f..G.
0x0150   263b 4724 770a 268b 4724 268b 7726 eb04        &;G$w.&.G$&.w&..
0x0160   268b 7722 66c1 e004 6601 f066 c1e8 0aa3        &.w"f...f..f....
0x0170   b85b be3f a3e8 9319 a11c 8fe8 ad19 b03a        .[.?...........:
0x0180   e820 11a1 1a8f e8a2 19e8 7c19 e994 0089        ..........|.....
0x0190   1e88 5b8c 068a 5b26 668b 4710 66a3 248f        ..[...[&f.G.f.$.
0x01a0   beb5 a3e8 6519 2666 8b47 2ae8 8a19 e857        ....e.&f.G*....W
0x01b0   19be cea3 e854 1926 8b47 2ee8 6d19 e847        .....T.&.G..m..G
0x01c0   19be e7a3 e844 1926 8b47 32e8 6a19 e837        .....D.&.G2.j..7
0x01d0   19be 00a4 e834 1926 8b47 36e8 4d19 e827        .....4.&.G6.M..'
0x01e0   1966 31f6 2666 8b47 2a26 663b 4732 770b        .f1.&f.G*&f;G2w.
0x01f0   2666 8b47 3226 8b77 36eb 0426 8b77 2e66        &f.G2&.w6..&.w.f
0x0200   01f0 66c1 e80a a3b8 5bbe 1ba3 e8fc 18a1        ..f.....[.......
0x0210   268f e816 19b0 3ae8 8910 a124 8fe8 0b19        &.....:....$....
10:18:12.190664 192.168.1.10.2070 > 192.168.1.1.49189: udp 17
0x0000   4500 002d 0003 0000 1411 2362 c0a8 010a        E..-......#b....
0x0010   c0a8 0101 0816 c025 0019 b0ff 0005 0000        .......%........
0x0020   5446 5450 2041 626f 7274 6564 0000 a478        TFTP.Aborted...x
0x0030   ab84                                           ..
10:18:12.192161 192.168.1.10.2071 > 192.168.1.1.tftp:  22 RRQ ""
0x0000   4500 0032 0004 0000 1411 235c c0a8 010a        E..2......#\....
0x0010   c0a8 0101 0817 0045 001e e59e 0001 006f        .......E.......o
0x0020   6374 6574 0062 6c6b 7369 7a65 0031 3435        ctet.blksize.145
0x0030   3600 375d 80b8                                 6.7]..
10:18:12.202722 192.168.1.1.49190 > 192.168.1.10.2071: udp 19
0x0000   4500 002f 1e95 0000 4011 d8cd c0a8 0101        E../.... at .......
0x0010   c0a8 010a c026 0817 001b 7327 0005 0001        .....&....s'....
0x0020   4669 6c65 206e 6f74 2066 6f75 6e64 00          File.not.found.
^C
50 packets received by filter
0 packets dropped by kernel
[xserve:~] yves%



More information about the Syslinux mailing list