Re: [PARPORT] Problems in negotiating ECP/EPP mode with libieee1284

From: Matthew Duggan (
Date: Thu Dec 19 2002 - 21:51:49 EST

  • Next message: Blaise Gassend: "Re: [PARPORT] Reading from pin - help."

    Quoting Gora Mohanty <>:

    > Hello,
    > I have been trying to get a parallel port EPP or ECP communication
    > going between two computers for the last several days, and am getting
    > increasingly frustrated. Here is a synopsis of what I have tried so
    > far. Any help would be appreciated, as I am new to much of this. I
    > would like to get data transfer rates of at least ~1MByte/s:


    Unfortunately the ieee1284 standard isn't really designed with connecting two
    computers in mind - it's an asymmetrical protocol. To do that you'd need to
    simulate a peripheral at one end and do all the transfers in software at that
    end. That would be slow, so you'd want to do it on the faster machine of the

    > 1. Both computers are running 2.4.19, and parport, parport_pc, ppdev,
    > and lp were compiled as modules, with CONFIG_PARPORT_1284 and
    > CONFIG_PARPORT_FIFO set. As far as I can tell from the /proc files
    > and syslog messages everything is OK. Interrupts are enabled, the
    > IRQ and DMA seem to be set up correctly. I can get PLIP to work between
    > the two, but data transfer using sockets over PPP transfers data only
    > at about 40kBytes/s with a null-printer cable. Below, for the IEEE
    > 1284 modes, I use a Belkin IEEE-1284 compliant cable (I believe that
    > this is what is called a "straight-through" cable).

    The software setup seems ok, but unfortunately status and control pins (read-
    only and write-only respectively) are used for timing information in ieee1284.
    You'd need to construct a special cable which swaps them around - a straight-
    through cable won't work.

    > 4. libieee1284: this looked like it would be very useful, and after
    > looking at some example code for scanners, I wrote up a short test

    ...(oh no, I hope that wasn't my code..)...

    > program. However, this fails while negotiating either ECP or EPP
    > mode on the parallel port. ieee1284_negotiate() returns E1284_SYS,
    > and looking up errno gives "Input/output error." (Actually, according
    > to the documentation, ieee1284_negotiate() should not even return
    > E1284_SYS, so I am a little puzzled.) A bare bones example program,

    This is the combination of 2 small problems.. the value shouldn't be returned
    for a failed negotiation with ppdev, but it was, and the value should be
    returned if there's some other sort of error, but it wasn't documented.

    They're both fixed in the cvs libieee1284.

    See also the libieee1284 list:

    This mail sent through IMP:

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

    This archive was generated by hypermail 2b29 : Thu Dec 19 2002 - 21:53:47 EST