LINUX.ORG.RU

ath9k_htc и 5Ghz


1

1

Ребята, не могу usb-адаптер sony UWA-BR100 (драйвер ath9k_htc) на 5 гигагерц завести. Есть какие идеи? Вот этот патч накладывал, не помогает: https://dev.openwrt.org/browser/trunk/package/mac80211/patches/403-ath_regd_o... (патч аналогичен ath9k + hostapd = 5 GHz Access Point)

И вот этот накладывал: http://patches.aircrack-ng.org/ath9k_regdomain_override.patch . По dmesg всё шоколадно, он делает вид что меняет, но iw phy phy0 info всё равно выдаёт country 00. Возможно, я плохо пропатчил, патч не накатывается, портировал как мог.

В общем, что бы я не делал iw reg get выдаёт «country 00: DFS-UNSET». Гуглил всё что можно, в том числе способы изменить EEPROM, но не нашёл ничего толкового. Большинство советов для других драйверов и карточек.

Некоторая инфа:

# COUNTRY=LU crda 
Failed to set regulatory domain: -7

## этот модуль вообще в lsmod не встречается
# cat /etc/modprobe.d/cfg80211.conf
options cfg80211 ieee80211_regdom=LU

# из dmesg:
[    5.760000] usb 1-3.1: ath9k_htc: Firmware htc_7010.fw requested
[    5.760000] usbcore: registered new interface driver ath9k_htc
[    5.875000] usb 1-3.1: ath9k_htc: Transferred FW: htc_7010.fw, size: 72992
[    5.935000] ath9k_htc 1-3.1:1.0: ath9k_htc: HTC initialized with 45 credits
[    6.485000] ath9k_htc 1-3.1:1.0: ath9k_htc: FW Version: 1.3
[    6.485000] ath: EEPROM regdomain: 0x6a
[    6.485000] ath: EEPROM indicates we should expect a direct regpair map
[    6.485000] ath: Country alpha2 being used: 00
[    6.485000] ath: Regpair used: 0x6a
[    6.490000] ieee80211 phy0: Atheros AR9280 Rev:2

# iw phy phy0 info
...
        Band 2:
                Capabilities: 0x114e
                        HT20/HT40
                        SM Power Save disabled
                        RX HT40 SGI
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 8 usec (0x06)
                HT TX/RX MCS rate indexes supported: 0-15
                Frequencies:
                        * 5180 MHz [36] (20.0 dBm) (passive scanning, no IBSS)
                        * 5200 MHz [40] (20.0 dBm) (passive scanning, no IBSS)
                        * 5220 MHz [44] (20.0 dBm) (passive scanning, no IBSS)
                        * 5240 MHz [48] (20.0 dBm) (passive scanning, no IBSS)
                        * 5260 MHz [52] (disabled)
                        * 5280 MHz [56] (disabled)
                        * 5300 MHz [60] (disabled)
                        * 5320 MHz [64] (disabled)
...

# iwlist freq
wlan0     23 channels in total; available frequencies :
...
          Channel 36 : 5.18 GHz
          Channel 40 : 5.2 GHz
          Channel 44 : 5.22 GHz
          Channel 48 : 5.24 GHz
          Channel 149 : 5.745 GHz
          Channel 153 : 5.765 GHz
          Channel 157 : 5.785 GHz
          Channel 161 : 5.805 GHz
          Channel 165 : 5.825 GHz

★★★★★

Последнее исправление: true_admin (всего исправлений: 2)

тебе из-за кода страны доступны не все каналы или ты в принципе на можешь на 5GHz работать?

andrew667 ★★★★★
()
Ответ на: комментарий от andrew667

Из-за кода страны (точнее, тут вообще world roaming) я могу AP поднять только в диапазоне 2.4GHz. В диапазоне 5GHz оно пишет no IBSS, что значит что AP нельзя.

Что интересно, passive scanning может означать то что как только точка хоть раз увидит другую точку в этом диапазоне то эти диапазоны могут включиться. К сожалению, вокруг таких точек нет.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

В диапазоне 5GHz оно пишет no IBSS, что значит что AP нельзя.

IBSS используется для режима ad-hoc. Погаси интерфейс, переведи его в режим мастера, потом настрой. Тебе надо настроить (E)SSID

andrew667 ★★★★★
()
Ответ на: комментарий от andrew667

IBSS используется для режима ad-hoc

Это у меня уже крыша едет после 10 часов возни с драйвером.

Погаси интерфейс, переведи его в режим мастера

А как? iwconfig wlan0 mode master говорит Invalid argument. hostapd остановлен, тачку ребутал. iw wlan0 set type умеет только managed, ibss, monitor, mesh, wds

Вот что говорит hostapd сейчас на 36-й канал:

nl80211: 5170-5250 @ 40 MHz
nl80211: 5735-5835 @ 40 MHz
nl80211: 57240-63720 @ 2160 MHz
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm
wlan0: IEEE 802.11 Configured channel (36) not found from the channel list of current mode (1) IEEE 802.11g
wlan0: IEEE 802.11 Hardware does not support configured channel
Could not select hw_mode and channel. (-4)
wlan0: Unable to setup interface.
true_admin ★★★★★
() автор топика
modinfo cfg80211
filename:       /lib/modules/3.8.0-27-generic/kernel/net/wireless/cfg80211.ko
description:    wireless configuration support
license:        GPL
author:         Johannes Berg
srcversion:     EC4BC5D912052DFB10B986E
depends:        
intree:         Y
vermagic:       3.8.0-27-generic SMP mod_unload modversions 686 
parm:           ieee80211_regdom:IEEE 802.11 regulatory domain code (charp)
parm:           cfg80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)

тебя интересует это ieee80211_regdom

Опачки, невнимательно читал ОП. Что за дистрибутив у тебя такой?

daemonpnz ★★★★★
()
Последнее исправление: daemonpnz (всего исправлений: 1)
Ответ на: комментарий от daemonpnz

тебя интересует это ieee80211_regdom

Фишка в том что этот модуль вообще не подгружен O_o. Т.е. для ath9k оно не нужно почему-то.

Что за дистрибутив у тебя такой?

Арчик на арме (плата odroid-u2), ядро 3.8.13.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от daemonpnz

давное уже не надо делать

Это везде пишут, но нигде не говорят как надо :). Я подозреваю что кроме как запустить hostapd способа и нет.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Погаси ifconfig wlan0 down или ifdown wlan0. Потом поднимай. Моя сетевуха что сейчас под руками че-то не поднимается в мастере (ath9285 на 2.4GHz)

[root@localhost ~]# iwconfig wlp2s0 essid 12345 mode Ad-Hoc
[root@localhost ~]# iwconfig
p2p1      no wireless extensions.

wlp2s0    IEEE 802.11bgn  ESSID:off/any  
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: Not-Associated   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
p3p1      no wireless extensions.

lo        no wireless extensions.

[root@localhost ~]# ifup  wlp2s0
[root@localhost ~]# ifconfig wlp2s0 up

[root@localhost ~]# iwconfig
p2p1      no wireless extensions.

wlp2s0    IEEE 802.11bgn  ESSID:off/any  
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: Not-Associated   
          Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
p3p1      no wireless extensions.

lo        no wireless extensions.

[root@localhost ~]# iwconfig wlp2s0 essid 12345 mode Master
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlp2s0 ; Invalid argument.

andrew667 ★★★★★
()
Ответ на: комментарий от true_admin

У меня hostapd тоже не выставлял нужный regdom, поэтому я делаю это черех модуль cfg80211

daemonpnz ★★★★★
()
Ответ на: комментарий от andrew667

Счас переключением в master mode занимается hostapd и точка.

daemonpnz ★★★★★
()
Ответ на: комментарий от daemonpnz

конфиг ядра давай

https://github.com/hardkernel/linux/blob/odroid-3.8.y/arch/arm/configs/odroid...

А вот lsmod

┌─[1]─[23:48:46]─[root@odroid]─[~]
└──# lsmod 
Module                  Size  Used by
tun                    17895  2 
ipt_MASQUERADE          1693  1 
iptable_nat             2485  1 
nf_conntrack_ipv4      13029  1 
nf_defrag_ipv4          1231  1 nf_conntrack_ipv4
nf_nat_ipv4             3444  1 iptable_nat
nf_nat                 14753  3 ipt_MASQUERADE,nf_nat_ipv4,iptable_nat
bridge                 81152  0 
stp                     1882  1 bridge
llc                     4842  2 stp,bridge
nf_conntrack           65240  5 ipt_MASQUERADE,nf_nat,nf_nat_ipv4,iptable_nat,nf_conntrack_ipv4
ip_tables              10700  1 iptable_nat
x_tables               15172  2 ip_tables,ipt_MASQUERADE
ath9k_htc              63778  0 
ath9k_common            2681  1 ath9k_htc
ath9k_hw              400464  2 ath9k_common,ath9k_htc
ath                    14596  3 ath9k_common,ath9k_htc,ath9k_hw
smsc95xx               19090  0 
usbnet                 19480  1 smsc95xx
gpio_keys               7062  0 
ipv6                  261616  17 bridge

true_admin ★★★★★
() автор топика
Ответ на: комментарий от andrew667

