Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Pas à pas : Faire que sa carte WiFi soit détectée

Suivez cette section en particulier si votre matériel n'est pas reconnu par le noyau.

Attention, ce tuto propose différents tests afin d'identifier les problèmes de détection de votre carte wifi. Il est important de le suivre de manière chronologique (chaque test supposant que le précédent est réussi), et jusqu'au bout (tous les tests devant être positifs pour que la détection soit complète et la carte fonctionnelle).

Installer les outils WiFi

FIXME

Avant tout :

Étape 1 : Identifier la carte réseau

Il existe plusieurs niveaux de détection du matériel. En premier lieu, le noyau doit identifier la carte comme étant une carte WiFi. Pour vérifier si c'est le cas, la commande lspci nous sera très utile.

Pour identifier votre carte WiFi, tapez dans un terminal la commande suivante :

lspci -nn | grep -i network

Cela vous donnera quelque chose comme ceci :

retour de la commande
03:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 02)

Cette ligne nous indique que cet ordinateur est équipé d’une carte avec une puce de marque Broadcom avec un chipset BCM4311. Les cartes Broadcom sont souvent pénibles à installer, heureusement les modes d'installation commencent à être bien rodés.

Il existe une multitude de tutoriels ou de cours sur internet qui expliquent comment identifier le matériel installé sur votre ordinateur.

Voici deux pages qui sont spécialement dédiées à Debian :

Étape 2 : Vérifier la présence du module noyau

FIXME

La seconde étape nécessaire pour le fonctionnement d'une carte WiFi est qu'elle soit prise en charge par un module du noyau.

Pour vérifier si c'est le cas (et que ce module est installé), on utilisera à nouveau la commande lspci :

lspci -k | grep -i network -A 3
retour de la commande
02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
        Subsystem: AzureWave Device 2047
        Kernel driver in use: bcma-pci-bridge
        Kernel modules: bcma

Cette fois-ci, on note que la carte WiFi est une BCM4313, et que le pilote noyau utilisé est bcma-pci-bridge.

Si lspci n'affiche pas de module en cours d'utilisation, c'est que le module noyau est manquant, il faut alors l'installer. Si vous êtes possesseur d'un ordi portable, vous avez certainement une carte WiFi intégrée. Dans le meilleur des cas, votre carte sera reconnue automatiquement. Si si, ça arrive ! Sinon, vous devez connaître le modèle de votre carte pour pouvoir installer le bon pilote.

Il suffit alors de se reporter à la page “Cartes Wifi” pour trouver le(s) module/paquet qui correspond(ent) à la carte en question.

Si vous ne détectez pas la carte WiFi, cela peut être dû au fait que sur certains ordinateurs portables, la carte WiFi est en fait un périphérique USB.

Essayez la commande suivante (dans un terminal avec les droits root) :

lsusb

Les PC de bureau ne sont pas toujours équipés de carte WiFi. Vous pouvez donc choisir la carte PCI ou la clef WiFi USB que vous voudrez installer par vous-même.

Pour trouver une liste des cartes WiFi compatibles Linux allez à ces adresses :

Étape 3 : Vérifier la présence des firmwares

FIXME

Les firmwares sont des micro-programmes souvent fournis par le constructeur, et que le pilote noyau doit charger dans la carte WiFi elle-même. De nombreux périphériques nécessitent aujourd'hui que soient chargés des firmwares, et comme ceux-ci sont rarement libres, ils ne sont pas installés par défaut sous Debian.

On vérifie si un firmware est présent (après s'être assuré que le module nécessaire était bien là), avec la commande ip. La commande ifconfig est dépréciée sous Debian 9 Stretch, en raison d'un manque de maintenance. La commande ifconfig reste disponible pour les utilisateurs de Debian 8 Jessie et ceux qui ont migré de Jessie à Stretch.

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:17:fe:ce:3d:1e brd ff:ff:ff:ff:ff:ff
    inet xxx.xxx.x.xx/xx brd xxx.xxx.x.xxx scope global dynamic wlp5s0
       valid_lft 42384sec preferred_lft 42384sec
    inet6 xxxx:xxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx/xx scope global noprefixroute dynamic 
       valid_lft 86325sec preferred_lft 86325sec
    inet6 xxxx::xxxx:xxx:xxxx:xxxx/xx scope link 
       valid_lft forever preferred_lft forever

Depuis Debian 9 Stretch, le nom des interfaces a changé :

  • pour la connexion Ethernet (filaire) : à la place de eth0, on a un nom de la forme enp0s3 ;
  • pour la connexion WiFi (sans fil) : à la place de wlan0, on trouve un nom de la forme wlp5s0, wlp0s29f7u2 ou encore wlx0a1b2c3d4e5f, selon le type de carte WiFi (PCI ou USB).

Si “wlpxxx” ou “wlxxxx” apparaît, alors votre carte WiFi est très probablement correctement détectée, félicitations. :-)

Si “wlpxxx” ou “wlxxxx” n'apparaît pas alors que le module noyau est bien chargé, c'est qu'il faut installer un firmware manquant. La commande ci-dessous devrait vous aider à trouver celui qui manque pour faire fonctionner votre carte WiFi :

dmesg | grep firmware

