web-dev-qa-db-fra.com

Obtenez le partage de connexion USB depuis un périphérique Android pour travailler sur Debian 8

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.

12
A. Donda

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.

8
A. Donda

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.

1