Obtenez le partage de connexion USB depuis un appareil Android pour travailler sur Debian 8

13

J'essaie de faire fonctionner le partage de connexion USB entre un téléphone Nexus 5 (exécutant CM11) et mon bureau exécutant Debian 8. J'ai connecté le téléphone à l'ordinateur via USB et j'ai reçu ces messages:

[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, j'obtiens également:

[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

L'appareil est également répertorié par lsusb, bien que comme un Nexus 4:

Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)

(Est-ce un problème?)

Cependant, je ne reçois pas d'interface réseau USB0 ou quoi que ce soit d'autre. ifconfigrépertorie uniquement les interfaces précédemment présentes, qui sont eth0, loainsi que deux tunpériphériques fournis par OpenVPN.

J'ai cherché des raisons possibles pour lesquelles cela ne fonctionne pas, mais elles tournent autour d'un noyau trop ancien (depuis les 2.6 jours). Mon noyau est 3.16.0, ce qui, je suppose, prend en charge le partage de connexion USB. Je me souviens également que j'ai eu le partage de connexion USB pour travailler avec un téléphone Sony Ericsson en le connectant, et c'était il y a des années.

Pour autant que je sache, tous les modules du noyau concernés 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_wlanet mii. Cependant, bien que le chargement manuel de ces modules via modprobesemble fonctionner sans erreur, usb0il manque toujours.

Après quelques recherches sur Google, j'ai constaté que je devrais obtenir des informations sur les interfaces réseau à l'aide 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

Il semble donc que usb0cela existe après tout. J'ai ensuite essayé ifup usb0, mais ça dit

Ignoring unknown interface usb0=usb0.

J'ai fait le tout aussi avec un Nexus 7 (1ère génération), avec les mêmes résultats.

A. Donda
la source

Réponses:

9

Ok, il semble que je l'ai compris. Ces commandes l'ont fait fonctionner:

ip link set usb0 up
dhclient usb0

Curieusement, ifup usb0me dit encore que cette interface est inconnue, et: avant de courir dhclient, même pas de ping 8.8.8.8travaux.

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.

A. Donda
la source
1
"ifup usb0 me dit toujours que cette interface est inconnue" - donc je suppose que cela n'a pas réussi après tout. Pourquoi cette question est-elle indiquée comme la bonne réponse, et avez-vous découvert autre chose depuis lors? Je voudrais configurer une connexion réseau via le débogage USB car adb ne peut pas encore transférer les ports UDP (il peut cependant transmettre le port et inverser le port TCP). Je serais donc très intéressé par la façon d'accomplir cela
Csaba Toth
1
Même les ip link set usb0 uprendements Cannot find device "usb0"me forment: /
Csaba Toth
remplacer usb0par le nom de votre appareil. Vous pouvez le trouver en comparant la sortie de la commande ip linkavant et après avoir branché votre appareil Android et activé le partage de connexion USB. Après avoir branché et activé le partage de connexion USB, la dernière ligne devrait lire quelque chose comme 37: usb0: <BROADCAST,MULTICAST> .... Le nom juste après le numéro doit être l'appareil que vous recherchez.
v.tralala
2

Ajoutez ceci au /etc/network/interfacesfichier de configuration:

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 changer 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 aucun ne fonctionne, essayez de voir la liste avec ifconfig -a | grep Linket puis essayez de monter celle qui est pertinente ou faites les étapes ci-dessus et montez-la.

Eduard Florinescu
la source