web-dev-qa-db-fra.com

Comment le noyau Linux choisit-il la version du firmware à charger?

J'ai installé le dernier firmware de ma carte réseau N-7260 depuis http://wireless.kernel.org/en/users/Drivers/iwlwifi#Firmware . J'utilise Ubuntu 14.04 avec la version du noyau 3.14.01 de la équipe du noyau ppa . Voici une liste des micrologiciels que j'ai dans /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

À l'heure actuelle, il semble que la version 9 ne se charge pas. Si je supprime la version 8, je vois au démarrage le message suivant:

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!

Donc, ma question est:

Comment puis-je dire à Linux qu'il devrait charger iwlwifi-7260-9.ucode?

mettre à jour

Curieusement, la version du micrologiciel chargé est maintenant la 8, du moins selon 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
12
Oz123

La version du micrologiciel demandée est écrite dans le code du pilote. Comme vous pouvez le voir, la version particulière si iwlwifi que vous utilisez le micrologiciel de demandes -7. Il ne peut pas le trouver et se termine par une erreur. Vous pouvez le voir dans 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 <[email protected]>
version:        in-tree:
description:    Intel(R) Wireless WiFi driver for Linux
<snip>
firmware:       iwlwifi-7260-7.ucode

Que rapporte le tien? Avez-vous essayé de renommer le microprogramme -9 en tant que -7, après la sauvegarde, bien sûr?

Je pense réellement que, pour 7260 périphériques, modinfo suggère -7 mais le pilote utilise réellement -8. Je ne suis au courant d'aucune version de pilote qui appelle -9. Peut-être la version du noyau 3.15-xx.

5
chili555

Je pense que cela dépend de votre noyau:

  • 3.10+ utilise le firmware -7
  • 3.13+ utilise le firmware -8
  • 3.14.9+ utilise le firmware -9
  • 3.17+ utilise le firmware -10

Source: http://wireless.kernel.org/en/users/Drivers/iwlwifi

Ubuntu 14.04 est 3.13, donc charge 22.24. 8 . 0.

Ubuntu 14.10 est 3.16, donc charge 25.228. 9 . 0.

Je peux communiquer avec les deux, même si le premier était floconneux pour moi ... Les scores de speedtest.net étaient de 2-3 Mbps contre 25 Mbps pour le second. YMMV.

3
Hans

Idem ici ... mais avec le noyau en stock

$ 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

Mais je ne chargerai que si je télécharge et installe 7260-8 à partir de http://wireless.kernel.org/en/users/Drivers/iwlwifi

Peut-être que quelqu'un a oublié de changer quelque chose dans les informations du pilote. Mon installation avait -7 et -9, assez curieusement.

Heureusement, cela fonctionne avec le -8, même en mode moniteur.

J'espère que ça aide!

1
Pablo