Re: Current hangs at boot
Jochen Kunz <[email protected]> Wed, 14 May 2008 20:30:17 +0200
| Newsgroups | gmane.os.netbsd.ports.ofppc |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 14 May 2008 00:14:50 -0700 (MST) Tim Rightnour <[email protected]> wrote: > > Maybe a firmware issue? The firmware in my -150 is quite old. > It's possible. One thing at a time though, I'll try the 170 first. I run this firmware by purpose: It doesn't have that very annoying 60 second delay when netbooting... [lots of printf(9) debugging later] It seems to be somthing different: The B50 has only two PCI slots on the PCI riser card. The -150 has more slots and a PCI-PCI bridge on the PCI riser card. arch/powerpc/pci/pci_machdep_ofw.c:genofw_find_node_by_devfunc() goes into an infinite loop if it hits the PCI-PCI bridge. The folowing hack breaks the loop: --- /tmp/pci_machdep_ofw.c 2008-05-14 20:14:28.000000000 +0200 +++ ../powerpc/pci/pci_machdep_ofw.c 2008-05-14 20:14:35.000000000 +0200 @@ -351,6 +351,10 @@ for (node = startnode; node; node = p) { sz = OF_getprop(node, "reg", ®, sizeof(reg)); + if (sz < 0) { + printf( "genofw_find_node_by_devfunc: node=%i sz=%i\n", node, sz); + return -1; + } if (sz != sizeof(reg)) continue; if (OFW_PCI_PHYS_HI_BUS(reg) == bus && With that hack I get to single user mode. I'll mount a disk into the box and try a full install on that disk now. Here is a snip from dmesg with pci_conf_debug set to 1: PCI: bus 0, device 22, function 0: id=ffffffff: Vendor=ffff, Product=ffff PCI: bus 0, device 23, function 0: id=221014: Vendor=1014, Product=22 PCI: bus 0, device 23, function 0: Found dev 0x1014 0x0022 -- really probing. genofw_find_node_by_devfunc: node=13359816 sz=-1 Cannot find node for device bus 0 dev 23 func 0 PCI: bus 0, device 23, function 0: device is a bridge; not clearing enables PCI: bus 1, device 0, function 0: id=ffffffff: Vendor=ffff, Product=ffff Can you give me some hints to understand that code in pci_machdep_ofw.c for further debugging? (I am missing the big picture.) BTW: How do I "boot net -d" from OFW? I.e. how can I make the kernel entering DDB as soon as possible? > Yeah, thats how most of the POWER3/POWER4 series service processors > work. You can power them up, but not down. You can get back to the > service processor by issuing a powerdown from the OS via rtas. Braindead. What do I need a service processor for? Power on the machine when it is off. OK, that works. But as important: Power down / reset the machine if it is stuck at some point. SGI did this better with the Origin 200. The service processor is entirely independent of the main machine and has its own RS232 port. > (Basically, a 270/170 never fully powers off, its allways watching > the serial port for someone to hit enter and bring up the menu) Same for the -170. If you supply mains power the green LED at the back blinks, the backlight on the front LCD panel is lit, some error / test codes are displayed on the LCD and finaly there is a "OK" on the LCD... Thanks for taking care of the -170. -- tsch__, Jochen Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/