Pobierz tethering przez USB z urządzenia z Androidem, aby działać na Debian 8

13

Próbuję uruchomić tethering przez USB między telefonem Nexus 5 (z CM11) a moim komputerem z systemem Debian 8. Podłączyłem telefon do komputera przez USB i otrzymałem te wiadomości:

[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

Po włączeniu modemu USB w telefonie otrzymuję dodatkowo:

[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

Urządzenie jest również wymienione przez lsusb, choć jako Nexus 4:

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

(Czy to problem?)

Nie dostaję jednak interfejsu sieciowego usb0 ani niczego innego, co mogłoby to być. ifconfigjedynie wymieniono wcześniej obecne interfejsy, które są eth0, lojak również dwa tunurządzenia przewidziane OpenVPN.

Szukałem możliwych przyczyn, że to nie działa, ale obracają się wokół zbyt starego jądra (od 2.6 dni). Moje jądro to 3.16.0, które, jak zakładam, obsługuje tethering przez USB. Pamiętam też, że tethering przez USB po prostu podłączam do telefonu Sony Ericsson, i to było lata temu.

O ile wiem, ładowane są wszystkie odpowiednie moduły jądra:

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

Co muszę zrobić, aby uzyskać interfejs sieciowy USB0?


Aktualizacja: Wypróbowałem to na innym komputerze z systemem Debian 8 i działało. O ile mogę stwierdzić, różnica polega na tym, że załadowane są dwa inne moduły: rndis_wlani mii. Jednak mimo, że ręczne ładowanie tych modułów przez modprobewydaje się działać bez błędów, usb0nadal brakuje.

Po pewnym googlowaniu stwierdziłem, że powinienem uzyskać informacje o korzystaniu z interfejsów sieciowych ip link. Dane wyjściowe to:

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

Wygląda na to, że jednak usb0istnieje. Potem spróbowałem ifup usb0, ale mówi

Ignoring unknown interface usb0=usb0.

Zrobiłem to wszystko również z Nexusem 7 (1. generacji), z tymi samymi wynikami.

A. Donda
źródło

Odpowiedzi:

9

Ok, wygląda na to, że to rozgryzłem. Te polecenia sprawiły, że działało:

ip link set usb0 up
dhclient usb0

O dziwo, ifup usb0wciąż mówi mi, że ten interfejs jest nieznany, a: przed uruchomieniem dhclientnawet nie ping 8.8.8.8działa.

Nadal byłbym zainteresowany, jak mogę to zautomatyzować lub dlaczego dzieje się to automatycznie przy kolejnej instalacji Debiana 8.

A. Donda
źródło
1
„ifup usb0 wciąż mówi mi, że ten interfejs jest nieznany” - więc sądzę, że w końcu to się nie udało. Dlaczego to pytanie jest oznaczone jako poprawna odpowiedź i czy od tego czasu dowiedziałeś się czegoś innego? Chciałbym skonfigurować połączenie sieciowe przez debugowanie USB, ponieważ adb nie może jeszcze przekierować portów UDP (może jednak przekierować TCP i przekierować port TCP). Byłbym więc bardzo zainteresowany, jak to osiągnąć
Csaba Toth
1
Nawet ip link set usb0 upplony Cannot find device "usb0"mnie tworzą: /
Csaba Toth
zamień usb0na nazwę swojego urządzenia. Można go znaleźć, porównując dane wyjściowe polecenia ip linkprzed i po podłączeniu urządzenia z Androidem i aktywacji modemu USB. Po podłączeniu i aktywowaniu modemu USB ostatni wiersz powinien brzmieć mniej więcej tak 37: usb0: <BROADCAST,MULTICAST> .... Nazwą zaraz po numerze powinno być urządzenie, którego szukasz.
v.tralala
2

Dodaj to do /etc/network/interfacespliku konfiguracyjnego:

auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

i po ponownym uruchomieniu

sudo ifconfig usb0 up

jeśli twój system jest Ubuntu po 16.04, być może będziesz musiał zmienić nazwę interfejsu:

auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp

i po ponownym uruchomieniu

sudo ifconfig enusb01 up

Jeśli żadne z nich nie działa, spróbuj wyświetlić listę za pomocą, ifconfig -a | grep Linka następnie spróbuj zamontować odpowiedni plik lub wykonaj powyższe kroki, a następnie podłącz go.

Eduard Florinescu
źródło