1: [[!meta title="NetBSD/hp300 Frequently Asked Questions"]]
2:
3: [[!toc startlevel=1 levels=2]]
4:
5: * * * * *
6:
7: # General Questions
8:
9: ## My screen went black after some initial bootrom messages
10:
11: This means your framebuffer is not supported. Hook up a serial terminal,
12: 9600 bps, 8 bits, no parity, 1 stop bit, xon/xoff flow control.
13:
14: Contact <mailto:port-hp300@NetBSD.org> if you'd like to work on
15: writing a driver for your framebuffer.
16:
17: ## Can NetBSD/hp300 boot across the network?
18:
19: HP 9000/300-series workstations support network booting with Boot ROM
20: Revision B or later. (This includes any Boot ROM with a numeric
21: revision). The HP Boot ROM uses the **HP Remote Maintainance Protocol**
22: to download the boot code from the server. The server must run a daemon
23: capable of responding to HP RMP boot requests. If your server runs
24: NetBSD, it has
25: *[[!template id=man name="rbootd" section="8"]]*
26: in the base system. If your server runs another OS, like Linux or
27: Solaris, you can try [YAMAMORI Takenori's *sun-rbootd*
28: package](http://www15.big.or.jp/~yamamori/sun/netbsd-hp_e.html).
29:
30: To set up your NetBSD/hp300 workstation, follow the
31: *[[!template id=man name="diskless" section="8"]]*
32: man page. For more detailed instructions, see the [Diskless
33: HOW-TO](//www.NetBSD.org/docs/network/netboot/) and its
34: [Setting up the rbootd server section](//www.NetBSD.org/docs/network/netboot/rbootd/).
35:
36: ## How can I change Ethernet media types on 4xx models?
37:
38: Series 400 machines have two Ethernet media types built into the
39: motherboard. You may only use one at a time. When your Series 400
40: workstation goes through the self-test when powered on or rebooted, it
41: will say one of the following:
42:
43: [[!template id=programlisting text="""
44: HP98643 (LAN) at 21, AUI
45: HP98643 (LAN) at 21, Thin
46: """]]
47:
48: If the wrong type of network is selected, you will need to change the
49: Ethernet port. You will need to open the case (4XXt, 4XXdl, 4XXe) or
50: remove the motherboard (4XXs) to access the jumper. Be sure to use
51: static-prevention measures, as you could easily fry your motherboard
52: from carelessness. If you are uncomfortable with this, ask a friend who
53: is aware of these issues. There is a block of 8 jumpers at the rear of
54: the motherboard, labeled AUI/Thin. You will need to put the jumpers in
55: the position necessary for your type of Ethernet.
56:
57: ## What `TERM` type is needed for the console?
58:
59: If you're using a local console on NetBSD 5.x or prior, and you're
60: running csh or tcsh, you'll need to make sure you run:
61:
62: [[!template id=programlisting text="""
63: setenv TERM hp300h
64: """]]
65:
66: Otherwise many things won't work, including vi.
67:
68: On NetBSD -current with wscons support (including future 6.0 and later
69: releases), use `wsvt25` for `TERM` environment variable as
70: other wscons ports.
71:
72: ## What is the situation with X11 on the hp300?
73:
74: NetBSD 5.x includes all X11R6 clients, but there is no functional
75: server.
76:
77: NetBSD 6.0 (and later releases) will have Xorg server based on generic
78: wsfb driver.
79:
80: ## Models 345 and 425e having problems with internal hard drives
81:
82: The SCSI cable in these models is **not** notched to specify which way
83: it should be plugged in. The symptom is being unable to boot due to a
84: SCSI register test failing. If you are *certain* that your hard drive
85: works properly on another machine, then flip one end of the SCSI cable
86: over.
87:
88: The only other models that accept internal hard drives are the 362, 382,
89: 4XXt, and 4XXs which do not have this uncertainty in cabling.
90:
91: ## What are the Model 362 and 382?
92:
93: These models were designed as instrument controllers, unlike the rest of
94: the Series 300 and Series 400 systems which were intended as
95: workstations or servers. The 362 and 382 are 19" rackmount units with
96: very PC-like properties.
97:
98: They have 72 pin SIMM slots (with parity on 362, with ECC on 382), two
99: SCSI drive bays (usually HD and SCSI floppy), serial, parallel (not
100: currently supported by NetBSD), HPIB, sound, HP-HIL, one DIO-I slot, and
101: a VGA-style video connector. The 362 has 2 SIMM slots and you can
102: install SIMMs one at a time. The 382 has 4 SIMM slots and you must
103: install in pairs. Both models accept only 1, 4, and 8 MB SIMMs.
104:
105: 382 has three serial ports using the Utility Chip like the Series 400
106: models. Only one is accessible unless you build or buy the [special
107: cable](#serialsplit).
108:
109: 362 has only 640x480 8bpp VGA like graphics chip. 382 was shipped with
110: three different graphics chipsets (all 8 bpp): 640x480 at 60 Hz,
111: 1024x768 at 75 Hz, and 1280x1024 at 72 Hz. These on-board graphics are
112: not supported by NetBSD 5.x and prior, but you can install a DIO-I
113: framebuffer and disable the on-board video (there's a jumper on the
114: motherboard).
115:
116: Since the system was designed as a controller, Ethernet and external
117: SCSI are optional and are in the form of a small card that plugs into
118: the motherboard. The card is roughly the size of two PCMCIA cards
119: stacked together. You can, of course, use a DIO-I Ethernet card.
120:
121: Oddly, the motherboard is the same shape and size as a DIO-II card and
122: has DIO-II connectors. Jarkko Teppo reports that you can even put the
123: motherboard into a normal DIO-II chassis and use it as a "normal" Series
124: 300 system. The only problem he encountered was the physical size of the
125: Ethernet option. See [Jarkko Teppo's
126: report](//mail-index.NetBSD.org/port-hp300/1999/07/16/0000.html)
127: for more info.
128:
129: ## What does 'UNEXPECTED USE OF FFFFFFC4' mean?
130:
131: This is the output of one of a set of temporary, informational only,
132: exception handlers installed by the Boot ROM before an OS has been
133: loaded. The address printed varies depending on the type of exception.
134: The most likely cause here is trying to boot a kernel that is
135: incompatible with the hardware. You will get something like this, for
136: example, if you attempt to boot an HP-UX 7.0 or earlier kernel on a
137: 68040 machine (which requires at least 7.05). If you're going to install
138: NetBSD, you probably don't need to worry about this message, though it
139: is possible (but unlikely) that it indicates hardware trouble or a
140: corrupt bootloader.
141:
142: * * * * *
143:
144: # Boot ROM Information
145:
146: ## What commands does the HP Boot ROM understand?
147:
148: All the early hp300 Boot ROMs are very primitive and only allow a few
149: simple operations. You can only interact with it after it is first
150: powered on -- if you reboot the machine, it will ignore anything you
151: type and start loading the same OS you previously booted.
152:
153: At any time after it recognizes the keyboard, while it is doing its self
154: test or searching for a bootable system, you can hit `reset` to
155: return it to a cold-boot configuration. On HIL keyboards, this is
156: `<control>-<shift>-break`, where `break` is the key in the
157: upper left (where escape is on sane keyboards). There is no equivalent
158: over serial terminal -- you'll need to power-cycle your machine.
159:
160: After it beeps (i.e. recognizes the HIL keyboard), press
161: `<return>` twice to get the list of bootable devices. To perform
162: simple hardware checks, hit `<control>-C` before it starts
163: booting an OS. You can then type `T` to perform an extended self
164: test or `L` to perform the extended self test infinitely until it
165: finds a fatal error or `L` is typed again.
166:
167: The newer HP Boot ROM, present on Series 400 machines and some of the
168: later 300s (345, 362, 375, 380, 382, 385) is capable of a little bit
169: more. To select which device to boot from, press `<return>` once,
170: after it beeps twice (i.e. recognizes the HIL keyboard). To get to a
171: configuration and test menu, press:
172:
173: [[!template id=programlisting text="""
174: C <return>
175: """]]
176:
177: This will allow you to configure interrupt levels, select codes, and
178: serial console properties. You can also hit `<control>-C` to get
179: to a menu of extended tests with several fancy options.
180:
181: For more information, Michael Wolfson has scanned in parts of the [HP
182: Apollo 9000 Series 400 HP-UX Owner's
183: Guide](http://www.nosflow.com/~mw/hp300/400.manual/), which has some
184: good information on this topic. Also, the [HP Computer
185: Museum](http://www.hpmuseum.net/index.php) has various useful manuals
186: and informations for many HP 9000 models.
187:
188: ## What order does the Boot ROM use to search for bootable devices?
189:
190: From the *Configuration Reference Manual*, 98561-90020:
191:
192: **Revision A Boot ROM Specifications**
193:
194: The boot ROM can load a ROM system or a file from a LIF or SRM "SYSTEM"
195: type file having a name of the form SYSa, where "a" is typically an
196: ASCII letter, but may be any character legal in a file name.
197:
198: ROM systems are assigned a single letter ID (only "B", for BASIC, is
199: presently supported on Series 300).
200:
201: All system files found are assigned an ID of the form "nna", where "a"
202: is either the same letter "a" mentioned above (if an ASCII letter), or
203: "Z" (if not an ASCII letter). "nn" is a number of the form " 1" to "99"
204: denoting the order of occurrence of systems which result in the same ID
205: letter "a". The range of system IDs is " 1A" to "99Z".
206:
207: The boot ROM loads the first system found unless characters (other than
208: that system's ID) are typed on the boot control keyboard (see below).
209: The search order used by the boot ROM is:
210:
211: - For select codes 7 thru 31: disc or tape (HPIB) at bus address 0,
212: unit 0, volume 0
213:
214: - SRM at select code 21, node 0, volume 8, "/SYSTEMS" directory
215:
216: - 98259A Bubble system at select code 30
217:
218: - 98255 EPROM "disc"-type system at unit 0 (lowest address of all
219: 98255s installed)
220:
221: - ROM systems (from lowest to highest ROM address)
222:
223: - For select codes 0 thru 31, bus addresses 0 to 7, units 0 to 16,
224: volumes 0 to 7: all remaining discs or tapes (HPIB)
225:
226: - For select codes 0 thru 31, nodes 1 thru 62, volumes 1 to 50: any
227: other SRM system files in "/SYSTEMS" directories
228:
229: - For select codes 0 thru 29, and 31: remaining 98255 Bubble systems
230:
231: - Remaining 98255 "disc"-type EPROM units.
232:
233: Revision B and later also support booting over the network, using a
234: 98643 card or built-in Ethernet. For older systems, the best choice is
235: to make your boot drive on HPIB at address 0. Remember, you'll need to
236: capitalize the letters.
237:
238: **Newer Boot ROM Search Order**
239:
240: The newer machines (Models 345, 362, 375, 380, 382, 385, and Series 400)
241: have a different boot order. From *HP Apollo 9000 Series 400 HP-UX
242: Owner's Guide*, A1630-90006:
243:
244: > The Scan for Systems selection searches mass storage devices for an
245: > operating system to boot. The first mass storage device found with an
246: > HP-UX Compatible operating system on it boots. Mass storage devices
247: > are searched by the priority shown in this table.
248:
249: [[!table data="""
250: Priority Level |Device |Select Code |Bus Address |Unit Number
251: 1 |SCSI |0-31 |7-5 |0
252: 2 |HP-IB |0-31 |7-5 |0
253: 3 |SRM |14 |N/A |N/A
254: 4 |LAN |21 |N/A |N/A
255: 5 |Bubble RAM |30 |N/A |N/A
256: 6 |EEPROM |N/A |N/A |0
257: 7 |SCSI |0-31 |4-0 |0
258: 8 |HP-IB |0-31 |4-0 |0
259: 9 |SRM |Other than 14 |N/A |N/A
260: 10 |LAN |Other than 21 |N/A |N/A
261: 11 |Bubble RAM |Other than 30 |N/A |N/A
262: 12 |EEPROM |Other than 0 |N/A |0
263: """]]
264:
265: So, for these newer systems, your best bet is to make your boot drive a
266: SCSI drive at address 6 (7 is the system controller on the motherboard).
267:
268: It is also possible to configure the Boot ROM to default to a specific
269: device from the configuration menu.
270:
271: ## Switching your Series 400 machine from Domain to "HP-UX Compatible Boot Mode"<a name="domaintohpux"></a>
272:
273: This step is necessary, since NetBSD can only boot a Series 400 machine
274: when it's set up in "HP-UX Compatible Boot Mode". If, when you power on
275: your machine, it does **not** present a menu as follows, then you need
276: to follow the instructions below:
277:
278: [[!template id=programlisting text="""
279: Copyright 1990,
280: Hewlett-Packard Company.
281: All Rights Reserved.
282:
283: BOOTROM Series 400 Rev. 1.1
284: MD12 REV 1.2 1990/08/07.14:27:08
285: MC68030 Processor
286: MC68882 Coprocessor
287: Configuration EEPROM
288: Utility Chip at 41
289: HP-HIL.Keyboard
290: [...]
291: """]]
292:
293: First, you'll need either a Domain keyboard or a HIL keyboard (the Boot
294: ROM knows how to use either, even if NetBSD doesn't yet). Now, put your
295: machine into "service mode". For a 4XXs, there's a toggle switch on the
296: back of the machine (near the top). For a 4XXt or 4XXdl, there's a green
297: button on the front, behind the silly door. For a 425e, there's a toggle
298: switch on the back of the machine (in the middle). Once you're in
299: "service mode", the other green LED will light up. Reset the machine.
300: You may then need to hit return to get the Domain boot prompt. At that
301: prompt, you can type `H` to get a list of available commands. You
302: need to type the following things to convert to HP-UX mode:
303:
304: [[!template id=programlisting text="""
305: CF
306: 2
307: 2
308: P
309: E
310: """]]
311:
312: [[This|domain.commands]] is the full procedure captured from a
313: serial console.
314:
315: Be sure to turn **off** "service mode" when you're done. I found it
316: prevented me from selecting which device I wanted to boot from.
317:
318: ## Where could I get a more recent Boot ROM for my 400s or 400t?
319:
320: Michael Wolfson has images of the HP 425/433 Boot ROM in HP-UX mode.
321: This is necessary when upgrading a 400 to a 425/433
322:
323: See [The fatmac HP9000/300
324: guide](http://www.nosflow.com/~mw/hp300/upgrade/) for instructions on
325: upgrading.
326:
327: * * * * *
328:
329: # Serial Port Information
330:
331: ## What are the different types of serial ports, and how do I access them?
332:
333: NetBSD -current has switched to using the [[!template id=man name="com" section="4"]]
334: driver for [[!template id=man name="dca" section="4" arch="hp300" collection="NetBSD-1.6.2"]]
335: and [[!template id=man name="apci" section="4" arch="hp300" collection="NetBSD-1.6.2"]] devices. This
336: covers all built-in serial ports and some DIO serial interfaces. With
337: this change, the device files have changed. All DCA and APCI serial
338: ports are `/dev/ttyC[0123]` and all DCM serial ports are
339: `/dev/ttyM[0123]`.
340:
341: The APCI device (found on-board Series 400 systems) is a four-port
342: serial mux interface. The first port connects directly with the Domain
343: keyboard. The second port is accessible using normal DB25 pinouts and
344: acts as the serial console (when set). The remaining two ports require
345: use of a break-out cable.
346:
347: Additionally, see the [NetBSD Serial Port
348: Primer](//www.NetBSD.org/docs/Hardware/Misc/serial.html) for
349: information on the wiring and pinouts of various serial cables.
350: See also the [[!template id=man name="com" section="4"]],
351: and [[!template id=man name="dcm" section="4" arch="hp300"]]
352: manual pages, as well as the
353: [[!template id=man name="dcl" section="4" arch="hp300" collection="NetBSD-1.5.3"]]
354: manual page from NetBSD 1.5.3.
355:
356:
357: [[!table data="""
358: *device name* |*location* |*pre-2.0 device file* |*max speed* |*hardware handshaking* |*FIFO* |*serial console* |*comments*
359: `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]])
360: `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
361: `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]]
362: `comN`<br />*(formerly `dcaN`)* |98644A DIO-I card |/dev/ttyN |19200 |yes |no |DIP switches |hardware handshaking only for transmit
363: `comN`<br />*(formerly `dcaN`)* |98626A DIO-I card |/dev/ttyN |19200 |yes |no |DIP switches |hardware handshaking only for transmit
364: `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
365: `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
366: `dclN`<br />*(not supported)* |98628A DIO-I card |/dev/ttyN |19200 |yes |yes, 25 bytes |jumper |weird centronics connector goes to normal db25
367: """]]
368:
369: ## Setting up a serial console on a 98561, 98562, 98626, 98628, 98642, or 98644
370:
371: Turn off power to your system before removing any cards. Remove the card
372: with the serial interface.
373:
374: - **`98561-66530`** (Human Interface)
375:
376: Locate the bank of 4 DIP switches, One of them should be labeled
377: REM, Set the switch to ?
378:
379: - **`98562`** (System Interface)
380:
381: Locate the middle bank of DIP switches (4 switches), The third
382: switch is labeled REM, Set the switch to one (depress the end
383: labeled one), *Note: you need a [[special cable|dca.cable]]*
384:
385: - **`98626`** (dca)
386:
387: Locate the jumper by the two banks of DIP switches, Remove the
388: jumper
389:
390: - **`98628`** (dcl)
391:
392: Locate the bank of DIP switches by the card-edge connector, The last
393: switch (labeled 7) is the remote switch, Set the switch to zero
394: (depress the end labeled zero)
395:
396: - **`98642`** (dcm)
397:
398: Locate the 8 DIP switches, The first switch (labeled 1) is the
399: remote switch, Set the switch to one (slide the bump to one). *Note:
400: According to the manual, the Boot ROM on older machines does not
401: know how to use this for console, but NetBSD (and HP-UX) will, so
402: you won't see anything until the bootloader loads.*
403:
404: - **`98644`** (dca)
405:
406: Locate the 10 DIP switches, The last switch (labeled 1) is the
407: remote switch. Set the switch to one (depress the end labeled one)
408:
409: Now, reinsert the card and power on your machine. All console messages
410: will be sent over the serial port at 9600 bps, 8 bits, no parity, 1 stop
411: bit. Theoretically, you should be using a null-modem cable, but I found
412: that for my 98562, I needed a non-null modem cable.
413:
414: ## Setting up serial console on a Model 340
415:
416: Turn off power to your system. There are four DIP switches visible
417: through the rear panel, flip the third switch from the left to one. Turn
418: on your system.
419:
420: Now, all console messages will be sent over the serial port at 9600 bps,
421: 8 bits, no parity, 1 stop bit.
422:
423: ## Setting up serial console on a Series 400 machine or a 345, 362, 375, 380, 382, or 385<a name="serial400"></a>
424:
425: This procedure does not work on the 425e, since it does not support
426: serial console in the Boot ROM.
427:
428: Wait until your system beeps twice (this is to let you know it's
429: recognized the keyboard). Type `C<return>` and wait until the
430: configuration menu shows up. Then type in the following set of commands:
431:
432: [[!template id=programlisting text="""
433: 1
434: 5
435: 3
436: R
437: X
438: N
439: """]]
440:
441: [[This|serialconsole]] is the full procedure captured from a serial
442: console on my 400s. [[This|serialconsole380]] is the procedure
443: captured from a serial console on Ian Clark's 380 (and should be the
444: same on any 345, 362 375, 380, 382, or 385). The number you type for
445: selecting the serial settings in the menu might be different on 362 or
446: 382 models without the optional Ethernet.
447:
448: Now, your machine will reset and then send all console messages over the
449: serial port at 9600 bps, 8 bits, no parity, 1 stop bit. Use a null-modem
450: cable.
451:
452: If you want to convert from serial console to monitor/keyboard console,
453: follow the same procedure, except type `L` instead of `R`.
454:
455: You may also *temporarily* override this setting by typing
456: `L<return>` or `R<return>` after your system beeps twice
457: and recognizes the keyboard. This will work even if you have a Domain
458: keyboard.
459:
460: Since the hardware takes care of this console, you do **not** add an
461: entry for the console in `/etc/ttys`. That would be bad.
462:
463: ## How do I build the cable to get at the hidden serial ports on a Series 400 machine? <a name="serialsplit"></a>
464:
465: Build the funky [[cable|serial.splitter]]. Otherwise, just using a
466: normal DB25 serial cable will work fine if you only want one serial
467: port.
468:
469: ## Does my System Interface Board really need a special DB9 serial cable?
470:
471: Yes. A normal DB9<->DB25 adaptor will *not* work. This cable is HP
472: part number [[98561-61604|dca.cable]].
473:
474: * * * * *
475:
476: # Other sources of information
477:
478: ## Other sources of information
479:
480: - [HP9000/300 hardware
481: FAQ](http://www.nosflow.com/~mw/hp300/FAQ/rossspon/hp300faq.htm) -
482: maintained by Ross Sponholtz.
483:
484: - [The fatmac HP9000/300 guide](http://www.nosflow.com/~mw/hp300/) -
485: made available by Michael Wolfson
486:
487: - [hp300 series HW brain dump by Mike
488: Hibler](//mail-index.NetBSD.org/port-hp300/1994/12/15/0007.html)
489:
490: - [HP Computer Museum](http://www.hpmuseum.net/index.php)
491:
492: - [Diskless NetBSD HOW-TO](//www.NetBSD.org/docs/network/netboot/)
493:
494: - [NetBSD Serial Port Primer](//www.NetBSD.org/docs/Hardware/Misc/serial.html)
495:
496: - [port-hp300 mail list](//www.NetBSD.org/mailinglists/#port-hp300) - if you have
497: any additional questions please subscribe.
498:
499: - [General NetBSD Documentation](//www.NetBSD.org/docs/) - questions not specific
500: to NetBSD/hp300.
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb