Table des matières

Configurer une carte Wifi avec ndiswrapper

Préambule : À faire

décrire plus précisément le cas particulier du D600

:!: vérifier si ssb est requis par la carte ethernet (cf http://doc.ubuntu-fr.org/wifi_broadcom_bcm43xx)

Introduction

Certains adaptateurs wifi ne fonctionnent correctement qu'avec un pilote windows chargé avec l'utilitaire ndiswrapper.

Exemples :

Le document suivant explique comment installer ndiswrapper, le pilote windows et comment gérer le chipset wifi avec le pilote en question.

Il est (très légèrement) adapté du tutoriel trouvé sur le forum ubuntu

voir aussi le document doc.ubuntu-fr.org/ndiswrapper un peu plus clair…

Pour connaître les périphériques réseau, tapez dans un terminal :

lspci

Vous obtenez ce type de résultat :

Ethernet controller: Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless

ou :

Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller

Ces deux chipsets (entre autres) ne sont correctement gérés qu'avec un pilote windows.

Si votre machine a une connexion internet (par exemple avec un cable réseau), vous pouvez directement télécharger et installer les outils depuis la machine à configurer ; si ce n'est pas le cas, il faudra évidemment effectuer le téléchargement des outils depuis une autre machine.

Outils nécessaires à l'installation du pilote

Les outils nécessaires sont : ndiswrapper et le pilote de la carte wifi.

Avec une connexion internet

Tapez dans un terminal :

sudo aptitude update
sudo aptitude install ndiswrapper-utils-1.9
wget ftp://downloads.netgear.com/files/wg311v3_1_0.zip (pilote marvell)
wget http://ubuntuondell.tuxfamily.org/download/bcmwl5/bcmwl5.tar.gz (pilote broadcom)

Sans connexion internet

Téléchargez ces 3 paquets

puis installez-les :

sudo dpkg -i ndiswrapper-common_1.43-1ubuntu2_all.deb
sudo dpkg -i ndiswrapper-utils-1.9_1.43-1ubuntu2_i386.deb

Installation du pilote

Installation

  unzip wg311v3_1_0.zip -dlibertas      ; # décompacte l'archive
  sudo ndiswrapper -i libertas/WG311v3\ V1.0/Driver/Windows\ XP/WG311v3.INF
  sudo ndiswrapper -m                   ; # écrit la configuration pour modprobe
  tar -zxf bcmwl5.tar.gz                ; # décompacte l'archive
  sudo ndiswrapper -i DRIVER/bcmwl5.inf ; # installe le pilote
  sudo ndiswrapper -m                   ; # écrit la configuration pour modprobe

Vérification

Tapez :

ndiswrapper -l

vous devez voir un retour ressemblant à :

wg311v3         driver present, hardware present

passez alors au point Charger le pilote

Si vous voyez :

wg311v3:  invalid driver

supprimer le pilote avec la commande :

sudo ndiswrapper -e wg311v3

puis recommencez à partir du point Installation

Charger le pilote

sudo modprobe ndiswrapper
echo 'ndiswrapper' | sudo tee -a /etc/modules
sudo echo 'blacklist b43legacy' >> /etc/modprobe.d/blacklist.conf
sudo echo 'blacklist ssb' >> /etc/modprobe.d/blacklist.conf
sudo /etc/init.d/networking restart

Problème et solution

Dans mon cas perso, le module ssb était chargé très tôt lors du démarrage (malgré le blacklistage) et empêchait le fonctionnement correct de ndiswrapper (le pilote bcmwl5 n'était pas chargé) ; la solution trouvée ici a consisté à régénérer initramfs avec la commande :

sudo update-initramfs -u

dont l'effet est de mettre à jour les informations de démarrage du système pour qu'il n'essaie pas de charger le module ssb au démarrage.

Problème (bis) et rustine

:-( rien n'est simple… :-/

Maintenant que le Wifi fonctionne, je m'aperçois que les périphériques USB ne sont plus reconnus… Après investigation (longue et fastidieuse) voici la conclusion :

J'ai donc :

Visiblement, le problème a été signalé (une ou deux fois) dans les forums Ubuntu , mais aucune solution n'a été proposée…

à suivre…