O adaptador sem fio Ralink RT5572 não funciona no modo AP na banda de 5 GHz com DFS

0

Objetivo:

Obtenha um adaptador CSL USB 2.0 WLAN funcionando em modo AP na banda de 5 GHz, em um sistema baseado em Linux (em especial, Ubuntu 16.04.4 LTS, kernel 4.13). O adaptador USB é baseado em um chipset da Ralink, ou seja, o RT5572, conforme a saída do comando lsusb :

(...)
Bus 001 Device 003: ID 148f:5572 Ralink Technology, Corp. RT5572 Wireless Adapter
(...)

Problema:

Alcancei parcialmente meu objetivo: sou capaz de definir o adaptador como um AP na banda de 5 GHz para os canais 36, 38, ... até 48, configurando a variável channel na% arquivohostapd.conf, como mostrado abaixo.

interface=wlx24050f615114
driver=nl80211
ssid=nikola-tesla
hw_mode=a
ieee80211n=1
ht_capab=HT40+
channel=48
country_code=PT
macaddr_acl=0
auth_algs=1           # 1=wpa, 2=wep, 3=both
wpa=2                 # WPA2 only
wpa_key_mgmt=WPA-PSK  
rsn_pairwise=CCMP
wpa_passphrase=xxxxxxxxxx
ignore_broadcast_ssid=0
logger_syslog=-1
logger_syslog_level=0

No entanto, os canais "superiores" não funcionam. Por exemplo, se eu definir channel=52 (ou maior), a configuração do PA falhará, com as seguintes mensagens de erro do hostapd:

hostapd: wlx24050f615114: IEEE 802.11 Configured channel (52) not found from the channel list of current mode (2) IEEE 802.11a
hostapd: wlx24050f615114: IEEE 802.11 Hardware does not support configured channel

Observe que nenhum dos canais no intervalo de 'trabalho' requer detecção de radar (ou seja, nenhum requisito de DFS), conforme mostrado pela saída de iw list abaixo.

Band 2:
    Bitrates (non-HT):
        * 6.0 Mbps
        * 9.0 Mbps
        * 12.0 Mbps
        * 18.0 Mbps
        * 24.0 Mbps
        * 36.0 Mbps
        * 48.0 Mbps
        * 54.0 Mbps
    Frequencies:
        * 5170 MHz [34] (disabled)
        * 5180 MHz [36] (20.0 dBm)
        * 5190 MHz [38] (20.0 dBm)
        * 5200 MHz [40] (20.0 dBm)
        * 5210 MHz [42] (20.0 dBm)
        * 5220 MHz [44] (20.0 dBm)
        * 5230 MHz [46] (20.0 dBm)
        * 5240 MHz [48] (20.0 dBm)
        * 5260 MHz [52] (20.0 dBm) (radar detection)
          DFS state: usable (for 15263 sec)
          DFS CAC time: 60000 ms
        * 5280 MHz [56] (20.0 dBm) (radar detection)
          DFS state: usable (for 15263 sec)
          DFS CAC time: 60000 ms
        * 5300 MHz [60] (20.0 dBm) (radar detection)
          DFS state: usable (for 15263 sec)
          DFS CAC time: 60000 ms
        * 5320 MHz [64] (20.0 dBm) (radar detection)
          DFS state: usable (for 15263 sec)
          DFS CAC time: 60000 ms

Perguntas:

  • Por que os canais de 5 GHz que exigem o DFS funcionam com essa configuração?

Tenho algumas suspeitas, mas não tenho ideia de como acompanhá-las:

O tempo DFS CAC (Verificação de Disponibilidade de Canal) relatado por iw reg get é 0 ms (mostrado abaixo) , enquanto o valor dado por iw list é 60 seg (como mostrado acima). / p>

country PT: DFS-ETSI
    (2402 - 2482 @ 40), (N/A, 20), (N/A)
    (5170 - 5250 @ 80), (N/A, 20), (N/A)
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS
    (5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
    (57000 - 66000 @ 2160), (N/A, 40), (N/A)

Pode ser por isso que os canais com requisitos de DFS não funcionam? Minha suposição aqui é que um max. O tempo CAC permitido de 0 ms bloqueia todas as tentativas de detecção de radar.

Pode haver mais restrições de domínio regulamentar "gravadas" no dispositivo. Eu sei que esse problema pode acontecer com os chipsets Atheros (por exemplo, regdomain configurado em firmware / EEPROM) e que existem soluções alternativas para (por exemplo, como em este exemplo ). No entanto, não consegui encontrar uma maneira de verificar se o mesmo está acontecendo com o RT5572. Existe uma maneira de saber se é isso que está acontecendo?

  • Alguém conseguiu fazer com que os canais DFS funcionassem com chipsets Ralink (por exemplo, o RT5572)?
por fortune_pickle 28.05.2018 / 19:57

1 resposta

0

Encontrei mais informações que podem responder à minha própria pergunta.

Apenas alguns drivers sem fio do Linux oferecem suporte à Seleção dinâmica de frequência (DFS), ou seja, 3: ath5k ath9k e ath10k . Esse recurso é chamado de "Seleção Automática de Canal (ACS)" em outra fonte .

Confirmei isso inspecionando o código-fonte dos drivers sem fio no Linux e observei que apenas os drivers ath* implementam métodos como ieee80211_radar_detected() . Isso pode explicar porque hostapd não pode definir o canal para um valor no intervalo DFS (52 a 140) quando o chipset RT5572 é usado (nota: o Linux usa o driver rt2800usb para trabalhar com o RT5572).

    
por 29.05.2018 / 11:40