[PARPORT] ECR setting problem solved, sort of.

Eugene Weiss (eweiss@sas.upenn.edu)
Thu, 10 Feb 2000 13:02:22 -0500

Thanks to Michael Eyrich for suggesting that I rmmod the parport and parport_pc
modules to solve my problem of being unable to change port modes by writing
to the ecr. It didn't solve the problem, but it gave me enough
information to find the solution. After I recompiled these as modules, I found
that the block existed already at bootup, but on launching parport_pc it would
disappear. Removing parport_pc again had no effect. This gave me enough
leave to run tests, however, that I found that the block could be removed by
writing a value of 0x30 to the ecr.

I had not tried this value before because I had considered the upper 3 bits of
the ecr to be essentially a different register than the others. The two bits
set are the 5th, which sets the port to PS2 mode, and the 4th, which is the ECP
Interrupt bit. Setting the 4th bit alone does not have the desired result, but
once the value of 0x30 is written, I can switch between port modes freely, even
if the 4th bit is later cleared.

Does this behavior fall into the category of an Undocumented Hardware Feature,
or is there a logical explanation for it? Also, can anyone tell me if setting
these two bits at the outset of the program will cause problems with other


Eugene Weiss

I'm running kernel 2.2.14 on an ASUS pentium motherboard, the port controller
is a Winbond W83877F.

-- 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 2.0b3 on Thu 10 Feb 2000 - 13:37:57 EST