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!