Menu
News
Project: Network Scanjet "Repair"

"Repairing" the HP Network Scanjet 5

Warning: The information on this page may damage your device permanently. Do not try this at home! You have been warned. We do not advise doing the things below, everything is provided for informational purposes only!
NSj5

Introduction

If you are really impatient, proceed to the links section.

The HP Network Scanjet 5 is a networked scanner. Basically, it consists of a PC, a scanner with automatic sheet feeder on top of it plus a text display (40x8) with a keypad. The whole idea is that the NSj5 communicates with a service daemon running on a NT server and together they are able to store the scanned pages in a user's home directory, send a fax, send it to any other application etc.
Unfortunately, the scanner stopped talking with that daemon and we were not able to make it work anymore. In addition, product support from HP for this device is virtually non existing, they stopped supporting it around mid 2000. Software is not available for Windows 2000 or even Windows 98. The existing software does not run or refuses to install on Windows 2000. This rendered the scanner worthless for us so we started to investigate the issue a bit further.
The following is a documentation of our struggles to make it work again. This is work in progress.

In the meantime, David S. Madole has managed to reverse-engineer the protocol for the display and keypad. His SJ5 now runs with FreeBSD and serves as digital sender and copyier!

Identified Components

Please note that the column "linux support" is not authorative. It barely reflects that a driver for a similar component or with a compatible chipset is available. That does not mean that it is supported in this configuration.

component
make
model

linux support
CPU
AMD
Am486 DE2-66V8THC
(no heat sink or fan)
cpu
yes
Memory
onboard
Mitsubishi
M5M44260CJ
708WD0V-7 (four chips)

2MB
memory
yes
Memory
PS/2
Mitsubishi
label:
MH25632CNXJ-7
Japan 549500
on chip:
M5M44260CJ
540SJ12-7 (two chips)

1MB
label
memory
yes
Board
HP(?)
JE7297
HPVOLTMOOPMG   -3A09
  label
board
yes
Chipset
Ali
M1487 B1
9629 TS6
AG1271SB

M1489 A1
9732 TS6
BA8170.1SE
chipset
chipset
yes
Networkcard
ISA
olicom
M-NO: 770000680
Ethernet ISA/IV Adapter
OC-2173
nic
yes
Networkchipset
intel
FA82595TX
L5274066
SZ756
chip
yes

intel eexpress pro
io=0x300,irq=3

while the driver attaches to
the card OK after ISA PNP
configuration, no network
packets go in or out


SCSI
onboard
adaptec
AIC-6360Q
CKKD721
711911
D3-18
adaptec
yes

adaptec aha152x
io=0x140,irq=10
disk drive
quantum
Fireball 1280AT
disk drive
yes
Scanner
HP
 C1301A Rev: 3610 Type: Processor

yes
Display / Control Panel
?
?
40x8
display
?
some serial displays are
supported...

Disassembling the unit

Turn the unit off and remove all cords (power, network, ADF, control panel). Place the unit so that you can easily access the rear side. Locate two screws marked with an arrow. Remove the screws. Make sure you don't lose any of the small parts. Don't mix screws. You should now be able to pull the tray out of the housing. The SCSI cable might block the way. Push the cable down while pulling the tray. To completely remove the tray disconnect the SCSI cable and the power cord for the actual scanner, lift the far end of the tray over the barrier while pulling it out of the case.

tray

The screw that fixates the network card is accessible from the left side: there is some space between the fan and the power supply. The hard drive is mounted with two screws. Disconnect the IDE and power cables. After removing the screws, lift the right hand side of the drive and move it sideways.


tray top view

