Re: ath(4) with Atheros 5416 Mini-PCI problems leading to reboots

From: Sam Leffler <sam_at_freebsd.org>
Date: Tue, 15 Apr 2008 07:55:05 -0700
Stuart Fraser wrote:
> Hi,
>
> Has anyone got the ath(4) driver working with the Atheros 5416 card and is
> it stable?
> I am running FreeBSD 7.0 (stable) with the hal patch from
> http://people.freebsd.org/~sam.
>
> The symptoms are that it will startup fine on reboot very quickly I get the
> channel 6 reset message as below followed by the device timeout messages.
> After that happens all I can do is down the card.
>
>  so I get the following in dmesg
>
>   
>> dmesg snip <
>>     
> ath0: <Atheros 5416> mem 0xfcfe0000-0xfcfeffff irq 17 at device 20.0 on pci0
> ath0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0xfcfe0000
> ioapic0: routing intpin 17 (PCI IRQ 17) to vector 56
> ath0: [MPSAFE]
> ath0: [ITHREAD]
> ath0: hal channel 2412/a0 -> 1
> ath0: hal channel 2412/c0 -> 1
> ath0: hal channel 2417/a0 -> 2
> ath0: hal channel 2417/c0 -> 2
> ath0: hal channel 2422/a0 -> 3
> ath0: hal channel 2422/c0 -> 3
> ath0: hal channel 2427/a0 -> 4
> ath0: hal channel 2427/c0 -> 4
> ath0: hal channel 2432/a0 -> 5
> ath0: hal channel 2432/c0 -> 5
> ath0: hal channel 2437/a0 -> 6
> ath0: hal channel 2437/c0 -> 6
> ath0: hal channel 2437/d0 -> 6
> ath0: hal channel 2442/a0 -> 7
> ath0: hal channel 2442/c0 -> 7
> ath0: hal channel 2447/a0 -> 8
> ath0: hal channel 2447/c0 -> 8
> ath0: hal channel 2452/a0 -> 9
> ath0: hal channel 2452/c0 -> 9
> ath0: hal channel 2457/a0 -> 10
> ath0: hal channel 2457/c0 -> 10
> ath0: hal channel 2462/a0 -> 11
> ath0: hal channel 2462/c0 -> 11
> ath0: hal channel 2467/a0 -> 12
> ath0: hal channel 2467/c0 -> 12
> ath0: hal channel 2472/a0 -> 13
> ath0: hal channel 2472/c0 -> 13
> ath0: using obsoleted if_watchdog interface
> ath0: bpf attached
> ath0: Ethernet address: 00:0e:8e:15:6e:63
> ath0: bpf attached
> ath0: bpf attached
> 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 13.10 phy 8.1 radio 13.0
> ath0: Use hw queue 1 for WME_AC_BE traffic
> ath0: Use hw queue 0 for WME_AC_BK traffic
> ath0: Use hw queue 2 for WME_AC_VI traffic
> ath0: Use hw queue 3 for WME_AC_VO traffic
> ath0: Use hw queue 8 for CAB traffic
> ath0: Use hw queue 9 for beacons
>  
> Eventually I get 
>
> ath0: ath_chan_set: unable to reset channel 6 (2437 Mhz, flags 0x490 hal
> flags 0x150), hal status 12
>   

Status 12 is HAL_EINVAL which typically means the channel configuration 
passed in is invalid.  hal flags 0x150 is a dynamic turbo channel in 
5GHz (check ah.h for definitions).  The net80211 flags are 0x490 which 
describes a 2GHz channel which makes sense given the frequency is 2437.  
Sounds like something is mismapped.

> ath0: device timeout
> ath0: device timeout
> ath0: device timeout
> ath0: device timeout
>
>
> Occasionally it will report an 'rx: FIFO error' but not this time :) anyways
> once it has reported 'device timeout'
> The only thing you can do is reboot the box.
>
> My athstats follows, this is after a reboot and it locking out after a few
> minutes of no actual use:
>
> nas# athstats
> 23 data frames transmit
> 0M current transmit rate
> 1 watchdog timeouts
> 57 tx management frames
> 270 tx frames discarded prior to association
> 80 tx frames with no ack marked
> 16 rx failed 'cuz of bad CRC
> 171 rx failed 'cuz of PHY err
>     43 OFDM timing
>     128 CCK timing
> 20 periodic calibrations
> -128 rssi of last ack
> 6 avg recv rssi
> -96 rx noise floor
> Antenna profile:
> [0] tx       67 rx      125
>
> Strange it only see's 1 antenna as I have three attached :(
>   

