[rescue] rescuing an ailing U10...

Jonathan C. Patschke jp at celestrion.net
Sun Sep 30 00:47:21 CDT 2007

On Sat, 29 Sep 2007, James Hartley wrote:

> ...which leads me to another question for the gentle readership here.
> Where can I find information explaining the following format?
> /pci at 1f,0/pci at 1,1/ide at 3/cdrom at 2,0:f

Aha.  You want the OpenBoot 3.x manuals.  Go to http://docs.sun.com/ and
search for openboot 3.x.

> I don't even know what this format is called, so my searching on
> Google is a bit impaired.

It's an Open Firmware path.  Imagine a tree of devices starting at some
logical nexus on the board (usually the processor-to-memory bus). The
first part of each node in the path is the device type, the second is
the address within its parent.

So, you have a PCI bus at address 1f off the mainboard, which doesn't
mean that much to an end-user other than that it's a way to distinguish
between buses on a multiple-bus system.  Then you have a PCI bus
connected to that bus (via PCI-PCI bridge), at slot 1, function 1 on the
previous bus, an IDE controller hanging off that bridge at device 3, and
a cdrom at the (0 = primary master, 1 = primary slave, 2 = secondary
master, 3 = secondary slave) secondary master, LUN 0, slice f.

Try this from the OpenBoot prompt:

   cd /

And things will make much more sense.   You can browse the device tree
like a filesystem.

You can do the same on PPC Macs with PCI slots and CHRP RS/6000s, but
the device navigation commands are different.

You can also use the "words" command to find out what commands are
applicable to your current device node.  If you poke around, you'll find
that lots of nodes have their own self-test routines (which are usually
called by the diag commands).

OpenBoot is fun stuff.  You can save commands into the nvram, and you
have (with patience) a great degree of control over the hardware from
there.  People have written apps (there exists a "pong" clone for PPC
macs) and elaborate patches[0] around broken hardware in OpenBoot /
Open Firmware forth.

[0] I have a Power Macintosh 7300 with an Adaptec SCSI card.  If I blank
     the NVRAM, the machine will not come up from a cold start.  It has
     to be powered-on, allowed to freeze up, and then rebooted with Cmd-
     Ctrl-Power; then it will come up.  This is due to a bug in Adaptec's
     firmware that tells the system that the SCSI bus is ready before it
     really is, so the Mac tries to boot from the card, and things get
     stuck.  Hacking a delay into the nvram fixes things.  There are also
     tons[1] of hacks that need to be tossed in there to make NetBSD
     happy because the 7300 is such a crap platform.  Amazing that the
     firmware is extensible enough to let you do things like that!
[1] If you want -all- of them, including the one that makes video not
     slower than frozen jelly climbing uphill against the wind, they
     won't all fit in the nvram, so you have to pick and choose.
Jonathan Patschke     )  "So far, 99% of illegal activity has been caused
Elgin, TX            (    by criminals."
USA                   )                                    --David Willis

More information about the rescue mailing list