WiFi: `iw reg set US` не имеет никакого эффекта

Быстрое решение этой проблемы

/Users/jack/.zshrc:source:34: no such file or directory: /Users/jack/.oh-my-zsh/oh-my-zsh.sh

Сделайте исполняемый файл исполняемым.

cd .oh-my-zsh/ && chmod 744 oh-my-zsh.sh

Затем запустите exec zsh , чтобы перезапустить оболочку. Если вы не получили сообщение об ошибке, а выбранная тема работает, все готово.

13
15.07.2016, 21:50
2 ответа

Вчера я попытался вернуться к этому вопросу, но проблема не исчезла даже с ядром 4.6.3. Ручная установка последнего образа прошивки тоже не помогла. Однако попытка iw reg set US на втором ноутбуке с тем же ядром сработала нормально.

Проблемным компьютером является Thinkpad X1 Carbon (Gen 3) с картой Intel 7265D WiFi; рабочая машина - Thinkpad T440p с процессором Intel 7260. Поэтому я прихожу к выводу, что в драйвере или прошивке 7265D есть ошибка.

Временное решение

Я также обнаружил обходной путь для 7265D.Имейте в виду, что это обходной путь, и он может вызвать конфликты, если / когда будет выпущено фактическое исправление:

  • Удалите все драйверы ядра WiFi и зависимые модули:
    sudo modprobe -r iwlmvm
  • Установите cfg80211 модуль ядра, используя параметр ядра для принудительного использования регулирующего домена (в данном случае «США»):
    sudo modprobe cfg80211 ieee80211_regdom = US
  • Переустановите драйверы ядра WiFi:
    sudo modprobe iwlmvm

Теперь вы должны увидеть интерфейс Wi-Fi, настроенный для нормативного домена США (или любого другого):

$ iw reg get
country US: DFS-FCC
    (2402 - 2472 @ 40), (N/A, 30), (N/A)
    (5170 - 5250 @ 80), (N/A, 17), (N/A)
    (5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS
    (5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS
    (5735 - 5835 @ 80), (N/A, 30), (N/A)
    (57240 - 63720 @ 2160), (N/A, 40), (N/A)

Обновление 2016.11.17: исправлено в ядре серии 4.8

Сегодня я впервые проверил эту проблему после обновления пару недель назад к ядру 4.8.x и обнаружил, что интерфейс Wi-Fi теперь, похоже, правильно принимает нормативный домен. Это произошло в версии ядра 4.8.5 или ранее.

$ iw reg get
global
country 00: DFS-UNSET
    (2402 - 2472 @ 40), (6, 20), (N/A)
    (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
    (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
    (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
    (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
    (57240 - 63720 @ 2160), (N/A, 0), (N/A)

phy#0 (self-managed)
country US: DFS-UNSET
    (2402 - 2482 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-80MHZ, NO-160MHZ
    (5170 - 5250 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
    (5250 - 5330 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
    (5490 - 5730 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
    (5735 - 5815 @ 80), (6, 22), (N/A), AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
    (5815 - 5835 @ 20), (6, 22), (N/A), AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, NO-HT40PLUS, NO-80MHZ, NO-160MHZ, PASSIVE-SCAN
12
27.01.2020, 19:53

После некоторого исследования кода я выяснил, в чем проблема:

Устройство Intel WiFi отображается как "самоизменяющееся" устройство, поэтому набор iw reg не будет применен к нему.

Все, что вам нужно сделать, это установить параметр iwlwifi lar_disable=1:

  1. Либо вручную: modprobe -r iwlwifi & modprobe iwlwifi lar_disable=1
  2. Автоматически: echo "options iwlwifi lar_disable=1" >/etc/modprobe.d/iwlwifi.conf
8
27.01.2020, 19:53

Теги

Похожие вопросы