Bug #837

Задержка загрузки прошивки в модуле iwlwifi

Added by Alexey Chernov over 8 years ago. Updated over 8 years ago.

Status:New Start:11/22/2015
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Calculate Linux Desktop Spent time: -
Target version:15.12
Votes: 0

Description

После обновления ядра до 4.2.3 стала возникать задержка около минуты при инициализации модуля ядра iwlwifi с картой Intel 7260. Сообщения в dmesg:

[    8.023728] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-15.ucode failed with error -2
[    8.023733] iwlwifi 0000:01:00.0: Falling back to user helper
...
[   68.028468] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7260-14.ucode failed with error -2
[   68.028478] iwlwifi 0000:01:00.0: Falling back to user helper
[  128.044026] iwlwifi 0000:01:00.0: loaded firmware version 25.30.13.0 op_mode iwlmvm
[  128.069863] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144

Такая же проблема обсуждается здесь:http://unix.stackexchange.com/questions/163012/iwlwifi-timeout-delays-firmware-to-be-loaded и здесь:https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1398458.
В итоге, проблема возникает из-за особенностей модуля iwlwifi, которые пытается загрузить несуществующие файлы прошивок, по своему алгоритму, и включением устаревшего механизма загрузки прошивок через утилиту пространства пользователя (udev) ключом CONFIG_FW_LOADER_USER_HELPER=y. По каким-то причинам этот ключ включен принудительно в версии ядра 4.2.3-calculate (в 3.18.20-calculate не определялся и использовалось значение по умолчанию, очевидно, "n"). Возможно, стоит его обратно отключить. Вариант обхода проблемы также описан по ссылкам.

History

Updated by Alexander Tratsevskiy over 8 years ago

Опция устанавливается множественной зависимостью, причём в разделе Generic Driver Options её почему-то нет. В 3.18 её действительно не было. Подскажите как вы её отключали, чтобы не искать?

Updated by Alexey Chernov over 8 years ago

Я попробовал предложенный в ответах способ с созданием файла /etc/udev/rules.d/50-firmware с содержимым

SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1" 

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

Also available in: Atom PDF

Thank you!