[Linux-parport] Problem with ECP+EPP

Adam Baker parport at baker-net.org.uk
Tue Apr 19 15:43:46 EDT 2005


On Monday 18 April 2005 17:32, Eduardo Pérez Ureta wrote:
> On 2004-10-13 04:11:56 +0000, ZIGLIO, Frediano, VF-IT wrote:
> > I set up my port for ECP+EPP under bios. Linux detect nor ECP nor EPP. I
> > have a NVIDIA+Athlon setup. I have also the same problem with a Intel
> > (pentium 4, hp d530 product).
> > I realize that this code
> >
> > /* Check for Intel bug. */
> > if (priv->ecr) {
> > 	unsigned char i;
> > 	for (i = 0x00; i < 0x80; i += 0x20) {
> > 		ECR_WRITE (pb, i);
> > 		if (clear_epp_timeout (pb)) {
> > 			/* Phony EPP in ECP. */
> > 			return 0;
> > 		}
> > 	}
> > }
>
> I also have a (2003) Intel Chipset and removing that code made EPP mode
> detected.
>
> Could someone point me what bug is that supposed to fix?
> (The comment should include at least a reference to it)
>
> I'd just remove that piece of code, but I don't know if there's some
> buggy chipset around there.
>

Add my name to the list in favour of removing that code.  I've got an  Asus 
A7V333 motherboard with a ITE IT8703F-A  Super I/O chip on it that fails to 
detect EPP because of that test.

Tim Waugh was asking back in 1999:
>Does anybody remember why we check for the Intel ECPEPP bug? The symptom 
>is that the EPP timeout bit is _not_ set to 1 when not in EPP mode. 

>The original check is due to David Campbell, and it is found in his 
>id_probe program as well as older versions of ppa.c. 

I've finally tracked down the email that says why that check is present
http://www.ussg.iu.edu/hypermail/linux/kernel/9901.2/1285.html

From: David Campbell (campbell at torque.net) Fri, 22 Jan 1999 07:33:22 +0800
"A small number of IO chipsets do not have the EPP timeout function hence if
there is no EPP device then the CPU is permantly in the HALT state and nothing
happens LITERALLY! <CNTL><ALT><DEL> does not even function! The bulk (if not
all) the IO chipsets in this category fail the bug check test, as a result it
is assumed there is no EPP (or to dangerous to use). This may prevent some
valid chipsets working properly."

As the test didn't reliably detect the problem and from my reading of the 
above the problem only occurs if you actually try to use EPP on a buggy 
motherboard when there isn't an EPP capable device connected it seems 
reasonable to remove it.

Opinions please.



More information about the Linux-parport mailing list