[PARPORT] ECP mode transfers in 2.4.x kernels

From: Dave Strauss (dstrauss@mail.wm.sps.mot.com)
Date: Wed Aug 15 2001 - 11:20:34 EDT

  • Next message: Philip Blundell: "Re: [PARPORT] ECP mode transfers in 2.4.x kernels"

    I'm hoping that this is a stupid question that will have a simple
    answer, but I've searched the list archives and the documentation and
    so far have been unable to solve my problem.

    Recently we upgraded from a 2.2.x kernel to a 2.4.x kernel (more
    specifically, a stock Redhat 7.1 distribution with a kernel version
    2.4.2-2), and I was very excited because finally I was going to be
    able to do ECP-mode data transfers to my laser printer, something my
    Window-running colleagues have been able to do for years.
    Unfortunately I have been unable to get this to happen.

    Here's what I'm doing: I have a laser printer (a GCC Elite 21 in this
    case, but I've tried others including some HP printers) connected to
    the parallel port via a 1284 compliant cable. I boot up the printer,
    then copy a test file to the printer like so:

              cat testfile.ps > /dev/lp0

    For the particular test files I'm using and on this particular printer
    I expect the data transfer rate to be somewhere in the vicinity of 400
    Kbytes/second (which is what I get with machines running Windows 98)
    but I'm only getting 10 to 20 Kbytes/second. This tells me that the
    data transfers are happening in compatibility mode. I have access to
    the internal firmware on this printer and also to parallel port
    analyzers, and from them I can tell that the Linux host is never even
    attempting to place the channel into ECP mode.

    For reference, I've included below the dmesg output from the test.

    What do I have to do to get a Linux box to do ECP mode transfers?

    Any help would be appreciated.

    -- Dave Strauss

     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    dmesg output:

    Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
    Winbond chip at EFER=0x2e key=0x87 devid=52 devrev=17 oldid=ff
    Winbond chip type 83627
    Winbond LPT Config: cr_30=01 60,61=0378 70=07 74=03, f0=3a
    Winbond LPT Config: active=yes, io=0x0378 irq=7, dma=3
    Winbond LPT Config: irqtype=pulsed low, high-Z, ECP fifo threshold=7
    Winbond LPT Config: Port mode=ECP
    SMSC Super-IO detection, now testing Ports 2F0, 370 ...
    0x378: FIFO is 16 bytes
    0x378: writeIntrThreshold is 9
    0x378: readIntrThreshold is 9
    0x378: PWord is 8 bits
    0x378: Interrupts are ISA-Pulses
    0x378: ECP port cfgA=0x10 cfgB=0x48
    0x378: ECP settings irq=7 dma=<none or set by other means>
    parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,COMPAT,EPP,ECP]
    parport0: irq 7 detected
    parport0: cpp_daisy: aa5500ff(98)
    parport0: assign_addrs: aa5500ff(98)
    parport0: No more nibble data (0 bytes)
    parport0: faking semi-colon
    parport0: Printer, GCC Elite 21
    lp0: using parport0 (polling).

    -- To unsubscribe, send mail to: linux-parport-request@torque.net --
    -- with the single word "unsubscribe" in the body of the message. --

    This archive was generated by hypermail 2b29 : Wed Aug 15 2001 - 16:39:01 EDT