The board features two ISA slots, one has a riser card in it which takes up the network card. The other one is empty but the slot is not accessible from the outside. Besides, there's not enough headroom for a normal card and the bracket would need to go through the bottom of the case. To the right hand side is a SCSI connector, close by is a PS/2 keyboard connector. Next to the AT power connector is the IDE connector located. Close by is a PS/2 memory socket. The socket hosts a single DIMM with 1MB RAM. The 2MB RAM onboard memory sit between the power supply and the PS/2 socket. Between the PS/2 socket and the backside is a connector that seems to be a serial port. The external port features additional power pins. The port is connected to the display and keyboard on top of the NSj5. This could be a serial terminal. The onboard SCSI chip is next to the ISA slot with the riser card.


The Disk

The disk is a 1.2GB IDE Quantum drive. The following partitions exist on it
Start
End
Blocks
ID
Type
Comment
1
11
22144+
4
FAT16 <32M
System Partition
12
620
1227744
5
Extended

12
620
1227712+
6
FAT16
Data Partition

The NSj5 seems to run a IBM ROM DOS operating system. For obvious copyright reasons we cannot present an image of the disk here. It is rather empty though: the used space is less than 13 MB.

This is a listing of all files:

C:\ibmbio.com
C:\ibmdos.com
C:\command.com
C:\autoexec.bat
C:\config.sys
C:\readmefw.txt
C:\reboot.exe
C:\version.txt
C:\volterra.bat
C:\diags\
C:\diags\adapter.bat
C:\diags\cf217x.exe
C:\diags\cfg3118.exe
C:\diags\findvg.exe
C:\diags\if_oli.com
C:\dos\
C:\dos\chkdsk.com
C:\dos\command.com
C:\dos\country.sys
C:\dos\display.sys
C:\dos\ega.cpi
C:\dos\emmnoxms.exe
C:\dos\format.com
C:\dos\himem.sys
C:\dos\keyb.com
C:\dos\keyboard.sys
C:\dos\mode.com
C:\dos\no_answ.txt
C:\dos\rom-dos.sys
C:\dos\sys.com
C:\dos\yes_answ.txt
C:\drivers\
C:\drivers\aspi2dos.sys
C:\drivers\cnfdrv.sys
C:\drivers\sjwhz.sys
C:\ftpd\
C:\ftpd\ftpd.exe
C:\ftpd\ftpd.msg
C:\ftpd\lwp.msg
C:\netware\
C:\netware\bind.vlm
C:\netware\conn.vlm
C:\netware\fio.vlm
C:\netware\general.vlm
C:\netware\hpfeodi.com
C:\netware\hpfeodi.isa
C:\netware\ipxncp.vlm
C:\netware\ipxodi.com
C:\netware\lsl.com
C:\netware\lwp.msg
C:\netware\mib2if.vlm
C:\netware\mib2prot.vlm
C:\netware\nds.vlm
C:\netware\net.tok
C:\netware\net1.eth
C:\netware\net2.eth
C:\netware\net3.eth
C:\netware\net4.eth
C:\netware\netx.vlm
C:\netware\nwp.vlm
C:\netware\oce2xodi.com
C:\netware\oce3xodi.com
C:\netware\octok16.com
C:\netware\redir.vlm
C:\netware\route.com
C:\netware\stpipx.com
C:\netware\stpudp.com
C:\netware\stpudp.msg
C:\netware\tran.vlm
C:\netware\vlm.exe
C:\netware\wsasn1.vlm
C:\netware\wsreg.vlm
C:\netware\wssnmp.vlm
C:\netware\wstrap.vlm
C:\netware\backup\
C:\netware\backup\net.tok
C:\netware\backup\net1.eth
C:\netware\backup\net2.eth
C:\netware\backup\net3.eth
C:\netware\backup\net4.eth
C:\netware\netlanw\
C:\netware\netlanw\tcpip.exe
C:\netware\netlanw\hstacc\
C:\netware\netlanw\hstacc\437-fix.map
C:\netware\netlanw\hstacc\437-fix.txt
C:\netware\netlanw\hstacc\437-iso.map
C:\netware\netlanw\hstacc\437-iso.txt
C:\netware\netlanw\hstacc\437-mlt.map
C:\netware\netlanw\hstacc\437-mlt.txt
C:\netware\netlanw\hstacc\850-fix.txt
C:\netware\netlanw\hstacc\850-iso.txt
C:\netware\netlanw\hstacc\850-mlt.txt
C:\netware\netlanw\hstacc\860-fix.txt
C:\netware\netlanw\hstacc\860-iso.txt
C:\netware\netlanw\hstacc\860-mlt.txt
C:\netware\netlanw\hstacc\863-fix.txt
C:\netware\netlanw\hstacc\863-iso.txt
C:\netware\netlanw\hstacc\863-mlt.txt
C:\netware\netlanw\hstacc\865-fix.txt
C:\netware\netlanw\hstacc\865-iso.txt
C:\netware\netlanw\hstacc\865-mlt.txt
C:\netware\netlanw\hstacc\enhmap.bin
C:\netware\netlanw\hstacc\extmap.bin
C:\netware\netlanw\hstacc\fonts.txt
C:\netware\netlanw\hstacc\hosttopc.map
C:\netware\netlanw\hstacc\kbddata
C:\netware\netlanw\hstacc\lwp.ini
C:\netware\netlanw\hstacc\pctohost.map
C:\netware\netlanw\hstacc\plan.txt
C:\netware\netlanw\hstacc\prompts.txt
C:\netware\netlanw\hstacc\regmap.bin
C:\netware\netlanw\hstacc\scancode.map
C:\netware\netlanw\hstacc\scancode.txt
C:\netware\netlanw\hstacc\t4_def.par
C:\netware\netlanw\hstacc\t4_slang.par
C:\netware\netlanw\hstacc\unix_map.win
C:\netware\netlanw\hstacc\vms_map.win
C:\netware\netlanw\profile\
C:\netware\netlanw\profile\default.php
C:\netware\netlanw\profile\vms.php
C:\netware\netlanw\profile\xconsole.php
C:\netware\netlanw\tcp\
C:\netware\netlanw\tcp\hosts
C:\netware\netlanw\tcp\networks
C:\netware\netlanw\tcp\protocol
C:\netware\netlanw\tcp\resolv.cfg
C:\netware\netlanw\tcp\services
C:\netware\net.cfg
C:\test\
C:\test\3mega.exe
C:\test\adf.bat
C:\test\bhctest.bat
C:\test\chkbios.exe
C:\test\chkerr.exe
C:\test\chkfiles.exe
C:\test\cpdisp.bat
C:\test\cpdisp.exe
C:\test\cpmenu.bat
C:\test\cpmenu.exe
C:\test\font0.hfn
C:\test\font1.hfn
C:\test\font2.hfn
C:\test\font3.hfn
C:\test\fontext.hfn
C:\test\hd.bat
C:\test\hdaudit.bat
C:\test\hdst.bat
C:\test\j2585b.exe
C:\test\lancard.bat
C:\test\lastbios.dat
C:\test\mb.bat
C:\test\ni_cache.exe
C:\test\nwlogin.bat
C:\test\p4_8042.exe
C:\test\p4_8259.exe
C:\test\p4_a20.exe
C:\test\p4_cop.exe
C:\test\p4_cpu.exe
C:\test\p4_dma.exe
C:\test\p4_hdt.exe
C:\test\p4_icmos.exe
C:\test\p4_ram.exe
C:\test\p4_rtc.exe
C:\test\p4_timer.exe
C:\test\plug.exe
C:\test\scanb.bat
C:\test\scanc.bat
C:\test\scancaud.bat
C:\test\scant.bat
C:\test\scantaud.bat
C:\test\scsi.exe
C:\test\selftest.exe
C:\test\sjtest.exe
C:\test\step1.ini
C:\test\step2.ini
C:\test\step3.ini
C:\test\step4.ini
C:\test\step5.ini
C:\test\stresram.exe
C:\test\sw.bat
C:\test\test.bat
C:\test\test.ini
C:\test\tkd217x.exe
C:\test\tkd237x.exe
C:\test\tkd3118.exe
C:\test\selftest.log
C:\test\mb.log
C:\test\3mega.log
C:\test\stresram.log
C:\test\error.log
C:\test\lancard.log
C:\test\sjtest.log
C:\test\hd.log
C:\test\sw.log
C:\volterra\
C:\volterra\437_uni.001
C:\volterra\deu.txt
C:\volterra\eng.txt
C:\volterra\esp.txt
C:\volterra\font0.hfn
C:\volterra\font1.hfn
C:\volterra\font2.hfn
C:\volterra\font3.hfn
C:\volterra\fontext.hfn
C:\volterra\fra.txt
C:\volterra\hdlock.com
C:\volterra\hdunlock.com
C:\volterra\ita.txt
C:\volterra\krninfo.ini
C:\volterra\lastver.dat
C:\volterra\pack2ras.pxd
C:\volterra\pcsdb.dat
C:\volterra\pixdflt.pxd
C:\volterra\pixwrite.pxd
C:\volterra\protmode.exe
C:\volterra\ras2run.pxd
C:\volterra\realmode.exe
C:\volterra\run2g4.pxd
C:\volterra\setgsdb.dat
C:\volterra\sm_main.exe
C:\volterra\tiffpack.pxd
C:\volterra\uni_437.001
C:\volterra\uni_col.001
C:\volterra\uni_mon.001
C:\volterra\upgrade.exe
C:\demo\
C:\demo\deu.txt
C:\demo\dlsdb.dat
C:\demo\eng.txt
C:\demo\esp.txt
C:\demo\faxenv.dat
C:\demo\faxsdb.dat
C:\demo\font0.hfn
C:\demo\font1.hfn
C:\demo\font2.hfn
C:\demo\font3.hfn
C:\demo\fontext.hfn
C:\demo\fra.txt
C:\demo\ita.txt
C:\demo\krninfo.ini
C:\demo\netenvdb.dat
C:\demo\pack2ras.pxd
C:\demo\params.dat
C:\demo\pcsdb.dat
C:\demo\pixdflt.pxd
C:\demo\pixwrite.pxd
C:\demo\printsdb.dat
C:\demo\protdemo.exe
C:\demo\ras2run.pxd
C:\demo\realmode.exe
C:\demo\run2g4.pxd
C:\demo\setgsdb.dat
C:\demo\tiffpack.pxd
C:\demo\usersdb.dat
C:\demo\privdata\
C:\demo\privdata\aflsdb.dat
C:\demo\privdata\dlsdb.dat
C:\demo\privdata\faxsdb.dat
C:\demo\privdata\setgsdb.dat
C:\demo\privdata\usersdb.dat
D:\db\
D:\privdata\
D:\temp\
D:\temp\intfile.dat
D:\netware\
D:\netware\bind.vlm
D:\netware\conn.vlm
D:\netware\fio.vlm
D:\netware\general.vlm
D:\netware\ipxncp.vlm
D:\netware\mib2if.vlm
D:\netware\mib2prot.vlm
D:\netware\nds.vlm
D:\netware\netx.vlm
D:\netware\nwp.vlm
D:\netware\redir.vlm
D:\netware\tran.vlm
D:\netware\wsasn1.vlm
D:\netware\wsreg.vlm
D:\netware\wssnmp.vlm
D:\netware\wstrap.vlm
D:\netware\vlm.exe
D:\netware\hpfeodi.com
D:\netware\ipxodi.com
D:\netware\lsl.com
D:\netware\oce2xodi.com
D:\netware\oce3xodi.com
D:\netware\octok16.com
D:\netware\route.com
D:\netware\stpipx.com
D:\netware\stpudp.com
D:\netware\hpfeodi.isa
D:\netware\lwp.msg
D:\netware\stpudp.msg
D:\netware\net.tok
D:\netware\net1.eth
D:\netware\net.cfg
D:\netware\net3.eth
D:\netware\net4.eth
D:\netware\backup\
D:\netware\backup\net.tok
D:\netware\backup\net1.eth
D:\netware\backup\net2.eth
D:\netware\backup\net3.eth
D:\netware\backup\net4.eth
D:\netware\netlanw\
D:\netware\netlanw\tcpip.exe
D:\netware\netlanw\hstacc\
D:\netware\netlanw\hstacc\437-fix.map
D:\netware\netlanw\hstacc\437-fix.txt
D:\netware\netlanw\hstacc\437-iso.map
D:\netware\netlanw\hstacc\437-iso.txt
D:\netware\netlanw\hstacc\437-mlt.map
D:\netware\netlanw\hstacc\437-mlt.txt
D:\netware\netlanw\hstacc\850-fix.txt
D:\netware\netlanw\hstacc\850-iso.txt
D:\netware\netlanw\hstacc\850-mlt.txt
D:\netware\netlanw\hstacc\860-fix.txt
D:\netware\netlanw\hstacc\860-iso.txt
D:\netware\netlanw\hstacc\860-mlt.txt
D:\netware\netlanw\hstacc\863-fix.txt
D:\netware\netlanw\hstacc\863-iso.txt
D:\netware\netlanw\hstacc\863-mlt.txt
D:\netware\netlanw\hstacc\865-fix.txt
D:\netware\netlanw\hstacc\865-iso.txt
D:\netware\netlanw\hstacc\865-mlt.txt
D:\netware\netlanw\hstacc\enhmap.bin
D:\netware\netlanw\hstacc\extmap.bin
D:\netware\netlanw\hstacc\fonts.txt
D:\netware\netlanw\hstacc\hosttopc.map
D:\netware\netlanw\hstacc\kbddata
D:\netware\netlanw\hstacc\lwp.ini
D:\netware\netlanw\hstacc\pctohost.map
D:\netware\netlanw\hstacc\plan.txt
D:\netware\netlanw\hstacc\prompts.txt
D:\netware\netlanw\hstacc\regmap.bin
D:\netware\netlanw\hstacc\scancode.map
D:\netware\netlanw\hstacc\scancode.txt
D:\netware\netlanw\hstacc\t4_def.par
D:\netware\netlanw\hstacc\t4_slang.par
D:\netware\netlanw\hstacc\unix_map.win
D:\netware\netlanw\hstacc\vms_map.win
D:\netware\netlanw\profile\
D:\netware\netlanw\profile\default.php
D:\netware\netlanw\profile\vms.php
D:\netware\netlanw\profile\xconsole.php
D:\netware\netlanw\tcp\
D:\netware\netlanw\tcp\hosts
D:\netware\netlanw\tcp\networks
D:\netware\netlanw\tcp\protocol
D:\netware\netlanw\tcp\resolv.cfg
D:\netware\netlanw\tcp\services
D:\netware\net2.eth
D:\volterra\
D:\volterra\437_uni.001
D:\volterra\uni_437.001
D:\volterra\uni_col.001
D:\volterra\uni_mon.001
D:\volterra\deu.txt
D:\volterra\eng.txt
D:\volterra\esp.txt
D:\volterra\fra.txt
D:\volterra\ita.txt
D:\volterra\font0.hfn
D:\volterra\font1.hfn
D:\volterra\font2.hfn
D:\volterra\font3.hfn
D:\volterra\fontext.hfn
D:\volterra\hdlock.com
D:\volterra\hdunlock.com
D:\volterra\krninfo.ini
D:\volterra\pack2ras.pxd
D:\volterra\pixdflt.pxd
D:\volterra\pixwrite.pxd
D:\volterra\ras2run.pxd
D:\volterra\run2g4.pxd
D:\volterra\tiffpack.pxd
D:\volterra\protmode.exe
D:\volterra\realmode.exe
D:\volterra\sm_main.exe
D:\volterra\upgrade.exe
D:\volterra\lastver.dat
D:\volterra\pcsdb.dat
D:\volterra\setgsdb.dat
D:\volterra\params.dat
D:\volterra\pixarea.dat
D:\volterra\netenvdb.dat
D:\volterra\usersdb.dat
D:\volterra\printsdb.dat
D:\volterra\faxsdb.dat
D:\volterra\event.log
D:\volterra\activity.log
D:\volterra\dlsdb.dat
D:\scsi.txt
D:\autoexec.out
D:\autoexec.log
D:\pages.cnt

