Date: Wed, 31 Aug 2005 19:42:19 +0200 From: Alexander Best <arundel@h3c.de> To: freebsd-hackers@freebsd.org Subject: Problem with ath(4) and Netgear WG311T card Message-ID: <20050831174218.GA1522@skatecity>
next in thread | raw e-mail | index | archive | help
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@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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050831174218.GA1522>