Tracing the parallel port
Primax for Linux
The Primax Scanner Driver Project for Linux/UN*X

contents:

 

home
news

sane

technical stuff
part numbers
traces
faq
download
change log
mailing list:
  subscribe
unsubscribe
archive
email contact:
  Primax Project

Christian Ordig
Marco Foglia
tracing the parallel port

Tracing the parallel port is in general much more difficult than tracing scsi. There are several reasons for this:

  • Most access is done direct, so you can not plug in some logging stuff.
  • The timing is sometimes cruical. Low level debuggers like softice change this when logging port i/o.
  • You can not use a second parallel port for tracing because you are to slow to see everything

There are several solutions to solve those problems.

  • Insert a logging dll between the program and the actual dll
  • Use special patched WINE
  • use a logic analyzer
  • use softice
  • buy a scsi scanner

In our case, the low level stuff is done through a vxd. Therefore WINE and the dll stuff is not working.

Following commands were used:

macro dumpit ="db C004A000 L6020;ed C004A000 C004A010;f C004A000 L6000 00; x"
bpx vpm2xd+19f8 if *(C004A000)>=C0050000 do "dumpit"
bpx vpm2xd+1837 if *(C004A000)>=C0050000 do "dumpit"