Hard(?) lock when reassociating ath with wpa_supplicant on RELENG_7

Sam Leffler sam at freebsd.org
Sun Jul 13 22:16:29 UTC 2008


Martin wrote:
> Hi Sam,
> 
> do you know if there is anything done about cbb(4)? I have many
> wireless adapters with ath(4), but only the one based on PCMCIA is
> making problems on FreeBSD.
> 
> I cannot boot my notebook with the device inserted into the port, or it
> will render the system unusable (100% load on cbb(4)).
> 
> And all I can see is the following:
> Jul 12 14:58:39 link kernel: ath0: ath_chan_set: unable to reset channel 1 (2412 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:40 link kernel: ath0: ath_chan_set: unable to reset channel 6 (2437 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:58:41 link kernel: ath0: ath_chan_set: unable to reset channel 7 (2442 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:58:42 link kernel: ath0: ath_chan_set: unable to reset channel 2 (2417 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:43 link kernel: ath0: ath_chan_set: unable to reset channel 3 (2422 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:44 link kernel: ath0: ath_chan_set: unable to reset channel 4 (2427 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:58:45 link kernel: ath0: ath_chan_set: unable to reset channel 5 (2432 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:45 link kernel: ath0: ath_chan_set: unable to reset channel 8 (2447 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:46 link kernel: ath0: ath_chan_set: unable to reset channel 9 (2452 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:47 link kernel: ath0: ath_chan_set: unable to reset channel 10 (2457 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:58:52 link kernel: ath0: device timeout
> Jul 12 14:58:52 link kernel: ath0: ath_reset: unable to reset hardware; hal status 3231908395
> Jul 12 14:58:58 link kernel: ath0: ath_chan_set: unable to reset channel 1 (2412 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:58:59 link kernel: ath0: ath_chan_set: unable to reset channel 6 (2437 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:00 link kernel: ath0: ath_chan_set: unable to reset channel 7 (2442 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:01 link kernel: ath0: ath_chan_set: unable to reset channel 2 (2417 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:01 link kernel: ath0: ath_chan_set: unable to reset channel 3 (2422 Mhz, flags 0x480 hal flags 0xc0), hal status 3289233408
> Jul 12 14:59:02 link kernel: ath0: ath_chan_set: unable to reset channel 4 (2427 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:03 link kernel: ath0: ath_chan_set: unable to reset channel 5 (2432 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:04 link kernel: ath0: ath_chan_set: unable to reset channel 8 (2447 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:05 link kernel: ath0: ath_chan_set: unable to reset channel 9 (2452 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:06 link kernel: ath0: ath_chan_set: unable to reset channel 10 (2457 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:10 link kernel: ath0: device timeout
> Jul 12 14:59:10 link kernel: ath0: ath_reset: unable to reset hardware; hal status 3231908395
> Jul 12 14:59:11 link kernel: ath0: ath_chan_set: unable to reset channel 1 (2412 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:59:12 link kernel: ath0: ath_chan_set: unable to reset channel 6 (2437 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:13 link kernel: ath0: ath_chan_set: unable to reset channel 7 (2442 Mhz, flags 0x480 hal flags 0xc0), hal status 3233070656
> Jul 12 14:59:14 link kernel: ath0: ath_chan_set: unable to reset channel 2 (2417 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:15 link kernel: ath0: ath_chan_set: unable to reset channel 3 (2422 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:16 link kernel: ath0: unable to reset hardware; hal status 3868687084
> Jul 12 14:59:16 link kernel: ath0: ath_chan_set: unable to reset channel 4 (2427 Mhz, flags 0x480 hal flags 0xc0), hal status 0
> Jul 12 14:59:17 link kernel: ath0: ath_chan_set: unable to reset channel 11 (2462 Mhz, flags 0x480 hal flags 0xc0), hal status 3828804624
> Jul 12 14:59:22 link kernel: ath0: unable to reset hardware; hal status 3868539700
> Jul 12 14:59:32 link kernel: ath0: unable to reset hardware; hal status 3868539700
> Jul 12 14:59:42 link kernel: ath0: unable to reset hardware; hal status 3868539700
> Jul 12 15:00:22 link last message repeated 4 times
> Jul 12 15:00:32 link kernel: ath0: unable to reset hardware; hal status 3868539700
> Jul 12 15:00:42 link kernel: ath0: unable to reset hardware; hal status 3868539700
> Jul 12 15:00:52 link kernel: ath0: unable to reset hardware; hal status 3868539700
> 
> 
> wpa_supplicant is trying to access the card and switching channels, I
> suppose.
> 
> A workaround that I'm using all the time is:
> 1) boot the notebook without the PCMCIA card
> 2) after gdm appears, insert the card
> 
> Also see:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/120376
> 
> In this PR I also described that you can panic the system,
> while trying to fix the situation by reinserting the card.
> But I found out, that you can always panic the system when
> ejecting the card and wpa_supplicant is running.
> 

Sorry I am not familiar enough with the cardbus support to comment.  The 
zero status codes from ath_hal_reset are odd though.  Inspecting the hal 
code it appears this can happen if the hal couldn't power up the chip 
which is consistent with the rest of the PR.

	Sam


More information about the freebsd-stable mailing list