ath_hal problem on slow hardware, can be tuned?

Luke Dean LukeD at pobox.com
Tue May 5 17:09:17 UTC 2009


I'm following 7-STABLE with my laptop.  As soon as ath_hal appeared, I
started having trouble with my wireless connection dropping every few
hours.

+ath0: ath_chan_set: unable to reset channel 11 (2462 Mhz, flags 0x480 hal 
flags 0xc0), hal status 3

The ath manpage documents this error as:
ath%d: ath_chan_set: unable to reset channel %u (%u Mhz)  The Atheros
Hardware Access Layer was unable to reset the hardware when switching
channels during scanning.  This should not happen.

sys/contrib/dev/ath/ah.h documents the error 3 as:
HAL_EIO         = 3,    /* Hardware didn't respond as expected */

I can run
/etc/rc.d/netif start
dhclient ath0
to reset the interface and reconnect to the wireless network after
this happens.

I'm thinking that ath_hal doesn't like my card as much as the old
ath driver system did, or perhaps there's some tunable that I need to
adjust.
This is an old laptop.  It's a Sony Vaio PCG-Z505S - a celeron
133MHz "designed for MS Windows 98".  In the best of circumstances, it
can never establish a wireless connection before ntp comes up at boot
time.  wpa_supplicant always "gives up" the first time it attempts to
connect because this hardware is so slow.  I'm saying it's slow.  I wonder
if it's so slow that it's not responding as fast as ath_hal wants it to
respond whenever it decides to rescan for channels.  I know that such
problems can sometimes be solved with sysctls or adjustment of constants.

Would anyone have any suggestions?

The wireless card is a DWL-G650 pccard, revision B2
pciconf -vlbc says this about it:
ath0 at pci0:2:0:0:        class=0x020000 card=0x32021186 chip=0x0013168c 
rev=0x01 hdr=0x00
     vendor     = 'Atheros Communications Inc.'
     device     = 'AR5212, AR5213 802.11a/b/g Wireless Adapter'
     class      = network
     subclass   = ethernet
     bar   [10] = type Memory, range 32, base 0x88000000, size 65536, 
enabled
     cap 01[44] = powerspec 2  supports D0 D3  current D0



More information about the freebsd-questions mailing list