Installing Linux on the Network Scanjet 5

So after having examined the unit, we decided to upgrade the memory with a 16MB module and replace the disk drive with a spare one of about the same size. In addition we managed to find an old ISA VGA card. While RAM and disk were no problem, the VGA card does not fit within the case for two reasons: first the bracket reaches beyond the case's bottom and second, there's not enough room to fit a VGA cord.
So we decided to detach the board from the case (remove screws, put a book under the board and turn it a little, so that the VGA cable could be attached to the card.
Since there's no floppy drive connector nor we didn't have a spare CD drive we attached the spare drive to another computer and installed a stripped down version of SuSE Linux 7.3 on the disk.
The BIOS detected the new drive allright without a need to go into the BIOS configuration menu and Linux boots up fine. A problem remains with the network card: We were not able the make the card work. Although the driver attaches to the card and eth0 can be configured, no packet goes in or out. For the time being we switched to a 3com509 (which is also a spare :-)
Apart from that, Linux runs like a charm. We installed a sane network scan deamon on it and are able to the scanner remotely. We have even a small script that, when called, automatically scans all pages, prompts for turning the pages for double side scanning, and creates a PDF from it. Script is available below.

The Display and Control Panel

The Display is connected through the serial port. The port has a non-standard connector since it provides the panel with power as well. So far we have not been able to communicate with the panel. When the serial port is closed, the display performs a reset. Using minicom the display is cleared on initialization but nothing could be achieved so far. There are some LCD drivers and libs out there on the net that might be able to help here, though.

controller board

Opening the display is a bit difficult. Two out of four screws are located at the rear end under the lid. The lid has to be removed from the sheet feeder to gain access to them. For this you can either pull the rear end upwards and then slide the lid to one side out of the fixation at the front or you can push the plastic tips with a flat screwdriver around the notches of the front fixation and then pull the lid off.

The controler

controler
microchip
pic16C65-04/L
9545SAT
pic

RS232 Tranceiver
maxim
max202CWE
9605


display controler
Toshiba
T6963C
0101 japan
        9716H
disp controler


SEC C718A
KS0084



UG-24B16
-GLHTO-A
9705240c
?


SEC Korea
608A
KM6264BLG-10L
disp driver

Disassembling the display reveals that the actual display is connected to a slave parallel port of the microchip 16C65. The protocol on the parallel port is available on the net. But since the custom program of the 16C65 is unknown, it is impossible to determine the protocol used on the serial interface. So here we have to give up. If you happen to know anything that might help here, please contact us.

Anyway, since we are able to use the scanner through the sane network scan deamon, we have successfully reactivated the network scanjet.

Useful links

Creating this web page and reviving the network scanjet has been great fun. And it has been astonishing how many have asked for our script. Now, after the big puzzle seems to be solved by and large, we still would like to know of everyone that has turned her or his NSJ5 into a Linux appliance. If you happened to have created a web page about it, even better! Maybe we can assemble a success list :-)

  • Display Controler
  • Controler
  • Controler Data Sheet
  • The script we use to remotely access the scanner and convert the images to a pdf document.
  • David S. Madole has successfully reverse-engineered the protocol to drive the display and keypad. He provides his enhanced software on this page. Congratulations David! That is awesome!

Successes

So far we've got 8 inquiries (3 about the original software or replacement parts) Feedback about successes was given by