File:  [NetBSD Developer Wiki] / wikisrc / ports / hp300faq.mdwn
Revision 1.7: download - view: text, annotated - select for diffs
Wed Sep 9 15:26:11 2020 UTC (23 months, 1 week ago) by kim
Branches: MAIN
CVS tags: HEAD
Use man template. Do not force scheme on links to www or mail-index.

[[!meta title="NetBSD/hp300 Frequently Asked Questions"]]

[[!toc startlevel=1 levels=2]]

* * * * *

# 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
*[[!template id=man name="rbootd" section="8"]]*
in the base system. If your server runs another OS, like Linux or
Solaris, you can try [YAMAMORI Takenori's *sun-rbootd*

To set up your NetBSD/hp300 workstation, follow the
*[[!template id=man name="diskless" section="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:

[[!template id=programlisting text="""
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?

If you're using a local console on NetBSD 5.x or prior, and you're
running csh or tcsh, you'll need to make sure you run:

[[!template id=programlisting text="""
setenv TERM hp300h

Otherwise many things won't work, including vi.

On NetBSD -current with wscons support (including future 6.0 and later
releases), use `wsvt25` for `TERM` environment variable as
other wscons ports.

## What is the situation with X11 on the hp300?

NetBSD 5.x includes all X11R6 clients, but there is no functional

NetBSD 6.0 (and later releases) will have Xorg server based on generic
wsfb driver.

## 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

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

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

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
for more info.

## What does 'UNEXPECTED USE OF FFFFFFC4' mean?

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:

[[!template id=programlisting text="""
 C &lt;return&gt;

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.

[[!table data="""
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
6		|EEPROM		|N/A		|N/A		|0
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"<a name="domaintohpux"></a>

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:

[[!template id=programlisting text="""
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:

[[!template id=programlisting text="""

[[This|domain.commands]] 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

* * * * *

# Serial Port Information

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

NetBSD -current has switched to using the [[!template id=man name="com" section="4"]]
driver for [[!template id=man name="dca" section="4" arch="hp300" collection="NetBSD-1.6.2"]]
and [[!template id=man name="apci" section="4" arch="hp300" collection="NetBSD-1.6.2"]] 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

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.
See also the [[!template id=man name="com" section="4"]],
and [[!template id=man name="dcm" section="4" arch="hp300"]]
manual pages, as well as the
[[!template id=man name="dcl" section="4" arch="hp300" collection="NetBSD-1.5.3"]]
manual page from NetBSD 1.5.3.

[[!table data="""
*device name*	|*location*	|*pre-2.0 device file*	|*max speed*	|*hardware handshaking*	|*FIFO*		|*serial console*	|*comments*
`com0`<br />*(formerly `dca0`)*	|built-in	|/dev/tty0	|19200		|no	|no	|DIP switches	|318, 319, 320, 330, 340, 350, 360, 370<br /><br />located on Human/System Interface board, requires [[dca.cable|special cable]])
`com0`<br />*(formerly `dca0`)*	|built-in	|/dev/tty0	|38400	|yes	|yes	|config Boot ROM	|345, 362, 375, 380, 382, 385, 400 Series *(except 425e)*<br /><br />located on motherboard
`com1` `com2`<br />*(formerly `apciN`)*	|built-in	|/dev/ttya0 /dev/ttya1	|19200	|yes	|no	|no, (425e: yes)	|382, 400 Series<br />requires [[break-out cable|serial.splitter]]
`comN`<br />*(formerly `dcaN`)*	|98644A DIO-I card	|/dev/ttyN	|19200	|yes	|no	|DIP switches	|hardware handshaking only for transmit
`comN`<br />*(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<br />[RJ-11](dcmpinouts.html) 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`<br />*(not supported)*	|98628A DIO-I card	|/dev/ttyN	|19200	|yes	|yes, 25 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|dca.cable]]*

-   **`98626`** (dca)

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

-   **`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<a name="serial400"></a>

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:

[[!template id=programlisting text="""

[[This|serialconsole]] is the full procedure captured from a serial
console on my 400s. [[This|serialconsole380]] 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

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

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? <a name="serialsplit"></a>

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

## 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|dca.cable]].

* * * * *

# Other sources of information

## Other sources of information

-   [HP9000/300 hardware
    FAQ]( -
    maintained by Ross Sponholtz.

-   [The fatmac HP9000/300 guide]( -
    made available by Michael Wolfson

-   [hp300 series HW brain dump by Mike

-   [HP Computer Museum](

-   [Diskless NetBSD HOW-TO](//

-   [NetBSD Serial Port Primer](//

-   [port-hp300 mail list](// - if you have
    any additional questions please subscribe.

-   [General NetBSD Documentation](// - questions not specific
    to NetBSD/hp300.

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb