| Summary: | iwi(4): cannot use channels 12 and 13 for DE/ETSI | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Taras Korenko <ds> | ||||
| Component: | wireless | Assignee: | Andriy Voskoboinyk <avos> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Some People | CC: | avos | ||||
| Priority: | --- | Keywords: | patch | ||||
| Version: | 11.0-STABLE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Taras Korenko
2017-02-08 18:54:05 UTC
Those were facts, now it's time to my observations and assumptions. Another incarnation of the same(IMO) bug may be reproduced by 'touching' the country/regdomain settings. (Under 'touching' I mean 'changing to other value and rolling back'). Thus, on a freshly booted system, one may run the following: ------------------------------------------------------------------------ d610% ifconfig wlan0 ifconfig: interface wlan0 does not exist d610# ifconfig wlan0 create wlandev iwi0 d610# ifconfig wlan0 country US d610# ifconfig wlan0 list chan Channel 1 : 2412 MHz 11g Channel 11 : 2462 MHz 11g Channel 2 : 2417 MHz 11g Channel 36 : 5180 MHz 11a Channel 3 : 2422 MHz 11g Channel 40 : 5200 MHz 11a Channel 4 : 2427 MHz 11g Channel 44 : 5220 MHz 11a Channel 5 : 2432 MHz 11g Channel 48 : 5240 MHz 11a Channel 6 : 2437 MHz 11g Channel 149 : 5745 MHz 11a Channel 7 : 2442 MHz 11g Channel 153 : 5765 MHz 11a Channel 8 : 2447 MHz 11g Channel 157 : 5785 MHz 11a Channel 9 : 2452 MHz 11g Channel 161 : 5805 MHz 11a Channel 10 : 2457 MHz 11g d610# ifconfig wlan0 country DE d610# ifconfig wlan0 country US d610# ifconfig wlan0 list chan Channel 1 : 2412 MHz 11g Channel 9 : 2452 MHz 11g Channel 2 : 2417 MHz 11g Channel 10 : 2457 MHz 11g Channel 3 : 2422 MHz 11g Channel 11 : 2462 MHz 11g Channel 4 : 2427 MHz 11g Channel 36 : 5180 MHz 11a Channel 5 : 2432 MHz 11g Channel 40 : 5200 MHz 11a Channel 6 : 2437 MHz 11g Channel 44 : 5220 MHz 11a Channel 7 : 2442 MHz 11g Channel 48 : 5240 MHz 11a Channel 8 : 2447 MHz 11g d610# ------------------------------------------------------------------------ Note, that touching regulatory settings effectively shrinked the list of available channels: 149,153,157,161 are missing. Created attachment 179774 [details]
svn diff for iwi(4) (stable/11, r313440)
To make long story short: the possible cause of this weird behavior is missing implementation of ic_getradiocaps 'method(?)' within iwi(4) driver. The workaround is attached ( comment #2 ), however I dunno whether it is correct from design POV; at least it works for me: ------------------------------------------------------------------------ d610# ifconfig wlan0 create wlandev iwi0 d610# ifconfig wlan0 country US d610# ifconfig wlan0 list chan Channel 1 : 2412 MHz 11g Channel 11 : 2462 MHz 11g Channel 2 : 2417 MHz 11g Channel 36 : 5180 MHz 11a Channel 3 : 2422 MHz 11g Channel 40 : 5200 MHz 11a Channel 4 : 2427 MHz 11g Channel 44 : 5220 MHz 11a Channel 5 : 2432 MHz 11g Channel 48 : 5240 MHz 11a Channel 6 : 2437 MHz 11g Channel 149 : 5745 MHz 11a Channel 7 : 2442 MHz 11g Channel 153 : 5765 MHz 11a Channel 8 : 2447 MHz 11g Channel 157 : 5785 MHz 11a Channel 9 : 2452 MHz 11g Channel 161 : 5805 MHz 11a Channel 10 : 2457 MHz 11g Channel 165 : 5825* MHz 11a d610# ifconfig wlan0 country DE d610# ifconfig wlan0 list chan Channel 1 : 2412 MHz 11g Channel 48 : 5240 MHz 11a Channel 2 : 2417 MHz 11g Channel 52 : 5260* MHz 11a Channel 3 : 2422 MHz 11g Channel 56 : 5280* MHz 11a Channel 4 : 2427 MHz 11g Channel 60 : 5300* MHz 11a Channel 5 : 2432 MHz 11g Channel 64 : 5320* MHz 11a Channel 6 : 2437 MHz 11g Channel 100 : 5500* MHz 11a Channel 7 : 2442 MHz 11g Channel 104 : 5520* MHz 11a Channel 8 : 2447 MHz 11g Channel 108 : 5540* MHz 11a Channel 9 : 2452 MHz 11g Channel 112 : 5560* MHz 11a Channel 10 : 2457 MHz 11g Channel 116 : 5580* MHz 11a Channel 11 : 2462 MHz 11g Channel 120 : 5600* MHz 11a Channel 12 : 2467 MHz 11g Channel 124 : 5620* MHz 11a Channel 13 : 2472 MHz 11g Channel 128 : 5640* MHz 11a Channel 36 : 5180 MHz 11a Channel 132 : 5660* MHz 11a Channel 40 : 5200 MHz 11a Channel 136 : 5680* MHz 11a Channel 44 : 5220 MHz 11a Channel 140 : 5700* MHz 11a d610# ifconfig wlan0 country US d610# ifconfig wlan0 list chan Channel 1 : 2412 MHz 11g Channel 11 : 2462 MHz 11g Channel 2 : 2417 MHz 11g Channel 36 : 5180 MHz 11a Channel 3 : 2422 MHz 11g Channel 40 : 5200 MHz 11a Channel 4 : 2427 MHz 11g Channel 44 : 5220 MHz 11a Channel 5 : 2432 MHz 11g Channel 48 : 5240 MHz 11a Channel 6 : 2437 MHz 11g Channel 149 : 5745 MHz 11a Channel 7 : 2442 MHz 11g Channel 153 : 5765 MHz 11a Channel 8 : 2447 MHz 11g Channel 157 : 5785 MHz 11a Channel 9 : 2452 MHz 11g Channel 161 : 5805 MHz 11a Channel 10 : 2457 MHz 11g Channel 165 : 5825* MHz 11a d610# ------------------------------------------------------------------------ Take. (OpenBSD / NetBSD drivers are not using channels 100-140 with this device - however, ieee80211_init_channels() already adds them and there are no bug reports about channel list misconfiguration, so lets assume that it just works) A commit references this bug: Author: avos Date: Mon Feb 13 02:15:56 UTC 2017 New revision: 313694 URL: https://svnweb.freebsd.org/changeset/base/313694 Log: iwi: add 12-14 2GHz channels into channel list. Return full channel list via iwi_getradiocaps() method (ieee80211_init_channels() was replaced with iwi_getradiocaps() to be consistent with other drivers). PR: 216923 Submitted and tested by: ds@ukrhub.net (original patch) MFC after: 5 days Changes: head/sys/dev/iwi/if_iwi.c A commit references this bug: Author: avos Date: Sat Feb 18 19:19:08 UTC 2017 New revision: 313921 URL: https://svnweb.freebsd.org/changeset/base/313921 Log: MFC r313694: iwi: add 12-14 2GHz channels into channel list. Return full channel list via iwi_getradiocaps() method (ieee80211_init_channels() was replaced with iwi_getradiocaps() to be consistent with other drivers). PR: 216923 Submitted and tested by: ds@ukrhub.net (original patch) Changes: _U stable/11/ stable/11/sys/dev/iwi/if_iwi.c Committed, thanks! |