Qualcomm Atheros O dispositivo não consegue encontrar o canal 13 WiFi (Ubuntu 16.04.2)

0

Portanto, eu tenho o adaptador de WLAN específico como mencionado acima (168c: 0042 rev 31), mas não consigo encontrar meu WiFi na lista de redes WiFi se o canal estiver definido como 13 (se eu configurá-lo como < 13 , Eu posso encontrá-lo, mas há tantas redes WiFi nos outros canais e eles simplesmente bagunçam os meus e a velocidade de download fica muito lenta). Eu configurei minha região para minha região correspondente usando sudo iw reg set (estou certo de que o canal 13 é suportado), mas o problema persiste. Eu queria saber se a origem do problema são os drivers (atualmente usando ath10k).

EDIT 1: Saída de iw list | grep Freq -A14 :

Frequencies:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (20.0 dBm)
            * 2472 MHz [13] (disabled)
            * 2484 MHz [14] (disabled)
--
        Frequencies:
            * 5180 MHz [36] (20.0 dBm) (no IR)
            * 5200 MHz [40] (20.0 dBm) (no IR)
            * 5220 MHz [44] (20.0 dBm) (no IR)
            * 5240 MHz [48] (20.0 dBm) (no IR)
            * 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 103 sec)
              DFS CAC time: 60000 ms
            * 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 103 sec)
              DFS CAC time: 60000 ms
            * 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 103 sec)
              DFS CAC time: 60000 ms
            * 5320 MHz [64] (20.0 dBm) (no IR, radar detection)

EDIT 2: Saída de iw reg get :

country GR: 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)

EDIT 3: Saída de dmesg | grep ath :

[    1.960190] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    2.252806] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:03:00.0.bin failed with error -2
[    2.252815] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
[    2.269809] ath10k_pci 0000:03:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 11ad:08a6
[    2.269811] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[    2.270128] ath10k_pci 0000:03:00.0: firmware ver WLAN.TF.1.0-00267-1 api 5 features ignore-otp crc32 79cea2c7
[    2.338522] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id N/A crc32 93da0176
[    4.117342] ath10k_pci 0000:03:00.0: htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[    4.123902] ath: EEPROM regdomain: 0x69
[    4.123903] ath: EEPROM indicates we should expect a direct regpair map
[    4.123905] ath: Country alpha2 being used: 00
[    4.123905] ath: Regpair used: 0x69
[    4.128498] ath10k_pci 0000:03:00.0 wlp3s0: renamed from wlan0
    
por N.Kotarelas 18.03.2017 / 13:39

1 resposta

1

Você precisa ativar os repositórios de código-fonte nas Fontes de Software e certificar-se de que o build-essential esteja instalado junto com os arquivos de cabeçalho do kernel. Você também precisará do Secure Boot desativado no BIOS

sudo apt-get install build-essential linux-headers-generic

Então podemos baixar o código-fonte do kernel

apt-get source linux-image-$(uname -r)

Em seguida, podemos navegar para a pasta ath

cd linux-hwe-4.8.0/drivers/net/wireless/ath

Abra o arquivo que precisamos alterar com o gedit

gedit regd.c

Chegado às linhas 235-237 e mudar

   case 0x66:
   case 0x69:
      return &ath_world_regdom_66_69;

   case 0x66:
      return &ath_world_regdom_66_69;
   case 0x69:
      return &ath_world_regdom_60_61_62;
Certifique-se de que o recuo coincida, caso seja um TAB da esquerda e retorne deve ser 2 TAB da esquerda e salve o arquivo e saia do gedit. Então podemos compilar o módulo com
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules

Deve compilar se as alterações foram feitas corretamente. Então podemos fazer uma cópia do módulo original

sudo mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko.bak
Então podemos copiar o novo módulo para o kernel
sudo cp ath.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko

Reinicie

Isso precisará ser refeito após uma atualização do kernel e você precisará

cd linux-hwe-4.8.0/drivers/net/wireless/ath
make -C /lib/modules/$(uname -r)/build M=$(pwd) clean
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko.bak
sudo cp ath.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath.ko
E reinicie para ter o canal 13 no novo kernel

Referência: link

    
por Jeremy31 21.03.2017 / 15:43