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