Problem with ath(4) and Netgear WG311T card
Alexander Best
arundel at h3c.de
Wed Aug 31 17:42:26 GMT 2005
I just bought myseld a new wlan card called Netgear WG311T (ath(4) lists it as
being supported). Here's the ouput of `pciconf -lv`:
ath0 at pci0:10:0: class=0x020000 card=0x1a001385 chip=0x0013168c rev=0x01 \
hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212, AR5213 802.11a/b/g Wireless Adapter'
class = network
subclass = ethernet
When I try to load the ath(4) driver I get this error message:
ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
ath0: <Atheros 5212> mem 0x84800000-0x8480ffff irq 15 at device 10.0 on pci0
ath0: unable to attach hardware; HAL status 3
device_attach: ath0 attach returned 6
I checked sys/contrib/dev/ath/ah.h as described in ath(4) and this is what I
found:
HAL_EIO = 3, /* Hardware didn't respond as expected */
I asked a guy in #madwifi and he pointed me to a website with a Q&A stating the
following:
Q: When I load the ath_pci module I get ?unable to attach hardware: Hardware
didn?t respond as expected, (HAL status 3)?!
A: There exist pci-bridges which have difficulties with Atheros cards (and
other hardware possibly). To get your card working you first have to find
your pci-bridges pci-id with ?lspci?. After then you have to set the
SUBORDINATE_BUS option for this pci-id with the ?setpci? tool.
For example:
schleppi:~$ lspci | grep -i ?pci bridge?
0000:00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP \
Bridge
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge
schleppi:~$ setpci -s 0:1e.0 SUBORDINATE_BUS=0A
I have chosen PCI bridge, because my problem existed only for mini-pci
Atheros card. If you have problems with your cardbus card instead, you would
chose your PCI to Cardbus controller possibly.
Another possibility is a badly installed pci card - try removing it, dusting
of the contacts and putting it firmy back into the slot.
Alright I believe this is my PCI bridge:
hostb0 at pci0:0:0: class=0x060000 card=0x80331043 chip=0x03051106 \
rev=0x02 hdr=0x00
vendor = 'VIA Technologies Inc'
device = 'VT8363/5 KT133/KM133 System Controller'
class = bridge
subclass = HOST-PCI
I searched through the linux kernel sources and found the following definition
in include/linux/pci.h:
define PCI_SUBORDINATE_BUS 0x1a /* Highest bus number behind the \
bridge */
So this is what I did to do what the Q&A proposes:
pcitweak -w 00:00:0 -b 0x1A 0xA
However the value doesn't seem to have any effect, because I still get the
same error. And if I check the PCI mem offset I set beforehand it doesn't
seem to have done anything:
pcitweak -r 00:00:0 -b 0x1A
0x00
Can somebody help me with this problem? There seems to be a problem with
revisions of the card that use a the Atheros AR5213 chip. But those cards
have a different `pciconf` output and loading if_ath exits with code 13
which stands for a wrong revision.
I'd really appreciate it if somebody could help me out. I already tried the
ndis driver, but ndiscvt finds stumbles accross a syntax error in the *.inf
file of the driver.
Thx a bunch.
More information about the freebsd-hackers
mailing list