NetBSD/hp300 Frequently Asked Questions

General Questions

Boot ROM Information

Serial Port Information

Other sources of information

General Questions

My screen went black after some initial bootrom messages

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.

Contact if you'd like to work on writing a driver for your framebuffer.

Can NetBSD/hp300 boot across the network?

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.

To set up your NetBSD/hp300 workstation, follow the diskless(8) man page. For more detailed instructions, see the Diskless HOW-TO and its Setting up the rbootd server section.

How can I change Ethernet media types on 4xx models?

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.

What TERM type is needed for the console?

hp300 now has wscons support. Use wsvt25 for the TERM environment variable, as on other wscons ports.

What is the situation with X11 on the hp300?

NetBSD supports Xorg with a server based on wsfb.

Models 345 and 425e having problems with internal hard drives

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.

What are the Model 362 and 382?

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

What commands does the HP Boot ROM understand?

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 <control>-<shift>-break, where 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 <control>-C before 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 <return> once, after it beeps twice (i.e. recognizes the HIL keyboard). To get to a configuration and test menu, press:

 C <return>

This will allow you to configure interrupt levels, select codes, and serial console properties. You can also hit <control>-C to 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.

What order does the Boot ROM use to search for bootable devices?

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
1 SCSI 0-31 7-5 0
2 HP-IB 0-31 7-5 0
3 SRM 14 N/A N/A
4 LAN 21 N/A N/A
5 Bubble RAM 30 N/A N/A
7 SCSI 0-31 4-0 0
8 HP-IB 0-31 4-0 0
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).

It is also possible to configure the Boot ROM to default to a specific device from the configuration menu.

Switching your Series 400 machine from Domain to "HP-UX Compatible Boot Mode"

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                      

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:


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.

Where could I get a more recent Boot ROM for my 400s or 400t?

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

What are the different types of serial ports, and how do I access them?

NetBSD -current has switched to using the com(4) driver for dca and apci 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[0123] and all DCM serial ports are /dev/ttyM[0123].

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
com0 (formerly dca0) built-in /dev/tty0 19200 no no DIP switches

318, 319, 320, 330, 340, 350, 360, 370

located on Human/System Interface board, requires special cable

com0 (formerly dca0) built-in /dev/tty0 38400 yes yes config Boot ROM

345, 362, 375, 380, 382, 385, 400 Series (except 425e)

located on motherboard

com1 com2 (formerly apciN) built-in /dev/ttya0 /dev/ttya1 19200 yes no no, (425e: yes)

382, 400 Series

requires break-out cable

comN (formerly dcaN) 98644A DIO-I card /dev/ttyN 19200 yes no DIP switches hardware handshaking only for transmit
comN (formerly dcaN) 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

Setting up a serial console on a 98561, 98562, 98626, 98628, 98642, or 98644

Turn off power to your system before removing any cards. Remove the card with the serial interface.

  • 98561-66530 (Human Interface)

    Locate the bank of 4 DIP switches, One of them should be labeled REM, Set the switch to ?

  • 98562 (System Interface)

    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

  • 98626 (dca)

    Locate the jumper by the two banks of DIP switches, Remove the jumper

  • 98628 (dcl)

    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)

  • 98642 (dcm)

    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.

  • 98644 (dca)

    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.

Setting up serial console on a Model 340

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.

Now, all console messages will be sent over the serial port at 9600 bps, 8 bits, no parity, 1 stop bit.

Setting up serial console on a Series 400 machine or a 345, 362, 375, 380, 382, or 385

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 commands:


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 R.

You may also temporarily override this setting by typing L<return> or R<return> after 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.

How do I build the cable to get at the hidden serial ports on a Series 400 machine?

Build the funky cable. Otherwise, just using a normal DB25 serial cable will work fine if you only want one serial port.

Does my System Interface Board really need a special DB9 serial cable?

Yes. A normal DB9<->DB25 adaptor will not work. This cable is HP part number 98561-61604.

Other sources of information

Other sources of information

Back to NetBSD/hp300 Port Page