Subject: Re: Uh-oh: 3c5x9 with install/generic doubleprobes!
To: Ken Hornstein <kenh@cmf.nrl.navy.mil>
From: Nathan J Williams <nathanw@MIT.EDU>
List: tech-install
Date: 01/20/2000 18:33:07
<kenh@cmf.nrl.navy.mil> (Ken Hornstein) writes:

> >With -current install or GENERIC kernels (i386, but I assume this problem
> >exists on other ports that support ISA) they double-probe, once with the
> >ISA attachment and once with the ISAPnP attachment.  The card gets
> >initialized twice and neither the resulting ep0 nor ep1 actually work.
> 
> I saw this on a 1.4.1 install I did recently as well.  The thing that
> puzzled me is that I thought isapnp required some support in the
> computer, and this old 33 MHz 386 certainly didn't have it; yet it
> probed isapnp0 just fine.

ISAPnP can be driven purely from software; support in the BIOS is
useful for operating systems that don't know how to drive ISAPnP, as
well as for letting the BIOS deal with picking resources for the
device. 

We have full-software support for ISAPnP, which works even on ISA
buses in non-x86 systems (isapnp cards probe fine in my Alphas, for
example).

When I had the double-probe problem in 1.3.2 systems, the PnP instance
of the 3c509B cards would actually function. I haven't tried one of
those systems with a more recent kernel, though.

We now have code (isapnp_isa_attach_hook(), present in 1.4 and 1.4.1)
which is supposed to reset all the ISAPnP cards, removing any BIOS
configuration, before the ISA probes happen and prevent then from
being picked up by the ISA probes. We also have code in the ISA ep
driver in 1.4.1 which tries to avoid cards in PnP mode. 

The fact that it still double-probes suggests that some of this stuff
doesn't work properly :(

        - Nathan