Mailing List Archive

nilo -> tftp-hpa interaction
I downloaded nilo and oskit from www.nilo.org.
Added pcnet32.c linux-2.0.39 driver to oskit.
Compiled nilo with pcnet32 and produced boot floppy image.
Use it inside vmware vm. My aim is to be able to test pxelinux using
vmware+nilo and not a real machine.

Floppy starts, detects nic, receives ip from dhcp server, requests boot
image to tftpd-hpa, then crashes when talking to tftp. Is "Unknown TFTP
packet type 0x53ff" a kind of packet I can block using tftp-hpa -r option,
or it it nilo that is broken and there's nothing to do?

Unfortunately I cannot test the nilo boot disk on a real pc, because the
ones I have carry recent pci nic's that requires becker latest drivers
(oskit is 2.0.x based); I tried patching oskit with them, but when the
floppy boots it stops very early when detecting the nics (loops forever); I
think this has to do with the new becker pci-scan.o stuff that oskit does
not know and I somehow forced it to "know".

Did anyone used nilo succesfully with tftp-hpa?

Thanks

====== nilo trace
<= dump.c:496 dump_arp_table() return
<= pxe_udp.c:182 pxenv_udp_read() return
=> tftp.c: tftp_decode_packet() enter
=> dump.c: dump_tftp_packet() enter
00:02:57: ERROR: tftp structure is NULL
02:40:09: Unknown TFTP packet type 0x53ff
<= tftp.c:243 tftp_decode_packet() return
12:22:24: Packet numbers too far out of sync.
<= pxe_tftp.c:172 pxenv_tftp_read() return
Couldn't read from the TFTP connection.

Backtrace: fp=357df0
0031b7af 00306bbf 0030514f 00300e56 00327282
_exit(1) called; rebooting...

--
giulioo@pobox.com
nilo -> tftp-hpa interaction [ In reply to ]
Hi,

Giulio Orsero <giulioo@pobox.com> schrieb am 04.02.02:
> Floppy starts, detects nic, receives ip from dhcp server, requests boot
> image to tftpd-hpa, then crashes when talking to tftp. Is "Unknown TFTP
> packet type 0x53ff" a kind of packet I can block using tftp-hpa -r option,
> or it it nilo that is broken and there's nothing to do?

hmm, could you try to make some tcpdump of this? Maybe this sheds
some light on it.

Regards,

Josef
______________________________________________________________________________
Die Nummer, die man nie vergisst: Ihre persönliche Wunschrufnummer von WEB.DE!
Jetzt einsteigen http://freemail.web.de
nilo -> tftp-hpa interaction [ In reply to ]
On Mon, 4 Feb 2002 17:21:48 +0100, Josef Siemes <jsiemes@web.de> wrote:

>Giulio Orsero <giulioo@pobox.com> schrieb am 04.02.02:
>> Floppy starts, detects nic, receives ip from dhcp server, requests boot
>> image to tftpd-hpa, then crashes when talking to tftp. Is "Unknown TFTP
>> packet type 0x53ff" a kind of packet I can block using tftp-hpa -r option,
>> or it it nilo that is broken and there's nothing to do?
>
>hmm, could you try to make some tcpdump of this? Maybe this sheds
>some light on it.