Antenna information is different for the 11n parts and not broken out as 
you'd expect.  The other status however don't make a lot of sense and 
indicate you might have a mismatch between kernel+user code compile options.


> The interface is configure thus:
>
> ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
>         ether 00:0e:8e:15:6e:63
>         inet 192.168.50.1 netmask 0xffffff00 broadcast 192.168.50.255
>         media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
>         status: associated
>         ssid sf-bsd channel 1 (2412 Mhz 11g) bssid 00:0e:8e:15:6e:63
>         authmode WPA privacy MIXED deftxkey 2 TKIP 2:128-bit TKIP 3:128-bit
>         txpower 31.5 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
>         roam:rssi11g 7 roam:rate11g 5 protmode CTS burst dtimperiod 1
>
>
> Pciconf shows:
> ath0_at_pci0:0:20:0:       class=0x028000 card=0x2071168c chip=0x0023168c
> rev=0x01 hdr=0x00
>     vendor     = 'Atheros Communications Inc.'
>     device     = 'AR5008 Wireless Network Adapter'
>     class      = network
>
> sysctl -a grep ath is
>
> hw.ath.hal.swba_backoff: 0
> hw.ath.hal.sw_brt: 10
> hw.ath.hal.dma_brt: 2
> hw.ath.hal.version: 0.9.30.13
> hw.ath.txbuf: 200
> hw.ath.rxbuf: 40
> hw.ath.regdomain: 0
> hw.ath.countrycode: 0
> hw.ath.xchanmode: 1
> hw.ath.outdoor: 1
> hw.ath.calibrate: 30
> dev.ath.0.%desc: Atheros 5416
> dev.ath.0.%driver: ath
> dev.ath.0.%location: slot=20 function=0 handle=\_SB_.PCI0.SLT1
> dev.ath.0.%pnpinfo: vendor=0x168c device=0x0023 subvendor=0x168c
> subdevice=0x2071 class=0x028000
> dev.ath.0.%parent: pci0
> dev.ath.0.smoothing_rate: 95
> dev.ath.0.sample_rate: 10
> dev.ath.0.countrycode: 0
> dev.ath.0.regdomain: 48
> dev.ath.0.slottime: 9
> dev.ath.0.acktimeout: 48
> dev.ath.0.ctstimeout: 48
> dev.ath.0.softled: 0
> dev.ath.0.ledpin: 0
> dev.ath.0.ledon: 0
> dev.ath.0.ledidle: 2700
> dev.ath.0.txantenna: 0
> dev.ath.0.rxantenna: 1
> dev.ath.0.diversity: 0
> dev.ath.0.txintrperiod: 5
> dev.ath.0.diag: 0
> dev.ath.0.tpscale: 0
> dev.ath.0.tpc: 0
> dev.ath.0.tpack: 63
> dev.ath.0.tpcts: 63
> dev.ath.0.fftxqmin: 2
> dev.ath.0.fftxqmax: 50
> dev.ath.0.monpass: 24
> dev.ath.0.wake: 0
>
>
>
> What else should I be looking at ? Anyone any pointers or suggestions
>
>   
Regdomain 48 is the Public Safety Band (PSB) enabled version of the 
FCC.  It has frequencies in the 4.9GHz range and it appears these are 
getting mapped incorrectly.  You can try masking them out of the channel 
list with ifconfig chanlist or otherwise restricting the band.  Another 
option is to find a tool to alter the regdomain code in the eeprom 
(can't help you find it but it's well-known).

As to general support, the first gen 11n parts (5416, 5418) work only in 
legacy and have numerous issues--but some people have reported the 
0.9.30.3 hal (or whatever the version is) works well enough to use the 
parts.  Beware that later owl-generation parts are not supported.  The 
latest chips are unlikely to ever be supported as Atheros has restricted 
my access to information about them.

    Sam
Received on Tue Apr 15 2008 - 12:55:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:29 UTC