Subject: unable to netboot PowerBook (FireWire) since 4.1.8 upgrade
To: None <port-macppc@netbsd.org>
From: Michael Wolfson <michael@nosflow.com>
List: port-macppc
Date: 05/08/2002 10:51:30
Howdy,

I've been unable to netboot my PowerBook (FireWire) a.k.a. pismo since I
upgraded the BootROM to version 4.1.8.  Am I alone?

I've tried different versions of ofwboot.xcf (even building a new 1.6 from
-current as of a few days ago), tried bootpd and dhcpd.  My pismo trying to
use bootpd doesn't even get ofwboot.xcf.  Using dhcpd, it gets and executes
ofwboot.xcf fine, but can't load the kernel.  I've tried loading
ofwboot.xcf from a local disk and then netboot the kernel, but it has the
same symptoms.

Here are the symptoms using a -current server (the latest ZC snapshot).

Using bootpd:

Apple PowerBook3,1 4.1.8f5 BootROM built on 03/21/02 at 11:49:53
[...]
0 > boot enet:,\ofwboot.xcf enet:,/netbsd
BOOTPD/DHCP failed: SERVER is not responding can't OPEN: enet:,\ofwboot.xcf
 ok

And, of course, using MacOS or a diskful install of NetBSD I can get my IP
address from the BOOTP server.

From the server side, it looks like this:
(al) # tcpdump
tcpdump: listening on tlp0
07:26:38.055206 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055275 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055289 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055348 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055407 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055477 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055551 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055624 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055696 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055768 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055841 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055915 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.055987 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056061 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056135 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056207 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056280 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056352 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056425 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056498 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056570 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056643 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056716 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056789 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056862 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.056936 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057009 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057081 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057154 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057224 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057299 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.057370 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:26:38.061608 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xddbd file
""[|bo
otp]
07:26:38.133834 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xddbd Y:gizmobook.blobulent.com S:al.blobulent.com sname "al" [|bootp]
07:26:42.334660 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xddbe secs:5
file
 ""[|bootp]
07:26:42.406205 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xddbe secs:5 Y:gizmobook.blobulent.com S:al.blobulent.com sname "al" [|bootp]
07:26:50.806568 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xddbf
secs:13 fil
e ""[|bootp]
07:26:50.879064 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xddbf secs:13 Y:gizmobook.blobulent.com S:al.blobulent.com sname "al" file
""[|b
ootp]
07:27:06.935363 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xddc0
secs:29 fil
e ""[|bootp]
07:27:07.005514 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xddc0 secs:29 Y:gizmobook.blobulent.com S:al.blobulent.com sname "al" [|bootp]
07:27:39.886005 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xddc1
secs:62 fil
e ""[|bootp]
07:27:39.958654 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xddc1 secs:62 Y:gizmobook.blobulent.com S:al.blobulent.com sname "al" [|bootp]


It seems to never get past the bootp phase.  OK, so I tried dhcpd:
Apple PowerBook3,1 4.1.8f5 BootROM built on 03/21/02 at 11:49:53
[...]
0 > boot enet:,\ofwboot.xcf enet:,/netbsd
[...loads ofwboot.xcf...]
>>NetBSD/macppc OpenFirmware Boot, Revision 1.6
>>(mw@al, Tue Apr 23 04:41:09 PDT 2002)
BOOTP/BSDP failed: no FILENAME specifiedopen enet:,/netbsd: Device not
configured
Boot:

It does the same thing with any ofwboot.xcf.  And, also, of course, using
MacOS or locally installed NetBSD, I can get my client's information from
DHCP, and can mount the NFS exported filesystem.  From the server side:

(al) #> tcpdump
tcpdump: listening on tlp0
07:09:22.456458 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456531 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456548 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456603 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456669 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456741 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456816 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456886 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.456960 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457033 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457105 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457178 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457251 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457323 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457396 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457470 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457541 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457615 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457689 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457760 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457833 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457905 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.457979 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458051 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458125 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458197 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458270 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458343 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458415 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458487 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458561 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.458635 0:0:0:0:0:0 > 0:0:0:0:0:0 null I (s=0,r=0,C) len=50
07:09:22.462969 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xb54f file
""[|bo
otp]
07:09:22.467898 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xb54f Y:gizmobook.blobulent.com S:al.blobulent.com file ""[|bootp] [tos 0x10]
07:09:22.468688 gizmobook.blobulent.com.bootpc > 255.255.255.255.bootps:
xid:0x
b54f S:al.blobulent.com file ""[|bootp]
07:09:22.472650 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xb54f Y:gizmobook.blobulent.com S:al.blobulent.com [|bootp] [tos 0x10]
07:09:22.473141 arp who-has gizmobook.blobulent.com tell 0.0.0.0
07:09:27.425864 gizmobook.blobulent.com.bootpc > 255.255.255.255.bootps:
xid:0x
b550 C:gizmobook.blobulent.com file ""[|bootp]
07:09:27.429803 al.blobulent.com.bootps > gizmobook.blobulent.com.bootpc:
xid:0
xb550 C:gizmobook.blobulent.com S:al.blobulent.com [|bootp]

(al) # more /var/log/messages
May  8 08:50:09 al dhcpd: DHCPDISCOVER from 00:0a:27:e1:50:ae via tlp0
May  8 08:50:09 al dhcpd: DHCPOFFER on 10.0.1.200 to 00:0a:27:e1:50:ae via tlp0
May  8 08:50:09 al dhcpd: DHCPREQUEST for 10.0.1.200 (10.0.1.201) from
00:0a:27:
e1:50:ae via tlp0
May  8 08:50:09 al dhcpd: DHCPACK on 10.0.1.200 to 00:0a:27:e1:50:ae via tlp0
May  8 08:50:10 al tftpd[250]: 10.0.1.200: read request for /ofwboot16.xcf:
succ
ess
May  8 08:50:10 al dhcpd: DHCPDISCOVER from 00:0a:27:e1:50:ae via tlp0
May  8 08:50:10 al dhcpd: DHCPOFFER on 10.0.1.200 to 00:0a:27:e1:50:ae via tlp0
May  8 08:50:10 al dhcpd: DHCPREQUEST for 10.0.1.200 (10.0.1.201) from
00:0a:27:
e1:50:ae via tlp0
May  8 08:50:10 al dhcpd: DHCPACK on 10.0.1.200 to 00:0a:27:e1:50:ae via tlp0
May  8 08:50:16 al dhcpd: DHCPINFORM from 10.0.1.200 via tlp0
May  8 08:50:16 al dhcpd: DHCPACK to 10.0.1.200
May  8 08:50:24 al dhcpd: DHCPINFORM from 10.0.1.200 via tlp0
May  8 08:50:24 al dhcpd: DHCPACK to 10.0.1.200
May  8 08:50:40 al dhcpd: DHCPINFORM from 10.0.1.200 via tlp0
May  8 08:50:40 al dhcpd: DHCPACK to 10.0.1.200
May  8 08:51:12 al dhcpd: DHCPINFORM from 10.0.1.200 via tlp0
May  8 08:51:12 al dhcpd: DHCPACK to 10.0.1.200
May  8 08:52:17 al dhcpd: DHCPINFORM from 10.0.1.200 via tlp0
May  8 08:52:17 al dhcpd: DHCPACK to 10.0.1.200

I'd appreciate any suggestions as to where to proceed from here.

Thanks,
  -- MW