Re: [PARPORT] Daily ppdev question... difference between nibble and compat and byte mode

From: Tim Waugh (
Date: Mon Jun 02 2003 - 14:04:07 EDT

  • Next message: Peter Asemann: "Re: [PARPORT] Daily ppdev question... difference between nibble and compat and byte mode"

    On Mon, Jun 02, 2003 at 06:14:31PM +0200, Peter Asemann wrote:

    > Where's the difference between the nibble and the compat mode?

    Nibble mode is peripheral-to-host transfer; compatibility is

    > I suppose that in nibble mode you can use the "read" function which will not
    > work in compat mode?

    Exactly: and you can't "write" in nibble mode (that's meaningless).

    > This should make not difference if, for example, some "user land" driver
    > decides to read the status lines to implement nibble mode on it's
    > own, I suppose?

    Right. If you aren't going to both with IEEE 1284 negotiation, you
    can do what you want with the status, control, and data lines.

    > Regarding byte mode, I guess PPDATADIR will only work in byte mode,
    > IEEE1284_MODE_BYTE?

    Rather the other way around: byte mode only works if the data lines
    can be tristated.

    > So in byte mode a program that does not use read and write but reads and
    > writes data and status and control register on it's own would be able to
    > perform all operations possible with a tristate spp port?

    'byte mode' is a logical IEEE 1284 state, achieved by negotiating to
    it. It's not something the parallel port chip knows about.

    > I find there's a ioctl missing which tells you if the port is in forward or
    > reverse direction... but I guess if my program is interrupted by another
    > program or yields the port so another program may use it, my program's
    > settings regarding the direction of the port are restored... aren't they?

    Yes, they should be. (If not there's a bug.)


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

    This archive was generated by hypermail 2b29 : Mon Jun 02 2003 - 14:12:45 EDT