Does anyone know anything about using the HP Integral modem, or have
software that's _known_ to work with it?
Today I tried the modem board (HP 82915) in my Integral. The machines
powers up OK, and the load_modem command finds it and loads the driver.
But any attempt to access /dev/modem00 (using stty, kermit (on the
super-utilities disk), etc) hangs the machine.
I decieded to do some investigating. Probing points on the I/O cards is
difficult with the machine assembled, and I don't have an extender board.
There is, however, a way to get good access to the boards, but it
involves a little work.
Remove the rear cover and rear screening plate over the logic assembly.
Unplug the 2 cables from the back of the floppy drive, remove the 3
screws and the drive itself. Remove the eject button and spring before
you lose them.
Undo the screws holding the logic chassis in place. Unplug the power
cables, HPIB cable, expansion backplane cable and HP-HIL cable from the
logic boards,Leave the other (printer) cables connected, move the logic
chssis towards the top of the machine.
Remove the HP-HIL grounding nut (through a hole in the expansion
backplane), then the 4 screws holding the PSU/expansion box in place.
Take that out
Undo all the screws and nuts holding the cover on this unit. Move the
cover out of the way
Undo the nut on the backplane earthing bracket, remove the 4 screws, the
bracket, and the backplane.
Reassmble and refit the PSU box (you don't need all the screws), plug the
cables back into the logic assembly (you can leave off the HPIB cable if
you're not using any HPIB peripherals at the time), plug in the expansion
backplane cable with the backplane hanging behind th PSU box.
Fit a couple of the logic chassis screws. Refit the floppy drive, hold it
in place with at least 1 of the top screws. Recoonect its cables.
The machine will run like that, and you can plug the expansion board into
the backplane and probe pins on it.
Now, to understand the next bit, you need to know a little about the
design of the modem.
The address decoder is simple. It responds to the slot-specific chip
select line from a decoder on the CPU board, and further decodes lines A6
and A5. It provides 4 chip-select signals
A6, A5 = 00 : Command/ID register. Bits 4-7 (only) used on write, to
select interrupt line, force and enable interrupts. On read, bits 4-7 are
much the same, bits 0-3 are a fixed ID value that identifies this as a
modem.
A6, A5 = 01 : Select 8250 serial chip. Address lines A1-A3 select the 8
registers in this chip in the usual way
A6, A5 = 10 or 11. One selects the modem Tx chip (16 internal registers
selected by A1-A4), the other selects the modem Rx chip (also 16
registers, selected by A1-A4).
Anyway, after probing pins on the address decoder circuit and repeateded
powering down/up the machine and running load_modem, I discovered that
the only 'register' that this command accesses is to read the ID
register, presumably to find a modem board. It does not attempt to
initialise the serial chip or the modem ICs.
I have the customer diagnostic disk. This also finds a modem, and I can
run the diagnostics on it. It pases. It also seems to write things to
various registers on the modem board (in particular, at the end of the
test, the 8250 is left set to 1200 baud, the baud_out pin (wired to the
Rclk input as usual) is running at 19200Hx). And it energises the line
relay a couple of times.
Any thoughts? Do I have an obscure hardware problem or just not the right
software?
-tony
Show replies by date