Diff for /wikisrc/ports/hp300faq.mdwn between versions 1.1 and 1.6

version 1.1, 2012/12/20 14:44:58 version 1.6, 2014/01/13 09:43:28
Line 1 Line 1
 TODO  [[!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 <mailto:port-hp300@NetBSD.org> 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
   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
   man page. For more detailed instructions, see the [Diskless
   HOW-TO](http://www.NetBSD.org/docs/network/netboot/) and its
   [Setting up the rbootd server section](http://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
   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](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"<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](http://www.nosflow.com/~mw/hp300/upgrade/) 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
   driver for [dca](http://man.NetBSD.org/man/dca+4.hp300+NetBSD-1.6) and
   [apci](http://man.NetBSD.org/man/apci+4.hp300+NetBSD-1.6) 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](http://www.NetBSD.org/docs/Hardware/Misc/serial.html) for
   information on the wiring and pinouts of various serial cables.
   [[!table data="""
   *device name*   |*location*     |*pre-2.0 device file*  |*max speed*    |*hardware handshaking* |*FIFO*         |*serial console*       |*comments*
   [com](http://man.NetBSD.org/man/com+4.hp300)0 *(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 bable]])
   [com](http://man.NetBSD.org/man/com+4.hp300)0 *(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
   [com](http://man.NetBSD.org/man/com+4.hp300)1 [com](http://man.NetBSD.org/man/com+4.hp300)2 *(formerly `apciN`)*        |built-in       |/dev/ttya0 /dev/ttya1  |19200  |yes    |no     |no, (425e: yes)        |382, 400 Series<br />requires [[break-out cable|serial.splitter]]
   [com](http://man.NetBSD.org/man/com+4.hp300)N *(formerly `dcaN`)*       |98644A DIO-I card      |/dev/ttyN      |19200  |yes    |no     |DIP switches   |hardware handshaking only for transmit
   [com](http://man.NetBSD.org/man/com+4.hp300)N<br />*(formerly `dcaN`{)* |98626A DIO-I card      |/dev/ttyN      |19200  |yes    |no     |DIP switches   |hardware handshaking only for transmit
   [dcm](http://man.NetBSD.org/man/dcm+4.hp300)N   |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
   [dcm](http://man.NetBSD.org/man/dcm+4.hp300+NetBSD-current)N [dcm](http://man.NetBSD.org/man/dcm+4.hp300+NetBSD-current)N+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
   [dcl](http://man.NetBSD.org/man/dcl+4.hp300+NetBSD-current)N, *(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](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
   -   [HP Computer Museum](http://www.hpmuseum.net/index.php)
   -   [Diskless NetBSD HOW-TO](http://www.NetBSD.org/docs/network/netboot/)
   -   [NetBSD Serial Port Primer](http://www.NetBSD.org/docs/Hardware/Misc/serial.html)
   -   [port-hp300 mail list](http://www.NetBSD.org/mailinglists/#port-hp300) - if you have
       any additional questions please subscribe.
   -   [General NetBSD Documentation](http://www.NetBSD.org/docs/) - questions not specific
       to NetBSD/hp300.

Removed from v.1.1  
changed lines
  Added in v.1.6

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb