{{tag>Hardy réseau matériel windows wi-fi}} ---- NDISWrapper fonctionne sur plate-forme 32 bits et AMD64 car il existe des paquets précompilés pour ces deux architectures. **Si vous utilisez la version d'Ubuntu 64 bits , vous devez utiliser des pilotes pour Windows 32 bits** car les pilotes 64 bits ne fonctionnent pas. Rectification, à cause de ce paragraphe je me suis arraché les cheveux pendant 8h!!! J'utilise la version 64 bits d'Ubuntu et les pilotes qui doivent être utilisé avec NDISWrapper sont bien ceux de la version 64 bits et non ceux de la 32 bits qui eux pour le coup ne fonctionnent pas, il me semblé donc primordial de le spécifier ici et aujourd'hui ===== Pré-requis ===== Toutes les manipulations suivantes vont se faire à l'aide d'un **[[:Terminal]]**. Aussi il est conseillé de suivre les quelques tutoriels pour comprendre comment utiliser efficacement ce **[[terminal]]**. ==== Identification du pilote ==== **Pour savoir s'il est nécessaire** d'installer NDISWrapper, reportez-vous d'abord à la procédure générale de **[[:wifi|configuration d'une interface réseau Wifi]]**. Avant de continuer vous devez connaître la marque et le modèle exacts de votre carte Wi-Fi, ce qui pourra être utile en cas de cd de pilote "multi-modèles". La documentation précédente doit vous permettre de le connaître. Avant de pouvoir installer les pilotes Windows avec NDISWrapper, vous devez les télécharger ou utiliser ceux fournis sur le CD d'installation de votre carte réseau. En général il est aussi donné sur le site de la marque de votre carte Wi-Fi ou de votre ordinateur sous le nom de "Pilote de carte réseau local sans fil". Vous pouvez trouver quelques pilotes Windows NDIS testés sous Linux sur la [[http://www.linuxant.com/driverloader/|page de Linuxant]] (lien //Windows Drivers// à gauche). ==== Récupération du fichier .inf du pilote Wi-Fi ==== Choisissez impérativement la version 32 bits du pilote pour Windows (même si vous utilisez Linux ou Windows 64 bits) pour ne pas avoir un pilote 64 bits (qui est incompatible avec Ndiswrapper, même sous Linux 64 bits). Si votre pilote est incompatible changer légèrement le modèle de votre ordinateur pour pouvoir essayer d'autres pilotes Commençons par créer un dossier **install_wifi** dans votre dossier personnel. Le fichier que nous cherchons est un fichier **.inf**, mais il est rarement disponible directement sous cette forme. Quand vous ouvrez votre CD d'installation du pilote, ou si le pilote est sous forme d'un dossier compressé, vous trouverez peut-être un dossier Drivers, ou pilote, avec à l'intérieur plusieurs dossiers dans le style : Windows Me, Windows 2000, Windows XP se trouveront... Dans ce cas prenez tous les fichiers du dossier Windows XP (ou windows 2000 si vous n'avez pas de dossier Windows XP), et déplacez-les dans votre dossier **install_wifi** fraichement créé. **Prenez bien garde à prendre tous les fichiers contenus dans le même dossier que le .inf dans votre déplacement de fichiers !!** Le fichier .inf n'étant qu'un fichier texte faisant référence aux autres fichiers contenus dans le même dossier que lui ! Si vous ne trouvez pas de dossier comprenant de fichiers .inf dans votre CD d'installation, ou en téléchargement sur le site du constructeur, le pilote doit être contenu à l'intérieur même du fichier .exe du pilote, déplacez donc ce .exe dans le dossier **install_wifi** ... === Décompression du fichier .exe pour obtenir le .inf === Si vous disposez d'un .exe comme pilote vous devez le décompresser pour obtenir le .inf nécessaire à l'installation du pilote. Si vous avez déjà le .inf, cette étape est donc inutile, vous pouvez directement passer à l'installation. Après avoir activé les [[dépôts]] Universe (actif par défaut depuis Ubuntu 7.04), [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt>cabextract|cabextract]]** **[[apt>unshield|unshield]]** Ouvrez un **[[terminal]]** et tapez : cd ~/install_wifi pour aller dans le dossier install_wifi que vous aviez créé précédemment. Décompressez le fichier .exe en tapant dans le même terminal ceci : cabextract Si aucun fichier n'apparaît dans votre dossier install_wifi, essayez de tapez ceci après : unshield Si rien n'apparaît non plus après ceci, il vous reste l'ultime méthode : Cette méthode consiste à installer le pilote avec [[:Wine]], puis de se rendre dans le dossier : **~/.wine/drive_c/windows/inf** et de récupérer les fichiers qui s'y trouvent pour les mettre dans votre dossier install_wifi, allez ensuite dans le dossier: **~/.wine/drive_c/windows/system32/drivers** et copiez aussi le contenu dans install_wifi. Ensuite allez dans votre dossier **install_wifi** et faites un peu de rangement si vous avez des dossiers résultants de la décompression du .exe, déplacez tous les fichiers contenus dans ces dossiers directement dans install_wifi. Ne faites pas ça pour les sous-dossiers (les dossiers dans les dossiers), mais seulement pour les dossiers. Il est conseillé de garder ce dossier précieusement, car il vous sera utile dans le cas d'une réinstallation, ou d'une mise à jour importante. ===== Installation de NDISWrapper ===== Il existe deux méthodes pour installer Ndiswrapper : la plus simple et la plus pratique est d'installer le paquet se trouvant dans les dépôts (malheureusement, la version disponible est parfois un peu ancienne) ou alors il vous faut compiler manuellement à partir des sources (bien entendu on ne peut pas faire les deux en même temps !). Si vous avez des freezes ( sessions gelées ) lors de l'utilisation de Ndiswrapper session internet ou même de la session, désinstaller complètement Ndiswrapper sudo apt-get remove ndiswrapper --purge puis installer la dernière version avec la méthode de compilation. C'est très simple, il suffit de lire. ==== Installation via les dépôts ==== === Sous Lucid === Il faut [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>ndiswrapper-utils-1.9|ndiswrapper-utils-1.9]]**. === Sous Karmic === Il faut [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>ndiswrapper-common|ndiswrapper-common]]**. === Sous Feisty , Gutsy, Hardy, Intrepid et Jaunty === Il faut [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>ndiswrapper-utils-1.9|ndiswrapper-utils-1.9]]**. === Sous Edgy === Il faut [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>ndiswrapper-utils-1.8|ndiswrapper-utils-1.8]]**. === Sous Dapper === Il vous faut [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>ndiswrapper-utils]]**. Pour ceux qui ne disposent pas de connexion internet, ces paquets se trouvent sur le CD d'installation (desktop cd, alternate, ou le dvd) de votre version d'Ubuntu (dans ce cas, ne pas oublier d'[[depots#ajouter_un_cd-rom_comme_depot|ajouter le cd-rom comme dépôt]], s'il n'y est pas déjà) vous pouvez copier ces fichiers ( Ndiswrapper du cd d'ubuntu dans votre dossier personnel et lancer la commande sudo dpkg -i ndiswrapper*.deb ==== Installation par Compilation ==== La compilation peut être nécessaire lorsqu'on change de noyau ou lorsque l'on désire installer une version de NDISWrapper autre que celle présente dans Synaptic (la plus récente par exemple, actuellement la 1.54). N'oubliez pas que vous devrez recompiler NDISWrapper à chaque mise à jour ou changement de noyau. Tout d'abord, assurez-vous qu'aucune autre version ne soit déjà installée. Si c'est le cas, commencez par désinstaller l'ancienne version de NDISWrapper et faites le ménage dans les fichiers de configuration (cf § [[:ndiswrapper#desinstallation|Désinstallation]]). Pour compiler, [[:tutoriel:comment_installer_un_paquet|installez d'abord les paquets]] **linux-headers-`uname -r` dh-make fakeroot build-essential** Pour une installation graphique remplacez `uname -r` par la version de votre noyau (donnée par cette même commande : uname -r) Ensuite, on télécharge NDISWrapper sur le site officiel : \\ [[http://sourceforge.net/projects/ndiswrapper/]] NDISWrapper se trouve sous la forme d'une tarball (.tar.gz). Placez ce fichier dans votre dossier personnel. On va décompresser cette archive, un répertoire portant alors le nom de //ndiswrapper-(Version)// va être créé ; on se place ensuite dedans. Pour cela, ouvrez un terminal et tapez : tar zxvf ndiswrapper-(Version).tar.gz cd ndiswrapper- --------------------- Il se peut que vous n'arriviez pas à compiler NDISWrapper dans Ubuntu Intrepid avec le kernel 2.6.27. Il faut alors patcher les fichiers sources de NDISwrapper. Manipulation pour patcher NDISWrapper à effectuer après cd ndiswrapper- : gedit ndiswrapper_kernel_2.6.27.patch coller ceci : diff -aur driver.old/iw_ndis.c driver/iw_ndis.c --- driver.old/iw_ndis.c 2008-08-04 21:10:16.000000000 +0200 +++ driver/iw_ndis.c 2008-08-04 21:30:12.000000000 +0200 @@ -1015,7 +1015,7 @@ return 0; } -static char *ndis_translate_scan(struct net_device *dev, char *event, +static char *ndis_translate_scan(struct net_device *dev, struct iw_request_info *info, char *event, char *end_buf, void *item) { struct iw_event iwe; @@ -1034,7 +1034,7 @@ iwe.u.ap_addr.sa_family = ARPHRD_ETHER; iwe.len = IW_EV_ADDR_LEN; memcpy(iwe.u.ap_addr.sa_data, bssid->mac, ETH_ALEN); - event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_ADDR_LEN); + event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_ADDR_LEN); /* add essid */ memset(&iwe, 0, sizeof(iwe)); @@ -1044,13 +1044,13 @@ iwe.u.data.length = IW_ESSID_MAX_SIZE; iwe.u.data.flags = 1; iwe.len = IW_EV_POINT_LEN + iwe.u.data.length; - event = iwe_stream_add_point(event, end_buf, &iwe, bssid->ssid.essid); + event = iwe_stream_add_point(info, event, end_buf, &iwe, bssid->ssid.essid); /* add protocol name */ memset(&iwe, 0, sizeof(iwe)); iwe.cmd = SIOCGIWNAME; strncpy(iwe.u.name, network_type_to_name(bssid->net_type), IFNAMSIZ); - event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_CHAR_LEN); + event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_CHAR_LEN); /* add mode */ memset(&iwe, 0, sizeof(iwe)); @@ -1061,7 +1061,7 @@ iwe.u.mode = IW_MODE_INFRA; else // if (bssid->mode == Ndis802_11AutoUnknown) iwe.u.mode = IW_MODE_AUTO; - event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_UINT_LEN); + event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_UINT_LEN); /* add freq */ memset(&iwe, 0, sizeof(iwe)); @@ -1076,7 +1076,7 @@ /* convert from kHz to Hz */ iwe.u.freq.e += 3; iwe.len = IW_EV_FREQ_LEN; - event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_FREQ_LEN); + event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_FREQ_LEN); /* add qual */ memset(&iwe, 0, sizeof(iwe)); @@ -1090,7 +1090,7 @@ iwe.u.qual.noise = WL_NOISE; iwe.u.qual.qual = i; iwe.len = IW_EV_QUAL_LEN; - event = iwe_stream_add_event(event, end_buf, &iwe, IW_EV_QUAL_LEN); + event = iwe_stream_add_event(info, event, end_buf, &iwe, IW_EV_QUAL_LEN); /* add key info */ memset(&iwe, 0, sizeof(iwe)); @@ -1101,7 +1101,7 @@ iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY; iwe.u.data.length = 0; iwe.len = IW_EV_POINT_LEN; - event = iwe_stream_add_point(event, end_buf, &iwe, bssid->ssid.essid); + event = iwe_stream_add_point(info, event, end_buf, &iwe, bssid->ssid.essid); /* add rate */ memset(&iwe, 0, sizeof(iwe)); @@ -1115,7 +1115,7 @@ if (bssid->rates[i] & 0x7f) { iwe.u.bitrate.value = ((bssid->rates[i] & 0x7f) * 500000); - current_val = iwe_stream_add_value(event, current_val, + current_val = iwe_stream_add_value(info, event, current_val, end_buf, &iwe, IW_EV_PARAM_LEN); } @@ -1128,13 +1128,13 @@ iwe.cmd = IWEVCUSTOM; sprintf(buf, "bcn_int=%d", bssid->config.beacon_period); iwe.u.data.length = strlen(buf); - event = iwe_stream_add_point(event, end_buf, &iwe, buf); + event = iwe_stream_add_point(info, event, end_buf, &iwe, buf); memset(&iwe, 0, sizeof(iwe)); iwe.cmd = IWEVCUSTOM; sprintf(buf, "atim=%u", bssid->config.atim_window); iwe.u.data.length = strlen(buf); - event = iwe_stream_add_point(event, end_buf, &iwe, buf); + event = iwe_stream_add_point(info, event, end_buf, &iwe, buf); TRACE2("%d, %u", bssid->length, (unsigned int)sizeof(*bssid)); if (bssid->length > sizeof(*bssid)) { @@ -1155,7 +1155,7 @@ memset(&iwe, 0, sizeof(iwe)); iwe.cmd = IWEVGENIE; iwe.u.data.length = ielen; - event = iwe_stream_add_point(event, end_buf, + event = iwe_stream_add_point(info, event, end_buf, &iwe, iep); } iep += ielen; @@ -1236,7 +1236,7 @@ TRACE2("%d", bssid_list->num_items); cur_item = &bssid_list->bssid[0]; for (i = 0; i < bssid_list->num_items; i++) { - event = ndis_translate_scan(dev, event, + event = ndis_translate_scan(dev, info, event, extra + IW_SCAN_MAX_DATA, cur_item); cur_item = (struct ndis_wlan_bssid *)((char *)cur_item + cur_item->length); Et enregistrer. Vous pouvez également le télécharger [[http://www.slackware.com/~alien/slackbuilds/ndiswrapper/build/ndiswrapper_kernel_2.6.27.patch|ici]] mais il faudra l'enregistrer dans le dossier ndiswrapper-. Ensuite taper cette commande : patch -p0 < ndiswrapper_kernel_2.6.27.patch Si le patch a fonctionné, vous devriez voir: patching file driver/iw_ndis.c Hunk #11 succeeded at 1236 with fuzz 1. Fin du patch. Reprendre ici la compilation si le patch n'est pas nécessaire. --------------------- Enfin, maintenant que l'on se trouve dans le bon répertoire, on passe à l'installation proprement dite : make sudo make uninstall puis on déplace ce dossier dans le dossier /opt/ où il sera en sécurité, et on s'y rend : cd .. sudo mv ndiswrapper- /opt/ cd /opt/ndiswrapper- On installe ndiswrapper : sudo make install == Liens utiles == [[http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation|guide d'installation sur le site officiel]] [[https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper|Guide d'installation sur le wiki anglophone]]. ===== Configuration de NDISWrapper ===== Deux choix s'offrent à vous : ==== Procédure manuelle ==== Premièrement, nous allons charger dans le système le pilote Windows que nous avons récupéré (cf. supra). Pour cela, ouvrez un terminal, placez-vous dans le répertoire où se trouvent les pilotes (avec les fichiers .sys etc., pas uniquement le fichier .inf) et tapez (le nom du fichier .inf dépend de votre pilote) : cd répertoire_où_se_trouve_le_pilote Si vous avez suivi la documentation ça devrait être : cd ~/install_wifi Pour la commande ndiswrapper il se peut que la commande soit légèrement différente, pour cela taper dans un terminal ndiswr puis demander une auto-complétion en appuyant plusieurs fois sur la touche TAB, pour activer l'auto-complétion [[console#optimiser_la_console|regarder ici]] == Sous Lucid, Maverick == sudo ndiswrapper -i votre_pilote.inf == Sous Feisty, Gutsy == sudo ndiswrapper-1.9 -i votre_pilote.inf == Sous Edgy == sudo ndiswrapper-1.8 -i votre_pilote.inf == Sous Dapper == sudo ndiswrapper -i votre_pilote.inf == Avec la méthode de la compilation (méthode "universelle") == sudo ndiswrapper -i votre_pilote.inf Le nom du fichier .inf est sensible à la casse ! N'hésitez pas à utiliser la touche pour compléter automatiquement le nom du fichier. Pour vérifier que NDISWrapper a bien installé votre pilote, tapez la commande suivante : ndiswrapper -l Vous devriez voir un message dans le genre de celui-ci : Installed ndis drivers: (votre_pilote) driver present, hardware present Ensuite, nous allons créer un module pour le charger dans le noyau Linux. Ce module sera créé à partir du pilote Windows que nous avons chargé précédemment. Pour faire ceci, utilisez la commande suivante dans un terminal : sudo ndiswrapper -m ==== Procédure graphique ==== Il existe un utilitaire dans le [[:depots#universe_et_multiverse|dépôt « Universe »]] qui se nomme **[[ndisgtk]]** et qui effectue la procédure ci-dessus de manière graphique. Après son installation, il se situera dans //Système -> Administration -> Windows Wireless Drivers//. {{ materiel:wifi:ndisgtk.jpg }} ===== Passer la main à NDISWrapper ===== ==== Décharger le module par défaut et charger NDISWrapper ==== Étape supplémentaire avant de pouvoir goûter aux joies du nomadisme (limité) , décharger le module qui gère par défaut votre carte Wi-Fi. Même si vous avez correctement configuré NDISWrapper cette étape est nécessaire. En effet imaginez deux personnes (module par défaut et ndiswrapper) voulant manger avec une cuillère (Wi-Fi) et en même temps ! Pour décharger le module par défaut d'abord le connaître : Vous êtes donc invité à l'étudier dans [[:ndiswrapper#cas_particuliers|cette partie de la documentation]] ou sur le forum Ubuntu. Une fois que vous savez lequel c'est, il vous faut entrer la commande suivante pour décharger ce module : sudo modprobe -r nom_du_module_à_blacklister Par exemple pour le chipset bcm43xx sudo modprobe -r bcm43xx Les commandes ci-dessus déchargent les modules pour la session en cours et il faut qu'au prochain démarrage ces modules ne se chargent pas. Il faut donc les blacklister [[:ndiswrapper#cas_particuliers| voir la partie cas particuliers]] Nous allons maintenant tester si le module que nous venons de créer fonctionne. Pour cela, on va le charger dynamiquement dans le noyau avec la commande suivante : sudo modprobe ndiswrapper Si tout s'est bien passé, vous devriez avoir une interface //eth1// ou //wlan0// existante. Vous pouvez vérifier cela en tapant //iwconfig// dans un terminal ou en allant dans le menu **Système -> Administration -> Réseau**. Si ce n'est pas le cas, essayez de décharger le module et rechargez-le : ''sudo modprobe -r ndiswrapper'' puis ''sudo modprobe ndiswrapper''. === Charger automatiquement NDISWrapper au démarrage du système === Pour que NDISWrapper se charge à chaque démarrage, il suffit d'ajouter une ligne contenant **ndiswrapper** à la fin du fichier « /etc/modules ». Faites-le manuellement ou tapez : echo "ndiswrapper"|sudo tee -a /etc/modules === Charger automatiquement NDISWrapper au démarrage du système pour la 11.10 Oneiric avec Unity=== Dans ce cas, il faut lancer le chargement du module NDISwrapper en utilisant le script de démarrage /etc/rc.local. Pour ce faire éditer le fichier /etc/rc.local sudo gedit /etc/rc.local Insérer la commande /sbin/modprobe ndiswrapper & Devant la commande exit 0 ===== Vérification de l'installation ===== ==== L'ordre d'exécution des commandes ==== Ceci est peut-être trivial mais il vous faut respecter cet ordre (à adapter en fonction des cas), en résumé : * installer NDISWrapper * sudo ndiswrapper -i chemin_complet_du_pilote.inf * sudo ndiswrapper -m * sudo modprobe -r nom_du_module_a_backlister * echo "blacklist module_a_backlister"|sudo tee -a /etc/modprobe.d/blacklist * sudo modprobe ndiswrapper * echo "ndiswrapper" | sudo tee -a /etc/modules ==== Les réponses des commandes ==== La commande magique ndiswrapper -l n'est pas là pour faire jolie, c'est elle qui vous indique que l'installation du pilote s'est bien passée **ou pas**. Si la réponse est : \\ Installed ndis drivers: \\ (votre_pilote) driver present, hardware present \\ Bravo votre pilote est installé sinon ceci veut dire que le pilote ( .inf ) est incompatible. Il vous faut en chercher un autre mais ceci veut également dire qu'il vous faut désinstaller le pilote qui vient de causer problème (voir la partie [[:ndiswrapper#desinstallation|désinstaller le pilote]] ). Enfin la commande de confirmation est sans aucun doute iwconfig. ~$ iwconfig lo no wireless extensions. eth1 no wireless extensions. eth0 IEEE 802.11g ESSID:"ssid" Mode:Managed Frequency:2.417 GHz Access Point: xx:xx:xx:xx:xx Bit Rate=5.5 Mb/s Tx-Power:32 dBm RTS thr:2347 B Fragment thr:2346 B Power Management:off Link Quality:26/100 Signal level:-79 dBm Noise level:-96 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:12766 Invalid misc:559650 Missed beacon:0 eth0 est donc l'interface Wi-Fi qui est reconnue ! ---- **Vous pouvez maintenant configurer l'interface sans fil. Pour cela, rendez-vous sur [[wifi|cette page]].** ===== Désinstallation ===== ==== Suppression du pilote ==== On désinstalle le pilote : sudo ndiswrapper -r Puis, on décharge le module du noyau : sudo modprobe -r ndiswrapper ==== Désinstaller NDISWrapper ==== Ouvrez le fichier « /etc/modules » en mode super-utilisateur et supprimez **ndiswrapper** à la fin du fichier. On désinstalle NDISWrapper : sudo modprobe -r ndiswrapper sudo apt-get remove ndiswrapper-utils --purge Avec la méthode compilation il vous faut vous déplacer dans le dossier : cd /opt/ndiswrapper- Puis désinstaller : sudo make uninstall ==== Suppression des traces résiduelles ==== [[:tutoriel:comment_supprimer_un_paquet|Supprimez le paquet]] **ndiswrapper-utils, ndiswrapper-utils-1.8 ou ndiswrapper-utils-1.9** selon votre version d'Ubuntu. Enfin, supprimez les "résidus" d'installation : sudo rm -r /etc/ndiswrapper/ sudo rm -r /etc/modprobe.d/ndiswrapper sudo rm /lib/modules/`uname -r`/kernel/drivers/net/ndiswrapper/ndiswrapper.ko Maintenant, il ne devrait rester aucune trace de NDISWrapper dans votre système. ===== Problèmes et solutions ===== ==== Carte « aveugle » ==== Il se peut que la carte ainsi configurée semble marcher mais ne voit jamais aucun réseau. Dans ce cas la commande sudo iwlist wlan0 scan retourne Aucun résultat Cette erreur peut très bien ne pas être systématique ! C'est-à-dire que vous pouvez avoir un truc qui marche plusieurs fois, et qui se met à ne plus marcher un jour, pour un bon moment. Une solution qui marche plutôt bien pour régler ce problème est de rajouter l'option ''irqpoll'' au démarrage. pour ce faire on édite le fichier ''/boot/grub/menu.lst'' et on rajoute ''irqpoll'' à la fin de la ligne kernel que l'on lance. sudo gedit /boot/grub/menu.lst title Ubuntu 7.10, kernel 2.6.22-14-generic root (hd0,1) kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=ab2e6ac4-be95-4745-9775-0f09d21c1ca1 ro quiet splash irqpoll initrd /boot/initrd.img-2.6.22-14-generic quiet La méthode consistant à modifier le fichier /boot/grub/menu.lst pour activer le wifi ne fonctionne plus à partir d'ubuntu 9.10 En effet le fichier menu.lst est remplacé par grub.cfg. Ce fichier ne pouvant pas être modifié directement (il est généré à partir d'autres fichiers), le mode opératoire est le suivant: 1) ouvrir un terminal 2) taper gksudo gedit /etc/grub.d/10_linux 3) ajouter pnpbios=off acpi=force irqpoll au bon endroit: .../... if [ "x$5" != "xquiet" ]; then cat << EOF echo '$(printf "$(gettext_quoted "Loading Linux %s ...")" ${version})' EOF fi cat << EOF linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} pnpbios=off acpi=force irqpoll EOF .../... 5) Enregistrer les modifications et fermer le fichier 6) dans le terminal taper sudo update-grub 7) Redémarrer l'ordinateur ===== Cas particuliers ===== Maintenant que NDISWrapper a pris en charge votre carte Wi-Fi, il faut désactiver le module/pilote par défaut pour éviter un conflit au prochain redémarrage. Ceci se résume à écrire une seule ligne dans un fichier. Si votre carte n'est pas listée en dessous, faites une recherche sur le module par défaut gérant la wifi de votre ordinateur. La commande [[:diagnostic_outil|lsmod]] sera utile. **Attention : A partir de la version 9.04 (Jauntly Jackalope), le fichier "blacklist" est nommé "blacklist.conf"** ==== Accès au Wi-Fi via un adaptateur USB Netgear ==== Vous trouverez la procédure sur [[:wifi_realtek_rtl8187#blacklister_les_pilotes_qui_posent_probleme|cette page]]. ==== Broadcom Corporation ==== [[:wifi_broadcom_BCM43xx|Page sur les bcm43xx en général, suivant différentes méthodes]] ===Chipset BCM4318, BCM4318=== == Pour la version Gutsy et inférieur de Ubuntu == Il faut éditer le fichier /etc/modprobe.d/blacklist et rajouter à la fin # broadcom 43xx blacklist bcm43xx Un redémarrage est conseillé après. == Pour la version Hardy et supérieur == Il faut éditer le fichier /etc/modprobe.d/blacklist et rajouter une ligne, le code suivant effectue cette manipulation automatiquement. echo -e "blacklist ssb\nblacklist b43"| sudo tee -a /etc/modprobe.d/blacklist Puis de même pour le fichier /etc/modprobe.d/ndiswrapper echo 'install ndiswrapper modprobe -r ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ssb'| sudo tee -a /etc/modprobe.d/ndiswrapper Après un redémarrage votre carte devrait fonctionner. ==== Chipset Atheros AR5006EG ==== (Rencontré sur un Toshiba P200-12V et un Asus X51R) De la même manière que pour le chipset BCM4318 ci-dessus, il faut éditer le fichier /etc/modprobe.d/blacklist et rajouter à la fin # Atheros AR5006EG blacklist ath_pci Et redémarrer ensuite. En effet, le pilote madwifi qui gère généralement les chipsets de la marque Atheros ne prend pas en charge ce chipset... ==== Carte Linksys WPC54G ==== Si la commande ''sudo ndiswrapper -i #driver#.inf'' vous a renvoyé des lignes du type: Forcing parameter RadioState|0 to RadioState|1 Ouvrez tous les fichiers .conf du répertoire « /etc/ndiswrapper » en mode super-utilisateur et remplacez ''RadioState|1'' par ''RadioState|0'' puis sauvegardez les modifications. ==== Chipset ACX100 ==== Si vous ne pouvez pas utiliser le pilote libre (incompatibilité ou WPA ...), avant d'installer le pilote windows via NDISWrapper, il faut désactiver le pilote libre, comme indiqué sur cette page: [[:wifi_chipset_ti_acx|Pilote ACX]] ==== Carte NETGEAR PCMIA MA521 ==== Se rendre sur le site constructeur http://firmware.netgear-forum.com/index.php?produit=MA521 (5.175). De là décompresser l'archive (ma521_5_175_1204_2006.zip), on obtient un 'setup.exe'. En l'installant via [[:wine|wine]], il suffit de se rendre dans le dossier : ~/.wine/drive_c/windows/inf/MA521_patch et récupérer les fichiers **NETMA521.inf** et **MA521nd5.sys** (il vous faut ces deux fichiers). Un autre lien pour récupérer ces deux fichiers (archive tar.gz) : http://www.clicksources.com/netgear_MA521.tar.gz ( [[utilisateurs:McPeter]] ) ==== Carte Belkin Wireless PCMCIA Card - F5D6020 (rev 20) ==== Utiliser un pilote RealTek 8180 pour qu'elle fonctionne avec NDISWrapper. Procédure détaillée : [[:wifi_belkin_f5d6020|carte Wifi PCMCIA Belkin F5D6020]] ==== Carte Netgear WG311V3 ==== Voir la page [[:wifi netgear wg311v3]] qui détaille la procédure. ==== Dongle USB Wifi utilisant le pilote sis163u ==== Voir la page: [[thomson_wlg_1500a]] qui détaille la procédure. ==== Si les ESSID ne s'affichent pas ==== Ouvrir en mode super-utilisateur le fichier « /etc/network/interfaces » puis sauvegarder sans rien modifier. ===== Exemples de cartes ===== * [[:livebox]] * [[:wifi_linksys_wusb54g]] * [[:wifi_trendnet_tew-423pi]] * [[:wifi_netgear_wg311v2|carte PCI Netgear WG311v2]] * [[:wifi_netgear_wg311v3|carte PCI Netgear WG311v3]] * [[:wifi_ovislink_evo-w108usb|Clé USB Wifi EVO-W108USB]]: * [[:wifi_belkin_f5d6020|carte Wifi PCMCIA Belkin F5D6020]] * Stick USB sans fil (802.11g) Olitec ---- / Contributeurs : [[utilisateurs:ostaquet]], [[utilisateurs:chuckychuck]], [[utilisateurs:DidRocks]], [[utilisateurs:Lestat_the_vampire|Lestat the vampire]], [[utilisateurs:McPeter]], Dav999, [[utilisateurs:owintwist|OwInTwIsT]]//