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 diese 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 USB-Tethering auf dem 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
, allerdings als Nexus 4:
Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)
(Ist das ein Problem?)
Ich bekomme jedoch keine Netzwerkschnittstelle usb0 oder sonst etwas angezeigt, was es sein könnte. ifconfig
listet nur die zuvor vorhandenen Schnittstellen auf, nämlich eth0
, lo
, sowie zwei tun
von OpenVPN bereitgestellte Geräte.
Ich habe nach möglichen Gründen gesucht, warum das nicht funktioniert, aber sie drehen sich um einen zu alten Kernel (aus der 2.6-Zeit). 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 mit einem Sony Ericsson-Telefon zum Laufen gebracht habe, indem ich es einfach angeschlossen habe, und das war vor Jahren.
Soweit ich das beurteilen kann, sind 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?
Aktualisieren: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 andere Module geladen werden: rndis_wlan
und mii
. Obwohl das manuelle Laden dieser Module über modprobe
fehlerfrei zu funktionieren scheint, usb0
fehlt immer noch.
Nach einigem Googeln fand ich heraus, dass ich mit Informationen zu Netzwerkschnittstellen erhalten sollte ip link
. Die Ausgabe lautet:
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, dass es usb0
das doch gibt. 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.
Antwort1
Ok, es scheint, ich habe es herausgefunden. Mit diesen Befehlen hat es funktioniert:
ip link set usb0 up
dhclient usb0
Komischerweise ifup usb0
wird mir immer noch angezeigt, dass diese Schnittstelle unbekannt ist, und: vor dem Ausführen funktioniert dhclient
nicht einmal ping 8.8.8.8
eins.
Mich würde dennoch interessieren, wie ich dies automatisieren kann oder warum dies bei einer anderen Debian-8-Installation automatisch geschieht.
Antwort2
Fügen Sie dies zur /etc/network/interfaces
Konfigurationsdatei hinzu:
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp
und nach dem Neustart
sudo ifconfig usb0 up
Wenn Ihr System Ubuntu nach 16.04 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 nichts davon funktioniert, sehen Sie sich die Liste mit ifconfig -a | grep Link
und an und versuchen Sie dann, das Relevante zu mounten oder führen Sie die obigen Schritte aus und mounten Sie es dann.