J'essaie de faire fonctionner le partage de connexion USB entre un téléphone Nexus 5 (sous CM11) et mon ordinateur sous Debian 8. J'ai connecté le téléphone à l'ordinateur via USB et j'ai reçu les messages suivants:
[14972.580738] usb 3-2: new high-speed USB device number 6 using xhci_hcd
[14972.709236] usb 3-2: New USB device found, idVendor=18d1, idProduct=4ee3
[14972.709239] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[14972.709240] usb 3-2: Product: Nexus 5
[14972.709242] usb 3-2: Manufacturer: LGE
[14972.709243] usb 3-2: SerialNumber: 04a0ba5813aff0d4
Après avoir activé le partage de connexion USB sur le téléphone, je reçois en outre:
[14972.710663] rndis_Host 3-2:1.0 usb0: register 'rndis_Host' at usb-0000:00:14.0-2, RNDIS device, 02:04:67:3f:31:35
Le périphérique est également répertorié par lsusb
, bien qu’il s’agisse d’un Nexus 4:
Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)
(Est-ce un problème?)
Cependant, je n’obtiens pas d’interface réseau usb0 ni quoi que ce soit d’autre. ifconfig
répertorie uniquement les interfaces précédemment présentes, qui sont eth0
, lo
, ainsi que deux périphériques tun
fournis par OpenVPN.
J'ai cherché des raisons possibles pour lesquelles cela ne fonctionne pas, mais elles tournent autour d'un noyau trop ancien (à partir de la version 2.6). Mon noyau est 3.16.0, ce qui, je suppose, supporte le partage de connexion USB. Je me souviens également que le raccordement par modem USB ne fonctionnait qu'avec un téléphone Sony Ericsson, et ce, il y a des années.
Autant que je sache, tous les modules de noyau pertinents sont chargés:
rndis_Host 12698 0
cdc_ether 12564 1 rndis_Host
usbnet 30844 2 rndis_Host,cdc_ether
usbcore 195340 8 xpad,rndis_Host,ehci_hcd,ehci_pci,usbhid,usbnet,xhci_hcd,cdc_ether
usb_common 12440 1 usbcore
Que dois-je faire pour obtenir l'interface réseau usb0?
Mise à jour: J'ai essayé cela sur un autre ordinateur exécutant Debian 8 et cela a fonctionné. Autant que je sache, la différence est que deux autres modules sont chargés: rndis_wlan
et mii
. Cependant, bien que le chargement manuel de ces modules via modprobe
semble fonctionner sans erreur, usb0
est toujours manquant.
Après quelques recherches sur Google, j'ai trouvé que je devais obtenir des informations sur les interfaces réseau à l'aide de ip link
. La sortie est:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 30:85:a9:f6:24:cd brd ff:ff:ff:ff:ff:ff
31: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100
link/none
32: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100
link/none
37: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 0e:21:59:43:d3:ca brd ff:ff:ff:ff:ff:ff
Donc, il semble que usb0
existe après tout. J'ai ensuite essayé ifup usb0
, mais il dit
Ignoring unknown interface usb0=usb0.
J'ai également fait le tout avec un Nexus 7 (1ère génération), avec les mêmes résultats.
Ok, il semble que je l'ai compris. Ces commandes ont fonctionné:
ip link set usb0 up
dhclient usb0
Curieusement, ifup usb0
me dit toujours que cette interface est inconnue et: avant d'exécuter dhclient
, même un ping 8.8.8.8
ne fonctionne pas.
Je serais toujours intéressé de savoir comment je peux automatiser cela, ou pourquoi cela se produit automatiquement sur une autre installation de Debian 8.
Ajoutez ceci au fichier de configuration /etc/network/interfaces
:
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp
et après le redémarrage
Sudo ifconfig usb0 up
si votre système est Ubuntu après 16.04, vous devrez peut-être modifier le nom de l'interface:
auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp
et après le redémarrage
Sudo ifconfig enusb01 up
Si rien ne fonctionne, essayez de voir la liste avec ifconfig -a | grep Link
puis essayez de monter celui qui convient ou suivez les étapes ci-dessus et montez-le.