Algo continua mudando meu domínio regulador sem fio

5

Eu tenho um Thinkpad T450s e KXStudio (Ubuntu + KDE) Minha conexão cai com muita frequência e acho que o problema está relacionado a freqüentes chamadas CRDA. Eu moro na Alemanha, mas por alguma razão meu computador parece realmente gostar dos EUA (ou melhor, do prefixo internacional 00)!

Aqui está uma saída típica de dmesg :

[  404.422554] wlan0: deauthenticated from 78:8d:f7:28:5b:48 (Reason: 6)
[  404.433563] cfg80211: Calling CRDA to update world regulatory domain
[  404.435411] cfg80211: World regulatory domain updated:
[  404.435413] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  404.435415] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  404.435416] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  404.435417] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[  404.435418] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  404.435419] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  404.435429] cfg80211: Calling CRDA for country: DE
[  404.437056] cfg80211: Regulatory domain changed to country: DE
[  404.437060] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  404.437062] cfg80211:   (2400000 KHz - 2483500 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  404.437064] cfg80211:   (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  404.437066] cfg80211:   (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  404.437068] cfg80211:   (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2698 mBm)
[  404.437069] cfg80211:   (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm)
[  414.946644] wlan0: authenticate with 78:8d:f7:28:5b:48
[  414.950643] wlan0: send auth to 78:8d:f7:28:5b:48 (try 1/3)
[  415.059726] wlan0: send auth to 78:8d:f7:28:5b:48 (try 2/3)
[  415.065667] wlan0: authenticated
[  415.066268] wlan0: associate with 78:8d:f7:28:5b:48 (try 1/3)
[  415.089862] wlan0: RX AssocResp from 78:8d:f7:28:5b:48 (capab=0xc11 status=0 aid=2)
[  415.105275] wlan0: associated
[  415.105430] cfg80211: Calling CRDA for country: US
[  415.110984] cfg80211: Regulatory domain changed to country: US
[  415.110992] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  415.110996] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
[  415.111000] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
[  415.111004] cfg80211:   (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111007] cfg80211:   (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111010] cfg80211:   (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111013] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
[  415.111016] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm)
[  419.277506] wlan0: deauthenticating from 78:8d:f7:28:5b:48 by local choice (reason=3)
[  419.281900] cfg80211: Calling CRDA to update world regulatory domain
[  419.285000] cfg80211: World regulatory domain updated:
[  419.285003] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  419.285005] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  419.285007] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  419.285008] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[  419.285010] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  419.285011] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  419.285024] cfg80211: Calling CRDA for country: DE
[  419.287014] cfg80211: Regulatory domain changed to country: DE
[  419.287017] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  419.287018] cfg80211:   (2400000 KHz - 2483500 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  419.287019] cfg80211:   (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  419.287020] cfg80211:   (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
[  419.287020] cfg80211:   (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2698 mBm)
[  419.287021] cfg80211:   (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm)

Aqui está uma saída típica de udevadm monitor --environment kernel :

KERNEL[316.218832] change   /devices/platform/regulatory.0 (platform)
ACTION=change
COUNTRY=DE
DEVPATH=/devices/platform/regulatory.0
MODALIAS=platform:regulatory
SEQNUM=2334
SUBSYSTEM=platform

UDEV  [316.219479] change   /devices/platform/regulatory.0 (platform)
ACTION=change
COUNTRY=00
DEVPATH=/devices/platform/regulatory.0
MODALIAS=platform:regulatory
SEQNUM=2333
SUBSYSTEM=platform
USEC_INITIALIZED=6216391

UDEV  [316.221855] change   /devices/platform/regulatory.0 (platform)
ACTION=change
COUNTRY=DE
DEVPATH=/devices/platform/regulatory.0
MODALIAS=platform:regulatory
SEQNUM=2334
SUBSYSTEM=platform
USEC_INITIALIZED=18676

KERNEL[319.092483] change   /devices/platform/regulatory.0 (platform)
ACTION=change
COUNTRY=US
DEVPATH=/devices/platform/regulatory.0
MODALIAS=platform:regulatory
SEQNUM=2335
SUBSYSTEM=platform

UDEV  [319.096341] change   /devices/platform/regulatory.0 (platform)
ACTION=change
COUNTRY=US
DEVPATH=/devices/platform/regulatory.0
MODALIAS=platform:regulatory
SEQNUM=2335
SUBSYSTEM=platform
USEC_INITIALIZED=92541

Eu configurei em /etc/default/crda o país DE, mas crda retorna:

COUNTRY environment variable not set.

Se eu executar export COUNTRY=DE e crda , obtenho:

Failed to set regulatory domain: -28

Mas o problema é (eu acho) outra coisa: por que o CRDA é chamado tantas vezes? Pelo quê? E por que é chamado para EUA?

    
por geodude 09.05.2015 / 12:40

1 resposta

5

Eu acredito que pelo menos três coisas afetam o CRDA. Primeiro, como você já sabe, o arquivo / etc / default / crda deve ter, no seu caso, uma linha descomentada:

REGDOMAIN=DE

Segundo, é o módulo cfg80211 que está reclamando em dmesg ; vamos tentar corrigir isso:

sudo -i
echo "options cfg80211 ieee80211_regdom=DE"  >  /etc/modprobe.d/cfg80211.conf
exit

Por fim, como sua interface sem fio é "Gerenciada", isto é, gerenciada pelo roteador quanto a canais, taxa de bits, etc., suspeito strongmente que, se o roteador ou mais especialmente seu firmware, foi criado para uso em nos EUA, o roteador define um CRDA permitindo que apenas determinados canais sejam usados. Eu sugiro que você atualize o firmware do site alemão ou pelo menos europeu do fabricante do roteador para ver se ele ajuda. Reinicie o roteador.

Reinicialize e veja se a conectividade melhorou. O CRDA é apenas uma recomendação que faço para ajudar questões como a sua. Se o seu problema não for resolvido, terei prazer em continuar.

EDIT: Eu me deparei com isso, o que pode ser útil: link

Além disso, no meu caso, todas as tentativas de ignorar o CRDA falharam em um dispositivo sem fio USB. O código do país é evidentemente codificado na ROM do dispositivo. A única maneira de me conectar é verificar isso em dmesg :

cfg80211: Calling CRDA for country: CN

Em seguida, defina a mesma região:

sudo iw reg set CN

O USB é conectado imediatamente.

    
por chili555 09.05.2015 / 15:24

Tags