Погаси ifconfig wlan0 down

Мамой клянусь, гасил.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от daemonpnz

во время загрузки передавай ядру параметр вроде cfg80211.ieee80211_regdom=LU

Не помогло. Щас попробую пересобрать ядро.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от daemonpnz

Ура, как модулем пересобрал так оно таки поверило что мы в Люксембурге. Только вот hostap выставить канал не может, по-прежнему выдаёт что доступны только 2.4GHz каналы. Я попытался поставить country code US или GB, но оно не взлетело.

В общем, щас весь 5GHz Заблочен. У меня такое чувство что не совпадают каналы и допустимые частоты:

# regdbdump /usr/lib/crda/regulatory.bin | less
...
country LU:
        (2402.000 - 2482.000 @ 40.000), (N/A, 20.00)
        (5170.000 - 5250.000 @ 40.000), (N/A, 20.00)
        (5250.000 - 5330.000 @ 40.000), (N/A, 20.00), DFS
        (5490.000 - 5710.000 @ 40.000), (N/A, 27.00), DFS
        (57240.000 - 65880.000 @ 2160.000), (N/A, 40.00), NO-OUTDOOR
...

# iw phy phy0 info
                        * 5180 MHz [36] (30.0 dBm) (passive scanning, no IBSS)
                        * 5200 MHz [40] (30.0 dBm) (passive scanning, no IBSS)
                        * 5220 MHz [44] (30.0 dBm) (passive scanning, no IBSS)
                        * 5240 MHz [48] (30.0 dBm) (passive scanning, no IBSS)
                        * 5260 MHz [52] (30.0 dBm) (passive scanning, no IBSS, radar detection)
                        * 5280 MHz [56] (30.0 dBm) (passive scanning, no IBSS, radar detection)
                        * 5300 MHz [60] (30.0 dBm) (passive scanning, no IBSS, radar detection)
                        * 5320 MHz [64] (30.0 dBm) (passive scanning, no IBSS, radar detection)
                        * 5500 MHz [100] (disabled)
                        * 5520 MHz [104] (disabled)
                        * 5540 MHz [108] (disabled)
  
# hostapd -dd /etc/hostapd/hostapd.conf
...
nl80211: Regulatory information - country=LU
nl80211: 2402-2482 @ 40 MHz
nl80211: 5170-5250 @ 40 MHz
nl80211: 5250-5330 @ 40 MHz
nl80211: 5490-5710 @ 40 MHz
nl80211: 57240-65880 @ 2160 MHz
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm
wlan0: IEEE 802.11 Configured channel (36) not found from the channel list of current mode (1) IEEE 802.11g
wlan0: IEEE 802.11 Hardware does not support configured channel
Could not select hw_mode and channel. (-4)
...

true_admin ★★★★★
() автор топика

Во-первых, патчи надо накладывать все, а не только те, что есть в свободном доступе. Во-вторых, тут все полезли не в ту степь совершенно.

Разберёмся по-порядку, в логах тебе явно пишет, что подобрало country code 0x6a (в терминологии атероса, есть прошитое в eeprom regdomain и отдаваемое системой, что есть той самой regpair, в драйверах приоритет имеет eeprom, но сами частоты всё-равно берутся из базы данных regdomain'ов системы). В твоём случае нужно пересобрать всю базу и раскрыть весь необходимый диапазон без флагов (они влияют на режимы работы, об этом ниже) и радоваться жизни.

Насчёт флагов, всякие NO_IBSS отвечают не за режим adhoc, а за возможность посылать маячки (beacons) - ключевая возможность работы режимов access point и adhoc, PASSIVE_SCAN в принципе тоже самое, но для режима station (при сканировании не посылать запросы, чтоб точки доступа сразу же отвечали ответом, а просто слушать каждый канал подольше в надежде услышать песню в пустыне). Поэтому, если не планируешь летать самолётами или распространять свои деяния, эти флаги можно смело убрать (намекну, /drivers/net/wireless/ath/regd.c). На зметку, при установленных флагах на указанном канале hostapd никогда не запустится и драйвера не дадут включить adhoc - в этом вся суть.

И на завершение, если хочешь совсем без проблем, возьми openwrt, собери прошивку и выдерни оттуда compat-wireless, чтоб легче было дорабатывать под себя. У openwrt уже включена поддержка встроенной базы данных regdomains в текстовом файле прямо в драйвер (как сейчас не знаю, у меня срез транка полугодичной давности).

nickleiten ★★★
()
Ответ на: комментарий от daemonpnz

nickleiten, ребята, спасибо, вечером попробую.

PS ппц возни с этими 5GHz, конечно...

true_admin ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.