Modify

Opened 8 years ago

Closed 7 years ago

Last modified 4 years ago

#6549 closed defect (wontfix)

pico station 2.4 high and regular power crashes with country code 356, India

Reported by: David Acker <dacker@…> Owned by: nbd
Priority: normal Milestone: Barrier Breaker 14.07
Component: kernel Version: Kamikaze 8.09
Keywords: Cc:

Description

If I set the country code to 356 (india), the system will crash and reboot. I have seen this in 8.09.1 and 8.09.2.

Debugging shows that the hal seems to be returning invalid channels for this country. The following assert is being triggered:

KASSERT(c->ic_ieee < IEEE80211_CHAN_MAX,
			("channel with bogus ieee number %u", c->ic_ieee));

This is in madwifi in net80211/ieee80211.c, ieee80211_update_channels . The problem seems to actually occur earlier in ath/if_ath.c in ath_getchannels. The call to ath_hal_init_channels returns some odd data including channels below channel 1 and channels above channel 13. It is the 255 channel which causes the crash. I suspect it was -1 and then somewhere was converted to unsigned char before being returned.

Here is some debug output where chan is the i variable in the for loop, freq is ichan->ic_freq, and ieee is ichan->ic_ieee which is set by a call to ath_hal_mhz2ieee that takes the channel and flags.

ath_getchannels: chan 0, freq 2402 returned ieee of 255                                                                          
ath_getchannels: chan 1, freq 2402 returned ieee of 255                                                                          
ath_getchannels: chan 2, freq 2402 returned ieee of 255                                                                          
ath_getchannels: chan 3, freq 2407 returned ieee of 0                                                                            
ath_getchannels: chan 4, freq 2407 returned ieee of 0                                                                            
ath_getchannels: chan 5, freq 2412 returned ieee of 1                                                                            
ath_getchannels: chan 6, freq 2412 returned ieee of 1                                                                            
ath_getchannels: chan 7, freq 2417 returned ieee of 2                                                                            
ath_getchannels: chan 8, freq 2417 returned ieee of 2                                                                            
ath_getchannels: chan 9, freq 2422 returned ieee of 3                                                                            
ath_getchannels: chan 10, freq 2422 returned ieee of 3                                                                           
ath_getchannels: chan 11, freq 2427 returned ieee of 4                                                                           
ath_getchannels: chan 12, freq 2427 returned ieee of 4                                                                           
ath_getchannels: chan 13, freq 2432 returned ieee of 5                                                                           
ath_getchannels: chan 14, freq 2432 returned ieee of 5                                                                           
ath_getchannels: chan 15, freq 2437 returned ieee of 6                                                                           
ath_getchannels: chan 16, freq 2437 returned ieee of 6                                                                           
ath_getchannels: chan 17, freq 2442 returned ieee of 7                                                                           
ath_getchannels: chan 18, freq 2442 returned ieee of 7                                                                           
ath_getchannels: chan 19, freq 2442 returned ieee of 7                                                                           
ath_getchannels: chan 20, freq 2447 returned ieee of 8                                                                           
ath_getchannels: chan 21, freq 2447 returned ieee of 8                                                                           
ath_getchannels: chan 22, freq 2452 returned ieee of 9                                                                           
ath_getchannels: chan 23, freq 2452 returned ieee of 9                                                                           
ath_getchannels: chan 24, freq 2457 returned ieee of 10                                                                          
ath_getchannels: chan 25, freq 2457 returned ieee of 10                                                                          
ath_getchannels: chan 26, freq 2462 returned ieee of 11                                                                          
ath_getchannels: chan 27, freq 2462 returned ieee of 11                                                                          
ath_getchannels: chan 28, freq 2467 returned ieee of 12                                                                          
ath_getchannels: chan 29, freq 2467 returned ieee of 12                                                                          
ath_getchannels: chan 30, freq 2472 returned ieee of 13                                                                          
ath_getchannels: chan 31, freq 2472 returned ieee of 13                                                                          
ath_getchannels: chan 32, freq 2477 returned ieee of 14                                                                          
ath_getchannels: chan 33, freq 2477 returned ieee of 14                                                                          
ath_getchannels: chan 34, freq 2482 returned ieee of 15                                                                          
ath_getchannels: chan 35, freq 2482 returned ieee of 15                                                                          
ath_getchannels: chan 36, freq 2482 returned ieee of 15 

Based on some testing India is the only country code that crashes.

Attachments (0)

Change History (4)

comment:1 Changed 8 years ago by thepeople

  • Owner changed from developers to nbd
  • Status changed from new to assigned

Can you try on trunk and see if this still happens?

comment:2 Changed 7 years ago by nbd

  • Resolution set to wontfix
  • Status changed from assigned to closed

madwifi development has stopped, consider switching to ath5k

comment:3 Changed 6 years ago by dacker@…

Does ath5k properly support the Ubiquiti pico station? What version of openwrt do I need?

comment:4 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.