[[!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* package](http://www15.big.or.jp/~yamamori/sun/netbsd-hp_e.html). 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](//www.NetBSD.org/docs/network/netboot/) and its [Setting up the rbootd server section](//www.NetBSD.org/docs/network/netboot/rbootd/). ## 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 server. 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 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](#serialsplit). 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](//mail-index.NetBSD.org/port-hp300/1999/07/16/0000.html) 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 `--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 `` twice to get the list of bootable devices. To perform simple hardware checks, hit `-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 `` 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 <return> """]] This will allow you to configure interrupt levels, select codes, and serial console properties. You can also hit `-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](http://www.nosflow.com/~mw/hp300/400.manual/), which has some good information on this topic. Also, the [HP Computer Museum](http://www.hpmuseum.net/index.php) 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" 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 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: [[!template id=programlisting text=""" CF 2 2 P E """]] [[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](http://www.nosflow.com/~mw/hp300/upgrade/) 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 [[!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 `/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](//www.NetBSD.org/docs/Hardware/Misc/serial.html) 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`
*(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 [[dca.cable|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|serial.splitter]] `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](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`
*(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 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` and wait until the configuration menu shows up. Then type in the following set of commands: [[!template id=programlisting text=""" 1 5 3 R X N """]] [[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 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` or `R` 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|serial.splitter]]. 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|dca.cable]]. * * * * * # Other sources of information ## Other sources of information - [HP9000/300 hardware FAQ](http://www.nosflow.com/~mw/hp300/FAQ/rossspon/hp300faq.htm) - maintained by Ross Sponholtz. - [The fatmac HP9000/300 guide](http://www.nosflow.com/~mw/hp300/) - made available by Michael Wolfson - [hp300 series HW brain dump by Mike Hibler](//mail-index.NetBSD.org/port-hp300/1994/12/15/0007.html) - [HP Computer Museum](http://www.hpmuseum.net/index.php) - [Diskless NetBSD HOW-TO](//www.NetBSD.org/docs/network/netboot/) - [NetBSD Serial Port Primer](//www.NetBSD.org/docs/Hardware/Misc/serial.html) - [port-hp300 mail list](//www.NetBSD.org/mailinglists/#port-hp300) - if you have any additional questions please subscribe. - [General NetBSD Documentation](//www.NetBSD.org/docs/) - questions not specific to NetBSD/hp300.