Re: [PARPORT] ppdev and EPP mode

From: Vince Weaver (weave@eng.umd.edu)
Date: Tue Apr 11 2000 - 19:14:49 EDT

  • Next message: Peter Pregler: "Re: [PARPORT] WinBond 9966 (camera)"

    > > will ppdev know to do the above if I set IEEE1284_MODE_EPP on this
    > > machine?
    >
    > Yes -- it calls parport_write, which calls port->epp_write_data, which
    > parport_pc sets to parport_pc_ecpepp_write_data (look at
    > parport_ECPEPP_supported).

    well I've gotten things to work.. after hours of messing around deep in
    parport_pc, parport, and ppdev... and using a logic analyzer...

    it is these ^$*&^#& Compaq Deskpro Pentium 100s we are using as sort of
    "dumb terminals" for our parallel-port board.

    First, I had to hard-wire the driver to use ECPEPP mode, because for some
    reason the tests for it didn't autodetect it.

    That still didn't work, but I noticed that the direct EPP assembly code I
    used under Linux only worked after running some "SPP simulating EPP
    writes" code that I had.

    So I tracked it down to the following:

    before an EPP read you have to do a "outb(4,0x37A);" and things work fine.

    So if I change parport_ecpepp_write_data to be

           frob_econtrol (port, 0xe0, ECR_EPP << 5);
           outb(4,0x37A);
           written = parport_pc_epp_write_data (port, buf, length, flags);
           frob_econtrol (port, 0xe0, ECR_PS2 << 5);
           return written;

    it works fine. (vs 2.3.99-pre4)

    AHHHHHHHHHHH!!!

    I guess I can just use hacked-together modules that do this in our
    lab.. does anyone have any reason why these machines would behave this
    way?

    Vince

    ____________
    \ /\ /\ / Vince Weaver
     \/__\/__\/ weave@eng.umd.edu http://www.glue.umd.edu/~weave

    -- 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 : Tue Apr 11 2000 - 19:20:08 EDT