Holen Sie sich USB-Tethering vom Android-Gerät, um unter Debian 8 zu arbeiten

13

Ich versuche, USB-Tethering zwischen einem Nexus 5-Telefon (mit CM11) und meinem Desktop mit Debian 8 zum Laufen zu bringen. Ich habe das Telefon über USB mit dem Computer verbunden und folgende Meldungen erhalten:

[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

Nachdem ich das USB-Tethering am Telefon aktiviert habe, erhalte ich zusätzlich:

[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

Das Gerät wird auch von aufgeführt lsusb, wenn auch als Nexus 4:

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

(Ist das ein Problem?)

Ich bekomme jedoch keine USB0-Netzwerkschnittstelle oder irgendetwas anderes, was es sein könnte. ifconfignur listet die vorher vorhandene Schnittstellen, die sind eth0, losowie zwei tundurch OpenVPN- vorgesehen Geräte.

Ich habe nach möglichen Gründen gesucht, aus denen dies nicht funktioniert, aber sie drehen sich um einen zu alten Kernel (ab 2,6 Tagen). Mein Kernel ist 3.16.0, von dem ich annehmen würde, dass er USB-Tethering unterstützt. Ich erinnere mich auch, dass ich USB-Tethering für die Arbeit mit einem Sony Ericsson-Telefon erhalten habe, indem ich es einfach angeschlossen habe, und das war vor Jahren.

Soweit ich das beurteilen kann, werden alle relevanten Kernelmodule geladen:

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

Was muss ich tun, um die USB0-Netzwerkschnittstelle zu erhalten?


Update: Ich habe dies auf einem anderen Computer mit Debian 8 versucht und es hat funktioniert. Soweit ich das beurteilen kann, besteht der Unterschied darin, dass zwei weitere Module geladen sind: rndis_wlanund mii. Obwohl das manuelle Laden dieser Module über modprobefehlerfrei zu funktionieren scheint, usb0fehlt es dennoch.

Nach einigem googeln stellte ich fest, dass ich Informationen über Netzwerkschnittstellen erhalten sollte ip link. Die Ausgabe ist:

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

Es scheint also doch zu usb0existieren. Ich habe es dann versucht ifup usb0, aber es heißt

Ignoring unknown interface usb0=usb0.

Ich habe das Ganze auch mit einem Nexus 7 (1. Generation) gemacht, mit den gleichen Ergebnissen.

A. Donda
quelle

Antworten:

9

Ok, es scheint, ich habe es herausgefunden. Diese Befehle haben es funktioniert:

ip link set usb0 up
dhclient usb0

Seltsamerweise ifup usb0sagt mir immer noch, dass diese Schnittstelle unbekannt ist und: vor dem Ausführen dhclientnicht einmal eine ping 8.8.8.8funktioniert.

Es würde mich immer noch interessieren, wie ich dies automatisieren kann oder warum dies bei einer anderen Debian 8-Installation automatisch geschieht.

A. Donda
quelle
1
"ifup usb0 sagt mir immer noch, dass diese Schnittstelle unbekannt ist" - also war das wohl doch nicht erfolgreich. Warum ist diese Frage als die richtige Antwort markiert, und haben Sie seitdem etwas anderes herausgefunden? Ich möchte eine Netzwerkverbindung über das USB-Debug einrichten, da adb UDP-Ports noch nicht portieren kann (es kann jedoch TCP vorwärts und rückwärts portieren). Ich wäre also sehr interessiert, wie dies erreicht werden kann
Csaba Toth,
1
Sogar ip link set usb0 upErträge von Cannot find device "usb0"mir: /
Csaba Toth
durch usb0Ihren Gerätenamen ersetzen . Sie finden es, indem Sie die Ausgabe des Befehls ip linkvor und nach dem Anschließen Ihres Android-Geräts vergleichen und das USB-Tethering aktivieren. Nach dem Anschließen und Aktivieren des USB-Tetherings sollte in der letzten Zeile etwa Folgendes angezeigt werden 37: usb0: <BROADCAST,MULTICAST> .... Der Name direkt nach der Nummer sollte das gesuchte Gerät sein.
v.tralala
2

Fügen Sie dies zur /etc/network/interfacesKonfigurationsdatei hinzu:

auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

und nach dem Neustart

sudo ifconfig usb0 up

Wenn Ihr System nach 16.04 Ubuntu ist, müssen Sie möglicherweise den Namen der Schnittstelle ändern:

auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp

und nach dem Neustart

sudo ifconfig enusb01 up

Wenn keine funktioniert, versuchen Sie, die Liste mit ifconfig -a | grep Linkund anzuzeigen, und versuchen Sie dann, die entsprechende zu mounten, oder führen Sie die obigen Schritte aus, und mounten Sie diese dann.

Eduard Florinescu
quelle