RE: [PARPORT] Clean IEEE1284 termination

From: Tim Waugh (
Date: Mon Mar 06 2000 - 16:15:11 EST

  • Next message: Johannes Martin: "[PARPORT] Problems with PP SparQ on Thinkpad 390E"

    On Mon, 6 Mar 2000, Chandan Mishra wrote:

    > Another question (s) related to ppdev driver.
    > 1. No handshaking is done in PPSETMODE ioctl command. What is use of this
    > ioctl command.
    > Doesn't using just PPNEGOT suffice.

    PPNEGOT does the negotiation and sets the mode that read() and write()
    will use. The point of PPSETMODE is to _just_ change the behaviour of
    read() and write() without going through negotiation. So if your device
    only speaks EPP and doesn't do IEEE 1284 negotiation, for example, you
    wouldn't want to PPNEGOT to EPP mode, but you _would_ use PPSETMODE.

    > 2. What is use of PPSETPHASE command. Isnt this supposed to be handled
    > internally by the driver.

    It's like PPSETMODE, only for the phase. ;-) You aren't forced to use it;
    it's just there if you need it (you'd know about it if you needed to use

    > 3. Also whats the use of PPDATADIR commnad. Driver shld automatically change
    > the data direction if I am reading after writing and writing after reading.
    > Why should user bother about all this.

    For read() and write(), direction changes will be handled, because they
    will usually be accompanied by other special handshakes. ECP devices have
    to agree to change direction.

    PPDATADIR _only_ affects the data line drivers and doesn't do any other
    signalling. See?

    > Can somebody help me with these questions? Or point me to appropriate
    > documentation for ppdev driver.

    I've written some, but it's intended for inclusion in a book to be
    published by SAMS. They seem to have lost interest in the book, so I'm
    hoping that the other authors will release their chapters OPL (we're
    talking about it right now).


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

    This archive was generated by hypermail 2b29 : Mon Mar 06 2000 - 16:27:54 EST