# tcpdump -n -x ether host <nilo ether addr>
tcpdump: listening on eth0
18:02:06.193560 0.0.0.0.0 > 0.0.0.0.67: bootp-#3 [|bootp]
4500 0240 0000 0000 3c11 7cae 0000 0000
0000 0000 0000 0043 022c 0000 0301 0600
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000
18:02:06.194998 192.168.1.7.67 > 192.168.1.115.68: Y:192.168.1.115
S:192.168.1.7 [|bootp] [tos 0x10]
4510 0148 0000 0000 1011 25cb c0a8 0107
c0a8 0173 0043 0044 0134 b25d 0201 0600
0000 0000 0000 0000 0000 0000 c0a8 0173
c0a8 0107 0000
18:02:06.214421 0.0.0.0.0 > 0.0.0.0.67: bootp-#3 Y:192.168.1.115
S:192.168.1.7 [|bootp]
4500 0240 0000 0000 3c11 7cae 0000 0000
0000 0000 0000 0043 022c 0000 0301 0600
0000 0000 0000 0000 0000 0000 c0a8 0173
c0a8 0107 0000
18:02:06.215871 192.168.1.7.67 > 192.168.1.115.68: Y:192.168.1.115
S:192.168.1.7 [|bootp] [tos 0x10]
4510 0148 0000 0000 1011 25cb c0a8 0107
c0a8 0173 0043 0044 0134 2928 0201 0600
0000 0000 0000 0000 0000 0000 c0a8 0173
c0a8 0107 0000
18:02:06.223671 arp who-has 192.168.1.7 tell 192.168.1.115
0001 0800 0604 0001 0050 5640 6b23 c0a8
0173 0000 0000 0000 c0a8 0107 92a8 111a
5010 4470 4ee4 0000 0000 0080 ff53
18:02:06.223701 arp reply 192.168.1.7 is-at 0:50:4:32:12:b0
0001 0800 0604 0002 0050 0432 12b0 c0a8
0107 0050 5640 6b23 c0a8 0173
18:02:06.370927 192.168.1.115.2001 > 192.168.1.7.69: 20 RRQ "niloboot"
4500 0030 0000 0000 3c11 faf2 c0a8 0173
c0a8 0107 07d1 0045 001c 0000 0001 6e69
6c6f 626f 6f74 006e 6574 6173 6369 6900
18:02:06.374918 192.168.1.7.3012 > 192.168.1.115.2001: udp 516
4500 0220 0fb8 0000 4011 e54a c0a8 0107
c0a8 0173 0bc4 07d1 020c f5af 0003 0001
3613 031b 5400 0000 0000 2092 0000 8092
6d6b 6e62 692d
<nilo died here>
18:02:11.368808 arp who-has 192.168.1.115 tell 192.168.1.7
0001 0800 0604 0001 0050 0432 12b0 c0a8
0107 0000 0000 0000 c0a8 0173
18:02:11.368947 192.168.1.7.3012 > 192.168.1.115.2001: udp 516
4500 0220 0fbf 0000 4011 e543 c0a8 0107
c0a8 0173 0bc4 07d1 020c f5af 0003 0001
3613 031b 5400 0000 0000 2092 0000 8092
6d6b 6e62 692d
18:02:12.368865 arp who-has 192.168.1.115 tell 192.168.1.7
0001 0800 0604 0001 0050 0432 12b0 c0a8
0107 0000 0000 0000 c0a8 0173
18:02:13.368923 arp who-has 192.168.1.115 tell 192.168.1.7
0001 0800 0604 0001 0050 0432 12b0 c0a8
0107 0000 0000 0000 c0a8 0173
18:02:16.369212 192.168.1.7.3012 > 192.168.1.115.2001: udp 516
4500 0220 0fc9 0000 4011 e539 c0a8 0107
c0a8 0173 0bc4 07d1 020c f5af 0003 0001
3613 031b 5400 0000 0000 2092 0000 8092
6d6b 6e62 692d
ò
13 packets received by filter

Thanks

--
giulioo@pobox.com
nilo -> tftp-hpa interaction [ In reply to ]
Hi,

Giulio Orsero <giulioo@pobox.com> schrieb am 04.02.02:
> On Mon, 4 Feb 2002 17:21:48 +0100, Josef Siemes <jsiemes@web.de> wrote:
>
> >Giulio Orsero <giulioo@pobox.com> schrieb am 04.02.02:
> >> Floppy starts, detects nic, receives ip from dhcp server, requests boot
> >> image to tftpd-hpa, then crashes when talking to tftp. Is "Unknown TFTP
> >> packet type 0x53ff" a kind of packet I can block using tftp-hpa -r option,
> >> or it it nilo that is broken and there's nothing to do?
> >
> >hmm, could you try to make some tcpdump of this? Maybe this sheds
> >some light on it.
> 18:02:06.370927 192.168.1.115.2001 > 192.168.1.7.69: 20 RRQ "niloboot"
> 4500 0030 0000 0000 3c11 faf2 c0a8 0173
> c0a8 0107 07d1 0045 001c 0000 0001 6e69
> 6c6f 626f 6f74 006e 6574 6173 6369 6900

This reads 'RRQ niloboot netascii'. netascii? Why would anyone
want to download binaries as netascii? This should have been
'... octet'!

> 18:02:06.374918 192.168.1.7.3012 > 192.168.1.115.2001: udp 516
> 4500 0220 0fb8 0000 4011 e54a c0a8 0107
> c0a8 0173 0bc4 07d1 020c f5af 0003 0001
> 3613 031b 5400 0000 0000 2092 0000 8092
> 6d6b 6e62 692d

'Data 0001 <data>'.

So there's no option acknowledgement, since no option was requested.
Since the 'netascii' packets tend to be bigger than the 'octet'
packets I think this stumbles over some packet != 512 Bytes data, and
it seems to be the first one ...

Try to patch formats[] in tftpd.c, so that the last entry in each
element is '0'. This should give:

