Re: [PARPORT] ppscsi/epst mode question(slow scanning w/ hp5200C)

Mark Thorp Duxbury (
Tue, 29 Jun 1999 18:34:11 -0400


I'm sorry, I thought that I sent the log output to you before, but I
guess I didn't. Also, sorry for a less than timely response, but I've
been pretty busy lately.

Anyway... I built the new version of ppSCSI, 0.91, with a 2.2.10
kernel; here is the log from "insmod epst verbose=1 host1=0x378":

    epst.1: version code reads: 0xb2
    epst.1: port 0x378 mode 0 test passed (0,0,1)
    epst.1: version code reads: 0x52
    epst.1: port 0x378 mode 1 test failed (1,-1,0)
    epst.1: version code reads: 0xb2
    epst.1: port 0x378 mode 2 test passed (0,0,1)
    epst.1: version code reads: 0xb2
    epst.1: port 0x378 mode 3 test failed (0,1,0)
    epst.1: version code reads: 0xb2
    epst.1: port 0x378 mode 4 test failed (0,1,0)
    epst.1: version code reads: 0xb2
    epst.1: port 0x378 mode 5 test failed (0,1,0)
    epst.1: epst 0.91 (0.91), Shuttle EPST at 0x378 mode 2 (PS/2) dly 1
nice 0 sg 16
    scsi0 : epst
    scsi : 1 host.
    Vendor: HP Model: C5190A Rev: 3740
    Type: Processor ANSI SCSI revision: 02
    Detected scsi generic sga at scsi0, channel 0, id 0, lun 0

Here is the actual state of the PC97307's parallel port (I wrote a
little program to find it and read it's registers. It can also set
them, see below).

    Looking for National PC97307/PC87307

    National PC97307 Located.
    Tapeout version = 0x02

    Index Register at 0x002e
    Data Register at 0x002f

    Parallel port base address is 0x0378
    Parallel port interrupt is 0x07
    Parallel port DMA channel is 0x04 (may be unused)
    Parallel port SIO register contains 0x62
    Parallel port in 'static' configuration.
    Parallel port in EPP 1.9 mode.
    Control register at offset 0x402 will have no effect on mode.
    EPP control register (offset=0x002) contains 0xc4
    Probe done.

I have tried both EPP 1.7 and 1.9 with the same results. The above are
the results with my BIOS set to EPP mode (which is 1.9).

Since I wrote the above, I've discovered that the following procedure
(call it procedure 1) will result in epst installing in mode 5 (EPP-32):

        (1) insmod ppscsi
        (2) insmod epst verbose=1 host1=0x378
        (2a) dmesg /* Yields the results shown above,
                       this step isn't necessary. */
        (3) rmmod epst
        (4) probe -sm ecp epp
             /* This is the program I wrote, invoked like this it
                will set the MS 4 bits of the PP SIO register (Logical
                Device Number 4, Index 0xf0) to 1110 (ECP mode, static
                configuration) and the MS 3 bits of the Extended Control

                Register (offset 0x402) to 100 (EPP mode). */
        (5) insmod epst verbose=1 host0=0x378
        (6) epst now in EPP-32 mode.

This is repeatable, and all the steps, except 2a, are necessary - I've
tried quite a few variations and none work. It also works with parport
support installed; like this (call this procedure 2):

        (1) probe -sm ecp epp /* I do this so parport knows what mode
                                  the port will eventually wind up in.
        (2) insmod parport
        (3) insmod parport_pc
        (4) probe -sm epp9 /* Put port into EPP 1.9 mode, this is
                                  identical to the mode BIOS puts the
                                  port into after a reboot. */
        (5) insmod ppscsi
        (6) insmod epst verbose=1 host1=0x378 /* epst goes into mode 2
        (7) rmmod epst
        (8) probe -sm ecp epp
        (8) insmod epst verbose=1 host1=0x378 /* epst now in mode 5 */

Note that steps (5)-(8) are the same as procedure 1 above. Variations
of this also don't work. If I try to print (I have an HP LaserJet
connected to the outport on the HP5200C scanner) printing works, but the
port's mode is changed to ECP/SPP mode (the ECR, at offset 0x402 is
changed - I presume that parport does this and epst doesn't know about
it) and of course epst doesn't work any more. I can get epst it to work
again by going through procedure 1, above. (Also, just to be safe, I've
tried procedure _1_ above with and without the printer connected to the
scanner, it doesn't make any difference.)

With epst in mode 5 (EPP-32), SANE will scan a full page at 300dpi color
in about 2 min, setting delay=0 reduces the scan time to about 1 min 45
sec (this still slower than under MS Windows 95 with HP's software, but
the rest may be due to SANE, which I think is running the scanner in one
of its emulation modes. Note that the head 'ping-pongs' which it
doesn't using the HP software) At 75dpi color it takes about 11 seconds,
which is great. This is a significant improvement over the scan times
with epst in mode 2.

Thanks again for the drivers! I hope some of the information above
helps but please forgive me if I'm only telling you things that you
already know - or if I'm doing something stupid. If any other
information would help, please let me know and I'd be glad to provide it
if I can.


A number of people have asked me for this program; it can find, probe,
and set the configuration of the parallel port on a National PC97307
chip. I'll gladly provide it; but I'm not sure what the best way to do
that is. I don't have an ftp host but I can provide it via email, or
post it to this list (is that appropriate?) Could someone tell me what
to do? For now, if you want it, email me and I'll send it right out;
please use a subject line of "send probe" as I'll probably automate the
response for quicker turn-around, but I'll read the message also. If
someone with an FPT site wants to post it, please feel free to do so -
and tell me who you are so I can inform you of any changes to the

On my system, this program _can_ be used to get epst to work in EPP-32
mode, and if you aren't sharing the port with anything else, this may
work well for you. I'll include a shell script with the program that,
on my system, gets epst installed in EPP-32 mode.


-- To unsubscribe, send mail to: --
-- with the single word "unsubscribe" in the body of the message. --

This archive was generated by hypermail 2.0b3 on Tue 29 Jun 1999 - 18:41:48 EDT