N'hésitez pas à créer un fil sur le forum pour demander de l'aide afin d'installer le firmware manquant… N'oubliez pas de donner le retour des commandes de ce tuto pour donner le maximum d'informations sur votre carte WiFi. ;-)

Sur le forum, des problèmes de connexion avec NetworkManager ont été rapportés sous Stretch, pour des cartes USB lorsque le nom de l'interface commence par wlx, comme par exemple wlx0a1b2c3d4e5f. La solution est indiquée dans ce message (merci à kyodev, naguam et èfpé).

On active l'interface avec la commande root :

ip link set dev nom-de-l-interface up

Pour les utilisateurs de Jessie et versions précédentes, les commandes sont :

/sbin/ifconfig

Ainsi, si wlan0 n'apparaît pas, c'est qu'il faut installer le bon firmware en le déterminant selon ce qui suit.

  • Si on lui donne l'argument -a, cette commande affiche toutes les interfaces réseaux présentes sur la machine :
/sbin/ifconfig -a
retour de la commande
 eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
            BROADCAST MULTICAST  MTU:1500  Metric:1
            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 lg file transmission:1000 
            RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
  lo        Link encap:Boucle locale  
            inet adr:127.0.0.1  Masque:255.0.0.0
            adr inet6: ::1/128 Scope:Hôte
            UP LOOPBACK RUNNING  MTU:65536  Metric:1
            RX packets:552 errors:0 dropped:0 overruns:0 frame:0
            TX packets:552 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 lg file transmission:0 
            RX bytes:37827 (36.9 KiB)  TX bytes:37827 (36.9 KiB)
 
  wlan0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:638993 errors:0 dropped:0 overruns:0 frame:0
            TX packets:412031 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 lg file transmission:1000 
            RX bytes:617235341 (588.6 MiB)  TX bytes:42145548 (40.1 MiB)

Si wlan0 n'apparaît pas alors que le module noyau est bien chargé, c'est que le firmware manque.

Vous activez ensuite la carte WiFi avec la commande suivante, en root :

ifconfig wlan0 up

Vous vérifiez si l'interface a effectivement été allumée avec la commande :

/sbin/ifconfig

Si wlan0 apparaît, alors votre carte WiFi est très probablement correctement détectée, félicitations. :-)

Sinon, le firmware manque presque sûrement, et un dmesg | tail vous indiquera quels sont les fichiers de firmware manquants pour que la carte fonctionne correctement. Dans ce cas, voir la suite plus bas.

Utiliser le noyau expérimental

FIXME

Tout n'étant pas toujours rose dans ce monde brutal de l'informatique et notamment concernant le matériel, il vous faudra peut-être utiliser un noyau venu de la branche experimental pour parvenir à trouver le firmware qui va bien.

Ce lien là vous dit ce qu'il en est alors…

Étape finale : la détection des réseaux

FIXME

Si vous êtes arrivés jusque là et que vous prétendez avoir passé avec succès toutes les étapes précédentes, il reste un test de validation final : « est-ce que votre carte détecte bien les réseaux voisins ? »

Pour ce faire, dans un terminal root, vous lancez la commande suivante :

iwlist wlan0 scan

S'ils sont présents, alors vous avez gagné, sinon, quelque chose n'a pas bien fonctionné quelque part, regardez les difficultés particulières connues pour votre carte.

Configuration du WiFi

Configurer à la main sa connexion WiFi :

Redémarrer

Faire un reboot de la machine pour que la carte soit active à l'accès WiFi.

Documentation

/usr/share/doc/wireless-tools/README.Debian
/etc/network/interfaces
-----------------------
 
You can now add extra statements to the iface sections of the files in
/etc/network/interfaces that are specific for wireless interfaces. They are of
the form:
 
    wireless-<function> <value>
 
After the interface is brought up, such a statement will result in the
execution of the following command:
 
    iwconfig <interface> <function> <value>
 
Note that there may be some drivers that only accept wireless configuration if
the interface is down. In that case, configuration from /etc/network/interfaces
may fail.
 
If you bring the interface down, then for each wireless-<function> statement
given it will execute a corresponding iwconfig command that reverts that
function back to sane defaults.  For example, if you specified a wireless-key,
if you run ifdown it will set the wireless key to "off".
 
If you want to specify a nick, nwid or essid with spaces in them, you must not
surround them with quotes.
 
To specify multiple keys the following statements are also available:
 
    wireless-key<number> <key>
    wireless-defaultkey <number>
    wireless-keymode restricted|open
 
To finetune powermanagement the following statments are also available:
 
    wireless-powerperiod <period>
    wireless-powertimeout <timeout>
 
Example:
 
iface eth0 inet static
    address 192.168.1.2
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255
    wireless-essid Home
    wireless-mode ad-hoc
 
Example of multiple keys:
 
    wireless-key1 0123-4567-89ab-cdef
    wireless-key2 12345678
    wireless-key3 s:password
    wireless-defaultkey 2
    wireless-keymode open

Merci à sv0t pour cette indication sur le fofo. :-)

Lien utile sur le forum df

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/materiel/wifi/detecter.txt · Dernière modification: 17/06/2018 22:18 par èfpé

Pied de page des forums

Propulsé par FluxBB