J'ai connecté un "dongle 3G" à mon ordinateur et je me suis demandé comment il était automatiquement connecté dans Ubuntu 14.04 sans installer manuellement le logiciel correspondant au dongle, mais je l'ai installé alors que je travaillais sous Windows.
lsusb
Bus 001 Device 004: ID 05c6:6001 Qualcomm, Inc.
usb-devices | awk '/6001/' RS=
Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=480 MxCh= 0> Ver= 2.00
Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
Vendor=05c6 ProdID=6001 Rev=00.00
Manufacturer=Qualcomm, Incorporated
Product=Qualcomm mobile device
#Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_Host
If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=rndis_Host
Quelle est la raison?
Pouvons-nous éditer/voir ce fichier et donner quelques détails supplémentaires à ce sujet?
Si vous exécutez la commande lsusb
terminal, vous verrez quelle puce est installée dans votre dongle. Votre appareil est
05c6:6001 Qualcomm, Inc.
Dans la plupart des cas, Linux identifie le dongle par le code à puce 12d1:1506
.
Certains des périphériques sont définis implicitement dans le module de noyau option
par les identifiants de fournisseur et de produit, mais certains sont identifiés par d'autres paramètres.
Votre appareil fonctionne comme une carte réseau et non comme un modem série. Il est identifié différemment.
Vous pouvez voir dans votre sortie Cls=e0(wlcon)
cela signifie que le périphérique est un USB_CLASS_WIRELESS_CONTROLLER
. Cela est défini dans /include/uapi/linux/usb/ch9.h
.
Il est géré par le pilote rndis_Host
. Il y est lié parce que Sub=01 Prot=03
.
Cela est défini dans le /drivers/net/usb/rndis_Host.c
de
USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
.driver_info = (unsigned long) &rndis_info,
Ne cherchez pas ces fichiers sur votre ordinateur. Ils sont dans l'arborescence des sources Linux. Par exemple. rndis_Host.c
Linux (et donc Ubuntu) fonctionne avec des périphériques "génériques". "Générique" signifie 1 module (A.k.a. "pilote") prenant en charge de nombreux périphériques. Tous les fabricants de ces dongles n'ont pas leur propre puce à l'intérieur de ces dongles. Ils ont tendance à les acheter en grande quantité auprès du même fabricant. Ils sont donc identiques à d'autres dongles utilisant la même puce.
Pour Linux/Ubuntu, cela signifie normalement que quelqu'un utilise un dongle avec Linux avec le même jeu de puces que vous-même, a compris comment le faire fonctionner et qu'une personne a mis à jour ce pilote générique afin de prendre en charge ce jeu de puces. Cela signifie que ce périphérique est pris en charge immédiatement sous Linux.
Sous Windows, chaque vendeur de ce dongle aura son propre logiciel avec ce dongle et son propre pilote (mais peut-être légèrement différent) pour l'accompagner.
Linux contient déjà tous les pilotes génériques nécessaires à la plupart des périphériques. Cela est possible car Linux est alimenté par une vaste communauté de développeurs open source (qui, de manière surprenante, inclut aujourd'hui Microsoft également).
Cela ne signifie pas que vous n’installez pas vos propres pilotes, vous le pouvez certainement.
J'ai un comportement identique avec mon dongle 3G. Ubuntu a déjà une prise en charge intégrée, contrairement au système d'exploitation Windows. Lorsque vous connectez le dongle sous Windows, le système d'exploitation installe automatiquement les pilotes qui se trouvent sur le dongle.