Re: [PARPORT] ECP transfers

Tim Waugh (
Fri, 1 Oct 1999 08:07:48 +0100 (BST)

On Thu, 30 Sep 1999, Mark Huang wrote:

> How do you perform an ECP transfer in kernel space using the linux-2.2.x
> parport interface?

By hand, by using the control/data/status ports. The 2.2.x parport
interface doesn't really have things like ECP right. 2.3.x does (I

> The steps I've taken so far are
> 1. Registering with parport_register_device()
> 2. Changing to ECP mode with parport_pc_frob_econtrol()
> 3. Writing with parport_pc_write_fifo()

If you really want to try using the FIFO (there may be lots of bugs in
that path in 2.2.x), then you need:

1.5. Claim the port with parport_claim()

Otherwise, yes, that should work. If it doesn't.. well, there are
probably bugs.

The thing is that if you are using parport_pc_write_fifo, you may as well
just write directly to the FIFO yourself, and play with ECR yourself, so
that you know what is actually going on.

> Everything is set up correctly in the BIOS, and parport seems to detect my
> ECP/EPP port fine after loading. Nothing come outs on the parallel port,
> though, or at least HostCLK doesn't strobe.

You have to do things to CTR before doing things to ECR, from what I
remember. Or at least, having mode switches work is conditional on some
of the CTR bits.

I'm afraid that the solution that will give you less frustration will
probably be to use parport_write_control etc., at least for now (2.2).


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

This archive was generated by hypermail 2.0b3 on Fri 01 Oct 1999 - 03:18:23 EDT