Subject: 3C905B-TX problem
To: Steven Grunza <steven_grunza@ieee.org>
From: Jonathan Stone <jonathan@cm-24-142-94-15.cableco-op.ispchannel.com>
List: port-i386
Date: 12/29/1999 11:15:12
>I'm trying to install NetBSD-1.4.1 on a Dell Dimension XPS R400.  The 
>network card is a PCI card from 3COM.  The web pages list it (3C905B-TX) as 
>being supported.  I got the following from booting with the boot_fs image 
>in the installation directory.
>
>ex0 at pci0 dev 13 function 0: 3Com 3C905B-TX 10/100 Ethernet
>ex0: unable to wake up from power state D3.
>
>Anyone have any ideas?

The later revision 3c90x cards (Cyclones: (3c905C, at least) lose
their brains if they go into an APCI power-saving state.

IIRC, the problem is that the PCI configuration registers lose
their contents during ACPI state transititions. The driver has to
detect those, read the PCI config-space registers to find out where
the card was, and then write the same values back, to re-enable the
card's previous (io, memory) addresses.

Don Becker's recent Linux driver recovers from this state.  You could
look there for the necessary code; see acpi_wakeup().  I dont know if
the 3com docs on the Web mention the problem.


Suggested workaround: cold-boot.  On ATX, with soft-power,
that means physically removing AC power for 20 seconds!