Iwlwifi/ru

iwlwifi — это [[Article description::драйвер для современных беспроводных чипов Intel.]]

Ядро
Чтобы заставить его работать, нужно сделать небольшую настройку ядра. Драйвер поддерживает 802.11a/b/g/n/ac (в зависимости от устройства), поэтому IEEE 802.11 должно быть включено.

IEEE 802.11
Activate at least cfg80211 ( CONFIG_CFG80211 ) and mac80211 ( CONFIG_MAC80211 ).

iwlwifi brings its own rate control algorithm iwl-agn-rs, see.

Драйвер устройства iwlwifi
Используйте этот драйвер для современных беспроводных чипов Intel. Установите как модуль, как показано. Также необходим  DVM или MVM вариант согласно записи в колонке Module в таблице firmware.

После перекомпиляции ядра и перезагрузки с использованием нового ядра, выбранные параметры можно проверить следующим образом:

Firmware
Необходимые firmware для конкретных устройств перечислены в этой таблице. Они доступны в пакетах, а также, для конкретного устройства, в пакетах sys-firmware/iwlxxxx-*ucode.

Upstream Intel instructions recommend adding all iwlwifi ucode to the kernel image. This is recommended for convenience, however it will bloat the kernel slightly.

Если предпочтительней собирать в ядро
В случае если драйвер будет компилироваться в ядре, а не как модуль , firmware необходимо также собирать в ядре.

В этом примере замените  на подходящее имя firmware. Уделите некоторое внимание для FW_LOADER_USER_HELPER_FALLBACK.

Optional: savedconfig
The  USE flag could be set for  in order to avoid unneeded stuff in.

As for example the Intel® Centrino® Advanced-N 6205 needs iwlwifi-6000g2a-ucode while anything else may be commented out or deleted.

In order to not lose these settings on next firmware update the version number needs to be removed:

modprobe и modinfo
не должен возвращать что-либо:

Большую часть информации о драйвере можно получить с помощью :

lspci
должен показать  в   и.

Идентификатор  будет весьма полезен при поиске специфичной информации для этого устройства в выводе dmesg.

dmesg
Проверьте вывод dmesg. Замените  на  идентификатор из lspci, а   на имя сетевого устройства.

Ядро не загружается
Проверьте, что загружено правильное ядро. Это можно сделать (зависит от ) так:

Проблемы с прошивкой

 * Для систем использующих udev или systemd надо настроить ядро для загрузки бинарного блоба (binary blob). В случае firmware для беспроводной карты это firmware, который нуждается в загрузки. Больше информации о конфигурации ядра для такой ситуации можно найти в следующей ветке форума Gentoo: FW_LOADER_USER_HELPER_FALLBACK.


 * Linux firmware for iwlwifi ucode failed with error -2

Беспроводная сетевая карта не работает

 * Intel Corporation Wireless 8260 (rev 3a) can't access the RSA semaphore it is write protected

No internet connection
If you can connect to an access point, but still can't connect to any server or get any connection to the internet it might be worth a try to disable 802.11n and/or enable software encryption. You can pass the  or   and/or   option to the   module. In order to pass the option automatically on module load create the file as follows:

"Microcode SW error detected. Restarting 0x0" message in kernel logs
This indicates that a severe error has been encountered by the WiFi adapter's micro-controller which led it to be reset. Consequences might be network drop outs and/and severe slow downs even after the connection to the AP has been restored. The root cause might be difficult to point out (platform own radio noise/buggy firmware/etc) however one of the very first things to try, even if the power management has been disabled for the iwlwifi module, is to prevent the WiFi adapter PCIe link to go in power save mode. This is accomplished by changing the  value used by the iwlmvm module to 1 (active):

Amongst additional countermeasures suggested on https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi disabling 40 MHz channels usage on the 2.4GHz band might also help:

Внешние ресурсы

 * https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
 * https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git
 * https://cateee.net/lkddb/web-lkddb/IWLWIFI.html
 * https://wiki.archlinux.org/index.php/Wireless_network_configuration#iwlwifi