NetBSD/hp300 Frequently Asked Questions
- My screen went black after some initial bootrom messages
- Can NetBSD/hp300 boot across the network?
- How can I change Ethernet media types on 4xx models?
- What TERM type is needed for the console?
- What is the situation with X11 on the hp300?
- Models 345 and 425e having problems with internal hard drives
- What are the Model 362 and 382?
- What does 'UNEXPECTED USE OF FFFFFFC4' mean?
- What commands does the HP Boot ROM understand?
- What order does the Boot ROM use to search for bootable devices?
- Switching your Series 400 machine from Domain to "HP-UX Compatible Boot Mode"
- Where could I get a more recent Boot ROM for my 400s or 400t?
- What are the different types of serial ports, and how do I access them?
- Setting up a serial console on a 98561, 98562, 98626, 98628, 98642, or 98644
- Setting up serial console on a Model 340
- Setting up serial console on a Series 400 machine or a 345, 362, 375, 380, 382, or 385
- How do I build the cable to get at the hidden serial ports on a Series 400 machine?
- Does my System Interface Board really need a special DB9 serial cable?
This means your framebuffer is not supported. Hook up a serial terminal, 9600 bps, 8 bits, no parity, 1 stop bit, xon/xoff flow control.
if you'd like to work on writing a driver for your framebuffer.
HP 9000/300-series workstations support network booting with Boot ROM Revision B or later. (This includes any Boot ROM with a numeric revision). The HP Boot ROM uses the HP Remote Maintainance Protocol to download the boot code from the server. The server must run a daemon capable of responding to HP RMP boot requests. If your server runs NetBSD, it has rbootd(8) in the base system. If your server runs another OS, like Linux or Solaris, you can try YAMAMORI Takenori's sun-rbootd package.
Series 400 machines have two Ethernet media types built into the motherboard. You may only use one at a time. When your Series 400 workstation goes through the self-test when powered on or rebooted, it will say one of the following:
HP98643 (LAN) at 21, AUI HP98643 (LAN) at 21, Thin
If the wrong type of network is selected, you will need to change the Ethernet port. You will need to open the case (4XXt, 4XXdl, 4XXe) or remove the motherboard (4XXs) to access the jumper. Be sure to use static-prevention measures, as you could easily fry your motherboard from carelessness. If you are uncomfortable with this, ask a friend who is aware of these issues. There is a block of 8 jumpers at the rear of the motherboard, labeled AUI/Thin. You will need to put the jumpers in the position necessary for your type of Ethernet.
hp300 now has wscons support. Use
wsvt25 for the
TERM environment variable, as on other wscons ports.
NetBSD supports Xorg with a server based on wsfb.
The SCSI cable in these models is not notched to specify which way it should be plugged in. The symptom is being unable to boot due to a SCSI register test failing. If you are certain that your hard drive works properly on another machine, then flip one end of the SCSI cable over.
The only other models that accept internal hard drives are the 362, 382, 4XXt, and 4XXs which do not have this uncertainty in cabling.
These models were designed as instrument controllers, unlike the rest of the Series 300 and Series 400 systems which were intended as workstations or servers. The 362 and 382 are 19" rackmount units with very PC-like properties.
They have 72 pin SIMM slots (with parity on 362, with ECC on 382), two SCSI drive bays (usually HD and SCSI floppy), serial, parallel (not currently supported by NetBSD), HPIB, sound, HP-HIL, one DIO-I slot, and a VGA-style video connector. The 362 has 2 SIMM slots and you can install SIMMs one at a time. The 382 has 4 SIMM slots and you must install in pairs. Both models accept only 1, 4, and 8 MB SIMMs.
382 has three serial ports using the Utility Chip like the Series 400 models. Only one is accessible unless you build or buy the special cable.
362 has only 640x480 8bpp VGA like graphics chip. 382 was shipped with three different graphics chipsets (all 8 bpp): 640x480 at 60 Hz, 1024x768 at 75 Hz, and 1280x1024 at 72 Hz. These on-board graphics are not supported by NetBSD 5.x and prior, but you can install a DIO-I framebuffer and disable the on-board video (there's a jumper on the motherboard).
Since the system was designed as a controller, Ethernet and external SCSI are optional and are in the form of a small card that plugs into the motherboard. The card is roughly the size of two PCMCIA cards stacked together. You can, of course, use a DIO-I Ethernet card.
Oddly, the motherboard is the same shape and size as a DIO-II card and has DIO-II connectors. Jarkko Teppo reports that you can even put the motherboard into a normal DIO-II chassis and use it as a "normal" Series 300 system. The only problem he encountered was the physical size of the Ethernet option. See Jarkko Teppo's report for more info.
This is the output of one of a set of temporary, informational only, exception handlers installed by the Boot ROM before an OS has been loaded. The address printed varies depending on the type of exception. The most likely cause here is trying to boot a kernel that is incompatible with the hardware. You will get something like this, for example, if you attempt to boot an HP-UX 7.0 or earlier kernel on a 68040 machine (which requires at least 7.05). If you're going to install NetBSD, you probably don't need to worry about this message, though it is possible (but unlikely) that it indicates hardware trouble or a corrupt bootloader.
Boot ROM Information
All the early hp300 Boot ROMs are very primitive and only allow a few simple operations. You can only interact with it after it is first powered on -- if you reboot the machine, it will ignore anything you type and start loading the same OS you previously booted.
At any time after it recognizes the keyboard, while it is doing its self
test or searching for a
bootable system, you can hit
reset to return it to a cold-boot
configuration. On HIL keyboards, this is
break is the key in the upper left (where escape is on sane
keyboards). There is no equivalent over serial terminal -- you'll need to
power-cycle your machine.
After it beeps (i.e. recognizes the HIL keyboard), press
<return> twice to get the list of bootable devices.
To perform simple hardware checks, hit
it starts booting an OS. You can then type
T to perform an
extended self test or
L to perform the extended self test
infinitely until it finds a fatal error or
L is typed again.
The newer HP Boot ROM, present on Series 400 machines and some of
the later 300s (345, 362, 375, 380, 382, 385) is capable of a little bit more.
To select which device to boot from, press
beeps twice (i.e. recognizes the HIL keyboard). To get to a configuration
and test menu, press:
This will allow you to configure interrupt levels, select codes, and
serial console properties. You can also hit
get to a menu of extended tests with several fancy options.
For more information, Michael Wolfson has scanned in parts of the HP Apollo 9000 Series 400 HP-UX Owner's Guide, which has some good information on this topic. Also, the HP Computer Museum has various useful manuals and informations for many HP 9000 models.
From the Configuration Reference Manual, 98561-90020:
Revision A Boot ROM Specifications
The boot ROM can load a ROM system or a file from a LIF or SRM "SYSTEM" type file having a name of the form SYSa, where "a" is typically an ASCII letter, but may be any character legal in a file name.
ROM systems are assigned a single letter ID (only "B", for BASIC, is presently supported on Series 300).
All system files found are assigned an ID of the form "nna", where "a" is either the same letter "a" mentioned above (if an ASCII letter), or "Z" (if not an ASCII letter). "nn" is a number of the form " 1" to "99" denoting the order of occurrence of systems which result in the same ID letter "a". The range of system IDs is " 1A" to "99Z".
The boot ROM loads the first system found unless characters (other than that system's ID) are typed on the boot control keyboard (see below). The search order used by the boot ROM is:
For select codes 7 thru 31: disc or tape (HPIB) at bus address 0, unit 0, volume 0
SRM at select code 21, node 0, volume 8, "/SYSTEMS" directory
98259A Bubble system at select code 30
98255 EPROM "disc"-type system at unit 0 (lowest address of all 98255s installed)
ROM systems (from lowest to highest ROM address)
For select codes 0 thru 31, bus addresses 0 to 7, units 0 to 16, volumes 0 to 7: all remaining discs or tapes (HPIB)
For select codes 0 thru 31, nodes 1 thru 62, volumes 1 to 50: any other SRM system files in "/SYSTEMS" directories
For select codes 0 thru 29, and 31: remaining 98255 Bubble systems
Remaining 98255 "disc"-type EPROM units.
Revision B and later also support booting over the network, using a 98643 card or built-in Ethernet. For older systems, the best choice is to make your boot drive on HPIB at address 0. Remember, you'll need to capitalize the letters.
Newer Boot ROM Search Order
The newer machines (Models 345, 362, 375, 380, 382, 385, and Series 400) have a different boot order. From HP Apollo 9000 Series 400 HP-UX Owner's Guide, A1630-90006:
The Scan for Systems selection searches mass storage devices for an operating system to boot. The first mass storage device found with an HP-UX Compatible operating system on it boots. Mass storage devices are searched by the priority shown in this table.
|Priority Level||Device||Select Code||Bus Address||Unit Number|
|9||SRM||Other than 14||N/A||N/A|
|10||LAN||Other than 21||N/A||N/A|
|11||Bubble RAM||Other than 30||N/A||N/A|
|12||EEPROM||Other than 0||N/A||0|
So, for these newer systems, your best bet is to make your boot drive a SCSI drive at address 6 (7 is the system controller on the motherboard).
This step is necessary, since NetBSD can only boot a Series 400 machine when it's set up in "HP-UX Compatible Boot Mode". If, when you power on your machine, it does not present a menu as follows, then you need to follow the instructions below:
Copyright 1990, Hewlett-Packard Company. All Rights Reserved. BOOTROM Series 400 Rev. 1.1 MD12 REV 1.2 1990/08/07.14:27:08 MC68030 Processor MC68882 Coprocessor Configuration EEPROM Utility Chip at 41 HP-HIL.Keyboard [...]
First, you'll need either a Domain keyboard or a HIL keyboard (the Boot
ROM knows how to use either, even if NetBSD doesn't yet).
Now, put your machine into "service mode". For a 4XXs, there's a toggle
switch on the back of the machine (near the top). For a 4XXt or 4XXdl,
there's a green button on the front, behind the silly door. For a 425e,
there's a toggle switch on the back of the machine (in the middle).
Once you're in "service mode", the other
green LED will light up. Reset the machine. You may then need to hit
return to get the Domain boot prompt. At that prompt, you can type
H to get a list of available commands. You need to type
the following things to convert to HP-UX mode:
CF 2 2 P E
This is the full procedure captured from a serial console.
Be sure to turn off "service mode" when you're done. I found it prevented me from selecting which device I wanted to boot from.
Michael Wolfson has images of the HP 425/433 Boot ROM in HP-UX mode. This is necessary when upgrading a 400 to a 425/433
See The fatmac HP9000/300 guide for instructions on upgrading.
Serial Port Information
NetBSD -current has switched to using the com(4) driver for
devices. This covers all built-in serial ports and some DIO serial
interfaces. With this change, the device files have changed. All DCA and
APCI serial ports are
/dev/ttyC and all DCM serial ports
The APCI device (found on-board Series 400 systems) is a four-port serial mux interface. The first port connects directly with the Domain keyboard. The second port is accessible using normal DB25 pinouts and acts as the serial console (when set). The remaining two ports require use of a break-out cable.
Additionally, see the NetBSD Serial Port Primer for information on the wiring and pinouts of various serial cables.
|device name||location||pre-2.0 device file||max speed||hardware handshaking||FIFO||serial console||comments|
318, 319, 320, 330, 340, 350, 360, 370
located on Human/System Interface board, requires special cable
||built-in||/dev/tty0||38400||yes||yes||config Boot ROM||
345, 362, 375, 380, 382, 385, 400 Series (except 425e)
located on motherboard
||built-in||/dev/ttya0 /dev/ttya1||19200||yes||no||no, (425e: yes)||
382, 400 Series
requires break-out cable
||98644A DIO-I card||/dev/ttyN||19200||yes||no||DIP switches||hardware handshaking only for transmit|
||98626A DIO-I card||/dev/ttyN||19200||yes||no||DIP switches||hardware handshaking only for transmit|
|dcmN||98642A DIO-I card||/dev/tty0[0-3]||19200||yes||yes, 128/16 bytes||DIP switches||Only port 0 has flow control, only port 1 does console Uses RJ-11 jacks|
|dcmN dcmN+1||98638 DIO-II card||/dev/tty0[0-3], /dev/tty0[4-7]||19200||yes||yes, 127/16 bytes||no||Appears to kernel as two 98642 boards|
|dclN, (not supported)||98628A DIO-I card||/dev/ttyN||19200||yes||yes, 256 bytes||jumper||weird centronics connector goes to normal db25|
Turn off power to your system before removing any cards. Remove the card with the serial interface.
Locate the bank of 4 DIP switches, One of them should be labeled REM, Set the switch to ?
Locate the middle bank of DIP switches (4 switches), The third switch is labeled REM, Set the switch to one (depress the end labeled one), Note: you need a special cable
Locate the jumper by the two banks of DIP switches, Remove the jumper
Locate the bank of DIP switches by the card-edge connector, The last switch (labeled 7) is the remote switch, Set the switch to zero (depress the end labeled zero)
Locate the 8 DIP switches, The first switch (labeled 1) is the remote switch, Set the switch to one (slide the bump to one). Note: According to the manual, the Boot ROM on older machines does not know how to use this for console, but NetBSD (and HP-UX) will, so you won't see anything until the bootloader loads.
Locate the 10 DIP switches, The last switch (labeled 1) is the remote switch. Set the switch to one (depress the end labeled one)
Now, reinsert the card and power on your machine. All console messages will be sent over the serial port at 9600 bps, 8 bits, no parity, 1 stop bit. Theoretically, you should be using a null-modem cable, but I found that for my 98562, I needed a non-null modem cable.
Turn off power to your system. There are four DIP switches visible through the rear panel, flip the third switch from the left to one. Turn on your system.
This procedure does not work on the 425e, since it does not support serial console in the Boot ROM.
Wait until your system beeps twice (this is to let
you know it's
recognized the keyboard). Type
C<return> and wait
until the configuration menu shows up. Then type in the following set of
1 5 3 R X N
This is the full procedure captured from a serial console on my 400s. This is the procedure captured from a serial console on Ian Clark's 380 (and should be the same on any 345, 362 375, 380, 382, or 385). The number you type for selecting the serial settings in the menu might be different on 362 or 382 models without the optional Ethernet.
Now, your machine will reset and then send all console messages over the serial port at 9600 bps, 8 bits, no parity, 1 stop bit. Use a null-modem cable.
If you want to convert from serial console to monitor/keyboard console,
follow the same procedure, except type
L instead of
You may also temporarily override this setting by typing
your system beeps twice and recognizes the keyboard. This will work even
if you have a Domain keyboard.
Since the hardware takes care of this console, you do not add an
entry for the console in
/etc/ttys. That would be bad.
Build the funky cable. Otherwise, just using a normal DB25 serial cable will work fine if you only want one serial port.
Yes. A normal DB9<->DB25 adaptor will not work. This cable is HP part number 98561-61604.
Other sources of information
HP9000/300 hardware FAQ - maintained by Ross Sponholtz.
The fatmac HP9000/300 guide - made available by Michael Wolfson
port-hp300 mail list - if you have any additional questions please subscribe.
General NetBSD Documentation - questions not specific to NetBSD/hp300.
Back to NetBSD/hp300 Port Page