Re: [PARPORT] Selecting a mode

From: Tim Waugh (twaugh@redhat.com)
Date: Mon Feb 12 2001 - 05:34:32 EST

  • Next message: Cryptic Mind: "[PARPORT] Ditto 2G "Device not configured""

    On Mon, Feb 12, 2001 at 11:00:20AM +0100, John O'Connor wrote:

    > When you select a mode for port operation, the parport suite uses
    > the IEEE 1284 mode negotiation protocol to write the requested mode
    > as an extensibility byte.

    Yes, or you can bypass the actual negotiation bit altogether by using
    PPSETMODE (are you using ppdev, or writing an in-kernel driver?).

    > There is another way to do this which is to use a daisy chain
    > command byte to, for example, select device x in ECP mode. This is
    > an old mode which is no longer in the standard and which is
    > officially deprecated.

    Yes. This seems to be an extension of IEEE 1284.3 (which allows you
    to select a daisy chain device in compatibility mode and no others,
    last I looked). The imm driver selects a device in EPP mode I think,
    using a different command byte.

    > After much experimentation I have discovered that the device with
    > which I am trying to communicate only supports this old, deprecated
    > mode of sleecting the address. Any ideas as to what I should try to
    > do?

    There is a parport_daisy_select function which looks like this:

    int parport_daisy_select (struct parport *port, int daisy, int mode)
    {
            /* mode is currently ignored. FIXME? */
            return cpp_daisy (port, 0xe0 + daisy) & PARPORT_STATUS_ERROR;
    }

    (see daisy.c.) You could make it look at the mode parameter and do the
    right thing.

    Tim.
    */



    -- 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 : Mon Feb 12 2001 - 05:37:59 EST