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!
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)
|
|
yes
|
Memory
onboard
|
Mitsubishi
|
M5M44260CJ
708WD0V-7 (four chips)
2MB
|
|
yes
|
Memory
PS/2
|
Mitsubishi
|
label:
MH25632CNXJ-7
Japan 549500
on chip:
M5M44260CJ
540SJ12-7 (two chips)
1MB
|
|
yes
|
Board
|
HP(?)
|
JE7297
HPVOLTMOOPMG -3A09
|
|
yes
|
Chipset
|
Ali
|
M1487 B1
9629 TS6
AG1271SB
M1489 A1
9732 TS6
BA8170.1SE
|
|
yes |
Networkcard
ISA
|
olicom
|
M-NO: 770000680
Ethernet ISA/IV Adapter
OC-2173
|
|
yes
|
Networkchipset
|
intel
|
FA82595TX
L5274066
SZ756
|
|
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
|
|
yes
adaptec aha152x
io=0x140,irq=10
|
disk drive
|
quantum
|
Fireball 1280AT
|
|
yes
|
Scanner
|
HP
|
C1301A Rev: 3610 Type: Processor
|
|
yes
|
Display / Control Panel
|
?
|
?
40x8
|
|
?
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.
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.
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.
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
|
|
|
RS232 Tranceiver
|
maxim
max202CWE
9605
|
|
|
display controler
|
Toshiba
T6963C
0101 japan
9716H
|
|
|
|
SEC C718A
KS0084
|
|
|
|
UG-24B16
-GLHTO-A
9705240c
|
|
|
|
SEC Korea
608A
KM6264BLG-10L
|
|
|
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
|