iwlwifi 11n_disable=1 – Почему это работает ненадолго?

Вопрос или проблема

ОС = Ubuntu 18.04 LTS
ПК = Lenovo Ideapad Y500 (выпущен в 2012)
Беспроводная карта = Intel Centrino Wireless N2230

Я только что установил Ubuntu 18.04 LTS на старый Lenovo Ideapad (ноутбук) модели Y500. Он работает нормально, но для того, чтобы WiFi заработал, мне нужно ввести эти команды в Терминале:

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1

Это работает, но только ненадолго. Если компьютер уснет (или перезагрузится), мне снова нужно вводить эти команды.

  1. Я понятия не имею, что делают эти команды.

  2. Что бы это ни исправляло, я хотел бы сделать это постоянным.

  3. Когда это работает, скорость WiFi ужасна (около 20 Мбит/с), но скорость проводного Ethernet великолепна (около 930 Мбит/с – у меня оптоволоконный интернет).

У меня нет понятия, что Ubuntu видит как мою WiFi-карту. Если бы это был Windows, я мог бы посмотреть в Диспетчере устройств и увидеть, что считает Windows (что может быть неверным). В Linux я слишком глуп, чтобы понять, что ОС думает о карте.

Возможно ли, что Ubuntu неправильно определяет мою беспроводную карту? Если да, могу ли я это исправить (и улучшить скорость), используя другой драйвер?

Моя проблема была в ужасной скорости загрузки на некоторых WiFi-сетях, на Ubuntu 19.04. Ни 11n_disable=1, ни 11n_disable=8 — две настройки, которые я видел рекомендованными — не работали для меня; первая улучшала скорость загрузки, но уменьшала скорость скачивания наполовину, а вторая ничего не меняла. Я экспериментировал и выяснил, что 11n_disable=2 повысила скорость загрузки на 700%, но за счёт уменьшения скорости скачивания на 12%. Это разумный компромисс, когда иначе скорость загрузки непригодна для использования, но я не хотел терять скорость скачивания на WiFi-сетях, где скорость загрузки была нормальной без изменения настройки. Поэтому я написал скрипт, чтобы проверить, с какой WiFi-сетью я подключен, и настроить параметр соответственно. Я опубликовал его в своем блоге (https://blog.kamens.us/2019/08/03/mitigating-wifi-upload-speed-issues-on-lenovo-ideapad-s340-running-linux/) с более подробной информацией, на случай если это может быть полезно другим, но я знаю, что Stack Exchange не любит, когда ответы зависят от ссылок, поэтому я включил его ниже. Его необходимо установить в /etc/NetworkManager/dispatcher.d с правами root и режимом 0755.

#!/bin/bash -e

WHOAMI=$(basename $0)
IFACE="$1"; shift
ACTION="$1"; shift

log() {
    level="$1"; shift

    logger -p daemon.$level -t "$WHOAMI" $@
}

if [ "$ACTION" != "up" ]; then
    log debug игнорирование действия $ACTION
    exit 0
fi

state=$(cat /sys/module/iwlwifi/parameters/11n_disable)

log notice предыдущие 11n_disable состояние $state

if [ "$CONNECTION_ID" = "bad-wifi-network-name" ]; then
    want_state=2
else
    want_state=0
fi

if [ "$state" != "$want_state" ]; then
    log notice перезагрузка iwlwifi с 11n_disable=$want_state
    if ! rmmod iwlmvm iwlwifi; then
        log err rmmod iwlmvm iwlwifi неудачно
        exit 1
    fi
    if ! modprobe iwlwifi 11n_disable=$want_state; then
        log err modprobe iwlwifi 11n_disable=$want_state неудачно
        exit 1
    fi
    if ! modprobe iwlmvm; then
        log err modprobe iwlmvm неудачно
        exit 1
    fi
    log notice завершено перезагрузкой iwlwifi с 11n_disable=$want_state
else
    log notice 11n_disable верен, действия не требуется
fi

Вы можете попробовать это, драйвер не требуется

echo "options iwlwifi 11n_disable=1" | sudo tee -a /etc/modprobe.d/iwlwifi.conf
sudo modprobe -rfv iwlwifi
sudo modprobe -v iwlwifi

источник

Ответ или решение

Вопрос о проблемах с Wi-Fi на Ubuntu 18.04 LTS связан с командой 11n_disable=1 для драйвера iwlwifi. Данное решение временно восстанавливает работу сети, но требует повторного выполнения после перезагрузки или выхода из спящего режима.

Анализ проблемы и решение

Ваш ноутбук Lenovo Ideapad Y500 оснащён беспроводной картой Intel Centrino Wireless N2230. В Ubuntu используется драйвер iwlwifi для управления этой картой, но возникают проблемы с производительностью сети в режиме 802.11n.

Что делает команда 11n_disable=1?

Команда sudo modprobe iwlwifi 11n_disable=1 отключает поддержку стандарта 802.11n на уровне драйвера. Данный стандарт, хотя и обеспечивает более высокую скорость передачи данных, может быть нестабилен на старых или несовместимых устройствах. Отключение 802.11n может временно стабилизировать соединение, но снижает скорость до уровней, характерных для 802.11g.

Почему настройки не сохраняются?

Проблема заключается в том, что изменения, внесённые с помощью команды modprobe, сбрасываются после перезагрузки или выхода из спящего режима. Следовательно, необходимо сделать настройку постоянной.

Как сделать настройку постоянной?

Чтобы применить изменения автоматически при каждой загрузке, следуйте этим шагам:

  1. Добавление конфигурации в файл iwlwifi.conf:
    Добавьте строку с параметром 11n_disable=1 в файл конфигурации модуля:

    echo "options iwlwifi 11n_disable=1" | sudo tee -a /etc/modprobe.d/iwlwifi.conf
  2. Перезагрузка модуля iwlwifi:
    После внесения изменений, перезагрузите модуль iwlwifi:

    sudo modprobe -rfv iwlwifi
    sudo modprobe -v iwlwifi

Эти действия добавят параметры в загрузочную конфигурацию, что позволит системе автоматически применять необходимые настройки при старте.

Возможные проблемы и альтернативы

Ваша текущая настройка снижает скорость до 20 Мбит/с. Если этого недостаточно, и производительность остаётся критичной, можно рассмотреть альтернативные способы решения:

  • Обновление драйверов: Проверьте наличие обновлённых версий драйверов или ядра Linux, поскольку они могут содержать улучшения совместимости и производительности.

  • Изучение других параметров: Альтернативные значения параметра 11n_disable, такие как 2 или 8, могут улучшить ситуацию, изменяя тип поддерживаемых сетевых операций.

  • Подключение через Ethernet: При высокой скорости Ethernet-соединения, как в вашем случае (930 Мбит/с), предпочтительное использование проводного подключения решит проблемы с сетью.

  • Замена Wi-Fi модуля: В крайнем случае, подумайте о замене беспроводного адаптера на более современный, полностью поддерживаемый Ubuntu.

Заключение

Оптимизация настроек драйвера iwlwifi может значительно улучшить стабильность и скорость беспроводного соединения, однако может потребоваться экпериментирование с параметрами для достижения наилучших результатов. Применив описанные меры, вы сможете сделать работоспособность Wi-Fi постоянной.

Оцените материал
Добавить комментарий

Капча загружается...