On Fri, 25 Sep 2009, Stephen Borrill wrote:
I'm having a problem on some machines with ath(4) (5.0_STABLE). The
symptoms are that the interface connects to the network well enough
to get an IP address, but then communication ceases even though
wpa_supplicant claims it is connected. If I stop wpa_supplicant and
restart it will not reconnnect. At another site, it generally seems
to work, but if wpa_supplicant needs to re-associate (e.g. moving
between access points), it will not reconnect until the machine is
rebooted.
[snip]
The device is:
ath0 at pci2 dev 0 function 0
ath0: interrupting at ioapic1 pin 0
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps
18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: mac 14.2 phy 7.0 radio 10.2
Skipping broken PCI header on 2:0:0
I noticed that on my (working) machine, because of power management
the output of "pcictl pci2 list" alters as I ifconfig up and down
the interface. ifconfig ath0 down makes it return nothing. ifconfig
ath0 up gives: 002:00:0: Atheros Communications product 0x001c
(ethernet network, revision 0x01)
For laughs, I commented out the power handler lines in if_ath_pci.c:
if (!pmf_device_register(self, ath_pci_suspend,
ath_pci_resume))
aprint_error_dev(self, "couldn't establish power
handler\n");
else {
pmf_class_network_register(self, &sc->sc_if);
pmf_device_suspend_self(self);
}
On my machine, this stopped the device disappearing in pcictl output
(and also removed the "Skipping broken PCI header on 2:0:0" line -
perhaps normally the device is being powered down too aggressively).
On the test machine, nothing is listed in "pcictl pci2 list". It is
as though the device is present throughout autoconf, but then
disappears. There is nothing in dmesg regarding this.