Як ядро ​​Linux вибирає, яку версію прошивки завантажувати?


12

Я встановив останню прошивку для своєї мережевої карти N-7260 на веб-сайті http://wireless.kernel.org/en/users/Drivers/iwlwifi#Firmware . Я використовую Ubuntu 14.04 з версією ядра 3.14.01 від команди ppa команди ядра . Ось перелік вбудованих програм /lib/firmware:

$ ls /lib/firmware/*iwl*7260*
/lib/firmware/iwlwifi-7260-8.ucode  /lib/firmware/org.iwlwifi-7260-7.ucode
/lib/firmware/iwlwifi-7260-9.ucode  /lib/firmware/org.iwlwifi-7260-8.ucode

Зараз здається, що версія 9 не завантажується. Якщо я видалю версію 8, під час завантаження я бачу таке повідомлення:

sudo dmesg | grep iwl
[sudo] password for ozubu: 
[    6.121743] iwlwifi 0000:02:00.0: irq 62 for MSI/MSI-X
[    6.133208] iwlwifi 0000:02:00.0: Direct firmware load failed with error -2
[    6.133211] iwlwifi 0000:02:00.0: Falling back to user helper
[    6.311794] iwlwifi 0000:02:00.0: Direct firmware load failed with error -2
[    6.311799] iwlwifi 0000:02:00.0: Falling back to user helper
[    6.324940] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-7260-7.ucode' failed.
[    6.324950] iwlwifi 0000:02:00.0: no suitable firmware found!

Отже, моє питання:

Як сказати, що він повинен завантажувати Linux iwlwifi-7260-9.ucode?

оновлення

Як не дивно, зараз завантажена версія прошивки становить 8, принаймні відповідно до dmesg:

$ sudo dmesg | grep iwl
[sudo] password for ozubu: 
[   18.970651] iwlwifi 0000:02:00.0: irq 62 for MSI/MSI-X
[   19.012648] iwlwifi 0000:02:00.0: loaded firmware version 22.24.8.0 op_mode iwlmvm
[   19.315472] iwlwifi 0000:02:00.0: Detected Intel(R) Wireless N 7260, REV=0x144
[   19.315899] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   19.316118] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   19.523132] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[   23.100268] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   23.100484] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S

AFAIK 22.24.8.0 - версія прошивки 9. Версія 8 - 22.15.8.0. Див intel.com/support/wireless/wlan/sb/CS-034398.htm
jhasse

Тільки для підтвердження висновків Пабло, моя проблема полягала в тому, що SSH перестала відповідати ненадовго після перезавантаження. Після того як я встановив прошивку iwlwifi-7260-8.ucode в / lib / firmware і перезавантажився, я не працював і не запускав SSH без проблем через Wifi. Моя система - Intel NUC з встановленою 14,04 LTS. Дякую Пабло Новому на цьому форумі, тому я ще не в змозі проголосувати, інакше ви отримаєте свій голос.

Використання 14.04 з ядром 3.13.0-36-generic завантажує версію програмного забезпечення 22.24.8.0 op_mode iwlmvm, і вона ПРАЦЮЄ! ідеально (відсутність / вимкнення живлення матер) Але коли я оновлюю ядро ​​до 3.16. *, Його завантажувальна версія прошивки 23.214.9.0, а швидкість жахлива (при включенні живлення) і половина швидкості (при відключенні живлення)
Tosho,

@Tosho, ну, прошивка для цього чіпа просто погана. У мене є різні проблеми з цим чіпом.
Oz123

@ Oz123 Так. але, як я вже сказав, 22.24.8.0 працює ідеально. Я не впевнений, чи проблема пов’язана з останньою прошивкою або ядром 3.16.
Тошо

Відповіді:


5

Запрошена версія прошивки записується у код драйвера. Як бачите, конкретна версія, якщо iwlwifi, що ви використовуєте запити -7 прошивки. Він не може його знайти і закінчується помилкою. Ви можете побачити це в modinfo iwlwifi :

$ modinfo iwlwifi
filename:       /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license:        GPL
author:         Copyright(c) 2003-2013 Intel Corporation <ilw@linux.intel.com>
version:        in-tree:
description:    Intel(R) Wireless WiFi driver for Linux
<snip>
firmware:       iwlwifi-7260-7.ucode

Про що ви повідомляєте? Ви намагалися перейменувати прошивку -9 як -7, після резервної копії, звичайно?

Я фактично вважаю, що для 7260 пристроїв modinfo пропонує -7, але драйвер насправді використовує -8. Я не знаю жодної версії драйвера, яка вимагає -9. Можливо, версія ядра 3.15-xx.


Привіт, я намагався ваше рішення, але я до сих пір бачимо помилку: Direct firmware load failed with error -2. І інша проблема полягає в тому, що зневірений модуль, що вимагає версії 7, завантажує версію 8. Дивіться моє оновлення вище.
Oz123

Будь ласка, дивіться мою редакцію.
chili555

Ось один звіт про помилку bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1704799 - сподіваємось, ви можете завантажити відсутню прошивку та виправити проблему.
zeroconf

3

Я думаю, це залежить від вашого ядра:

  • 3.10+ використовує прошивку -7
  • 3.13+ використовує прошивку -8
  • 3.14.9+ використовує прошивку -9
  • 3.17+ використовує прошивку -10

Джерело: http://wireless.kernel.org/en/users/Drivers/iwlwifi

Ubuntu 14.04 становить 3,13, тому завантажує 22,24. 8 .0.

Ubuntu 14.10 становить 3,16, тому завантажує 25,228. 9 .0.

Я можу зв'язатись з обома, хоча перший був для мене хиткий ... бали speedtest.net були на 2-3 Мбіт / с проти 25 Мбіт / с у порівнянні з другими. YMMV.


Що використовує 4.4.0-21-generic?
Мартін Тома

1

Тут же ... але з запасом ядра

$ uname -a
Linux prato 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ modinfo iwlwifi | grep 7260
firmware:       iwlwifi-7260-7.ucode

Але завантажуватиметься лише в тому випадку, якщо я завантажу і встановлю 7260-8 з http://wireless.kernel.org/en/users/Drivers/iwlwifi

Можливо, хтось забув щось змінити в інформації про водія. Моя установка мала -7і -9, як не дивно.

На щастя, він працює в -8режимі монітора, навіть у режимі монітора.

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.