« Trucs:Carte Netgear MA311 firmware upgrade » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
(3 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<div class="leapar">Par Jice <jice chez lea-linux.org></div> | <div class="leapar">Par Jice <jice chez lea-linux.org></div> | ||
Ma vieille carte wifi Netgear MA 311 avait de gros problèmes de stabilité de la connexion (sous Mandriva 2008.0, mais cela vient des dernières versions des drivers), avec des messages bizarres dans le log système (<code>dmesg</code>), du style : | Ma vieille carte wifi Netgear MA 311 (chipset Prism 2.5) avait de gros problèmes de stabilité de la connexion (sous Mandriva 2008.0, mais cela vient des dernières versions des drivers), avec des messages bizarres dans le log système (<code>dmesg</code>), du style : | ||
<code multi> | <code multi> | ||
hermes @ f8850000: BAP0 offset timeout: reg=0x8000 id=0xfdc6 offset=0x0 | hermes @ f8850000: BAP0 offset timeout: reg=0x8000 id=0xfdc6 offset=0x0 | ||
Ligne 23 : | Ligne 23 : | ||
Version du noyau : | Version du noyau : | ||
<code> | <code multi> | ||
$ uname -a | $ uname -a | ||
Linux jice.is-a-geek.org 2.6.22.18-desktop-1mdv #1 SMP Mon Feb 11 13:53:50 EST 2008 i686 AMD Athlon(tm) XP 1800+ GNU/Linux | Linux jice.is-a-geek.org 2.6.22.18-desktop-1mdv #1 SMP Mon Feb 11 13:53:50 EST 2008 i686 AMD Athlon(tm) XP 1800+ GNU/Linux | ||
Ligne 44 : | Ligne 44 : | ||
Lancer l'outil de configuration du noyau : | Lancer l'outil de configuration du noyau : | ||
<code multi> | <code multi> | ||
# cd /usr/src/linux-2.6.22.18-1mdv | |||
# make xconfig | # make xconfig | ||
</code> | </code> | ||
Ligne 60 : | Ligne 61 : | ||
Déchargez les drivers wifi (dans mon cas orinoco/hermes, mais cela peut aussi être hostap ; vérifiez avec '''lsmod''') : | Déchargez les drivers wifi (dans mon cas orinoco/hermes, mais cela peut aussi être hostap ; vérifiez avec '''lsmod''') : | ||
<code> | <code multi> | ||
# rmmod orinoco_pci orinoco hermes | # rmmod orinoco_pci orinoco hermes | ||
</code> | </code> | ||
ou : | ou : | ||
<code> | <code multi> | ||
# rmmod hostap_pci hostap ieee80211_crypt | # rmmod hostap_pci hostap ieee80211_crypt | ||
</code> | </code> | ||
Ligne 100 : | Ligne 101 : | ||
Vous avez recyclé votre vieille carte wifi, qui aura encore de nombreux méga-octets à faire passer ! | Vous avez recyclé votre vieille carte wifi, qui aura encore de nombreux méga-octets à faire passer ! | ||
Note: je suis ainsi passé des versions 1.0.7 & 1.3.6 à 1.1.1 & 1.8.2 des firmwares respectivement primaire et de station de la carte. On peut le vérifier dans le log '''dmesg''' : | |||
<code multi> | |||
wifi0: NIC: id=0x8013 v1.0.0 | |||
wifi0: PRI: id=0x15 v1.1.1 | |||
wifi0: STA: id=0x1f v1.8.2 | |||
</code> | |||
là ou avant on lisait : | |||
<code multi> | |||
wifi0: NIC: id=0x8013 v1.0.0 | |||
wifi0: PRI: id=0x15 v1.0.7 | |||
wifi0: STA: id=0x1f v1.3.6 | |||
</code> | |||
[[Catégorie:Trucs_wifi]] | [[Catégorie:Trucs_wifi]] |
Dernière version du 10 février 2009 à 00:36
Ma vieille carte wifi Netgear MA 311 (chipset Prism 2.5) avait de gros problèmes de stabilité de la connexion (sous Mandriva 2008.0, mais cela vient des dernières versions des drivers), avec des messages bizarres dans le log système (dmesg
), du style :
hermes @ f8850000: BAP0 offset timeout: reg=0x8000 id=0xfdc6 offset=0x0
printk: 66 messages suppressed.
hermes @ f8850000: Error -16 issuing command 0x0021.
eth0: Error -110 setting MAC address
eth0: Error -110 configuring card
La seule chose à faire était de redémarrer le réseau par service network restart
, et il fallait même parfois décharger les drivers de la carte (hermes & orinoco).
Cependant, l'utilisant uniquement pour me connecter à internet et ayant une connection à 2 Mb, les 11 Mb de la carte me suffisent amplement.
Les messages de ce genre dans le log système proviennent soit d'un problème matériel, soit d'un bug entre le driver et le firmware de la carte (le logiciel embarqué dans la carte).
J'ai donc décidé de rénover la carte en mettant à jour le firmware, après avoir trouvé la page suivante : http://linux.junsun.net/intersil-prism/ (qu'il m'aura fallu lire très attentivement plusieurs fois ;-). Cela a bien réussi, car maintenant ma connexion wifi est stable, plus besoin de la redémarrer, et plus de messages bizarres dans le log. De plus, d'après la page ci-avant, cela permet à cette carte de supporter le WPA (mais je n'ai pas testé).
Voici la procédure (un peu quick and dirty - rapide et sale) que j'ai suivie.
J'ai du compiler les modules du noyau, car pour flasher le bios de la MA311, il fallait activer une option spéciale dans le driver hostap
, que Mandriva n'active pas par défaut.
Version du noyau :
$ uname -a
Linux jice.is-a-geek.org 2.6.22.18-desktop-1mdv #1 SMP Mon Feb 11 13:53:50 EST 2008 i686 AMD Athlon(tm) XP 1800+ GNU/Linux
On installe les sources (en croisant les doigts pour que la connexion ne tombe pas au milieu du téléchargement des 50 Mo) :
- urpmi kernel-source-2.6.22.18-1mdv
Pour aller vite, on va modifier le Makefile du kernel afin de construire les modules pour la version du kernel qui tourne. Remplacer la ligne
EXTRAVERSION = .18-1mdvcustom
par :
EXTRAVERSION = .18-desktop-1mdv
Lancer l'outil de configuration du noyau :
- cd /usr/src/linux-2.6.22.18-1mdv
- make xconfig
Allez dans le menu Edit/Find, ou tapez <key>Ctrl+F</key>, entrez hostap puis cliquez sur le bouton <key>Search</key>. Vous devriez voir une ligne Support for non-volatile firmware download précédée d'une case à cocher. Cochez la case, quittez en sauvegardant vos changements.
Maintenant fabriquez les modules par :
- nice make -j2 modules
(J'utilise nice car cela va prendre beaucoup de temps et je veux pouvoir continuer à utiliser le PC pendant ce temps, et -j2 pour paralléliser les compilations : utilisez une valeur également au nombre de coeurs (cores) plus un de votre processeur).
Lorsque la compilation rend la main, arrêtez le réseau par :
# service network stop
Déchargez les drivers wifi (dans mon cas orinoco/hermes, mais cela peut aussi être hostap ; vérifiez avec lsmod) :
- rmmod orinoco_pci orinoco hermes
ou :
- rmmod hostap_pci hostap ieee80211_crypt
(ou les 2, ca ne fera pas de mal).
Puis chargez les drivers hostap fraichement compilés :
- insmod ./net/ieee80211/ieee80211_crypt.ko
- insmod ./net/ieee80211/ieee80211_crypt_wep.ko
- insmod ./drivers/net/wireless/hostap/hostap.ko
- insmod ./drivers/net/wireless/hostap/hostap_pci.ko
Nous allons enfin pouvoir passer au flashage proprement dit. Téléchargez les 2 fichiers présents à cette adresse : http://linux.junsun.net/intersil-prism/firmware/1.8.2/ (PK010101.HEX & SF010802.HEX). Il s'agit des bios que l'on va flasher.
Testez leur compatibilité avec la commande suivante (du paquet hostap-utils ; installez-le au besoin) :
- prism2_srec -v eth0 -O /proc/net/hostap/wlan0/pda /chemin/des/firmware/PK010101.HEX /chemin/des/firmware/SF010802.HEX
Et si la commande vous retourne OK sur la dernière ligne, alors passez aux choses sérieuses par :
- prism2_srec -v -f eth0 -O /proc/net/hostap/wlan0/pda /chemin/des/firmware/PK010101.HEX /chemin/des/firmware/SF010802.HEX
(même ligne de commande en ajoutant -f).
Enfin, déchargez les drivers hostap, et relancez le réseau (ce qui va automatiquement recharger les drivers que vous aviez avant) par :
- rmmod hostap_pci hostap ieee80211_crypt_wep ieee80211_crypt
- service network start
Et voilà !
Vous avez recyclé votre vieille carte wifi, qui aura encore de nombreux méga-octets à faire passer !
Note: je suis ainsi passé des versions 1.0.7 & 1.3.6 à 1.1.1 & 1.8.2 des firmwares respectivement primaire et de station de la carte. On peut le vérifier dans le log dmesg :
wifi0: NIC: id=0x8013 v1.0.0
wifi0: PRI: id=0x15 v1.1.1
wifi0: STA: id=0x1f v1.8.2
là ou avant on lisait :
wifi0: NIC: id=0x8013 v1.0.0
wifi0: PRI: id=0x15 v1.0.7
wifi0: STA: id=0x1f v1.3.6