:} formats[] = {
: {"netascii", [...] ,tftp_recvfile, 0 },
: {"octet" , [...], 0},

This disables CR/LF conversion even if 'netascii' is requested.
Maybe this brings you some step further, but since this client
is definitely broken there may be more trouble elsewhere.

Regards,

Josef
______________________________________________________________________________
Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr!
Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=7
nilo -> tftp-hpa interaction [ In reply to ]
Josef Siemes wrote:

>
>>18:02:06.374918 192.168.1.7.3012 > 192.168.1.115.2001: udp 516
>> 4500 0220 0fb8 0000 4011 e54a c0a8 0107
>> c0a8 0173 0bc4 07d1 020c f5af 0003 0001
>> 3613 031b 5400 0000 0000 2092 0000 8092
>> 6d6b 6e62 692d
>>
>
> 'Data 0001 <data>'.
>
> So there's no option acknowledgement, since no option was requested.
> Since the 'netascii' packets tend to be bigger than the 'octet'
> packets I think this stumbles over some packet != 512 Bytes data, and
> it seems to be the first one ...
>


Actually this packet contains exactly 512 bytes of data -- if it didn't it
would be an EOF packet (the tftp protocol is rather bizarre that way.)

Most likely is that NILO is requesting "netascii" but really means "octet"
-- a pretty serious bug which should be fixed.

-hpa
nilo -> tftp-hpa interaction [ In reply to ]
On Mon, 4 Feb 2002 19:44:37 +0100, Josef Siemes <jsiemes@web.de> wrote:

>Try to patch formats[] in tftpd.c, so that the last entry in each
>element is '0'. This should give:
>
>:} formats[] = {
>: {"netascii", [...] ,tftp_recvfile, 0 },
>: {"octet" , [...], 0},
>
>This disables CR/LF conversion even if 'netascii' is requested.

I tried this, but the error persists.

It seems like nilo is an abandoned project since the latest package is from
feb2000; too much difficult for me since I don't know to program in c.

I'll look for something else that has the same functionality.

Thanks

--
giulioo@pobox.com
nilo -> tftp-hpa interaction [ In reply to ]
Giulio Orsero wrote:

>
> It seems like nilo is an abandoned project since the latest package is from
> feb2000; too much difficult for me since I don't know to program in c.
>
> I'll look for something else that has the same functionality.
>


I keep hoping for someone taking the Etherboot or Netboot code base and
turning it into a freeware PXE stack...

-hpa
nilo -> tftp-hpa interaction [ In reply to ]
> I keep hoping for someone taking the Etherboot or Netboot code base and
> turning it into a freeware PXE stack...

I would love PXE on top of Etherboot so that 'doze (NTLOADER or
whatever) can be PXEd by those who want it, but Linux or other open
source is loaded directly. These would ideally all be dynamically
loadable; PXE can load Etherboot, so why can't Etherboot load NILO?
Conversely, static build is also good; pxelinux could sit directly on
top of Etherboot - no mucking around actually loading it as a PXE NBP.

More generally, there's lots of good code out there, and I'd really like
all those involved in Etherboot, LinuxBIOS, NILO, GRUB, OpenBIOS and so
on to regard themselves as complementary parts of a single greater open
source firmware project so that those of using it can put it together in
interesting ways with (or instead of) the commercial offerings.
nilo -> tftp-hpa interaction [ In reply to ]
Peter Lister wrote:

>
> I would love PXE on top of Etherboot so that 'doze (NTLOADER or
> whatever) can be PXEd by those who want it, but Linux or other open
> source is loaded directly. These would ideally all be dynamically
> loadable; PXE can load Etherboot, so why can't Etherboot load NILO?
> Conversely, static build is also good; pxelinux could sit directly on
> top of Etherboot - no mucking around actually loading it as a PXE NBP.
>
> More generally, there's lots of good code out there, and I'd really like
> all those involved in Etherboot, LinuxBIOS, NILO, GRUB, OpenBIOS and so
> on to regard themselves as complementary parts of a single greater open
> source firmware project so that those of using it can put it together in
> interesting ways with (or instead of) the commercial offerings.
>


This is exactly the problem I have with a lot of things.

I believe in keeping the number of firmware standards small.

PXE is ugly as hell, and it's pretty clear it was designed by completely
unqualified people, but ugly or not, that's what's there. I don't believe
in being gratuitiously different just to save a second or two of boot time.

What I'd like to see is a clean, open source, PXE implementation that
users can flash into their ROMs if they don't have PXE already, or their
PXE implementation is broken. If they then layer PXELINUX or whatever on
top of it, that's a completely different issue.

-hpa