Ottieni il tethering USB dal dispositivo Android per funzionare su Debian 8


13

Sto cercando di far funzionare il tethering USB tra un telefono Nexus 5 (con CM11) e il mio desktop con Debian 8. Ho collegato il telefono al computer tramite USB e ho ricevuto questi messaggi:

[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

Dopo aver abilitato il tethering USB sul telefono, ottengo inoltre:

[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

Il dispositivo è anche elencato da lsusb, sebbene come Nexus 4:

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

(È un problema?)

Tuttavia, non ottengo un'interfaccia di rete usb0 o qualsiasi altra cosa che potrebbe essere. ifconfigelenca solo le interfacce precedentemente presenti, che sono eth0, lononché due tundispositivi forniti da OpenVPN.

Ho cercato possibili motivi per cui questo non funziona, ma ruotano attorno a un kernel troppo vecchio (dai 2.6 giorni). Il mio kernel è 3.16.0, che suppongo supporti il ​​tethering USB. Ricordo anche che il tethering USB funzionava con un telefono Sony Ericsson semplicemente collegandolo, e questo è successo anni fa.

Per quanto ne so, vengono caricati tutti i moduli del kernel rilevanti:

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

Cosa devo fare per ottenere l'interfaccia di rete usb0?


Aggiornamento: l' ho provato su un altro computer con Debian 8 e ha funzionato. Per quanto ne so, la differenza è che vengono caricati altri due moduli: rndis_wlane mii. Tuttavia, sebbene il caricamento manuale di questi moduli tramite modprobesembra funzionare senza errori, usb0manca ancora.

Dopo aver cercato su Google ho scoperto che avrei dovuto ottenere informazioni sulle interfacce di rete usando ip link. L'output è:

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

Quindi sembra che usb0esista dopo tutto. Ho quindi provato ifup usb0, ma dice

Ignoring unknown interface usb0=usb0.

Ho fatto il tutto anche con un Nexus 7 (1a generazione), con gli stessi risultati.

Risposte:


9

Ok, sembra che l'ho capito. Questi comandi lo hanno fatto funzionare:

ip link set usb0 up
dhclient usb0

Abbastanza stranamente, ifup usb0mi dice ancora che questa interfaccia è sconosciuta e: prima di eseguire dhclient, nemmeno un ping 8.8.8.8funziona.

Sarei comunque interessato a sapere come posso automatizzare questo, o perché ciò accade automaticamente su un'altra installazione di Debian 8.


1
"ifup usb0 mi dice ancora che questa interfaccia è sconosciuta" - quindi suppongo che dopo tutto non abbia avuto successo. Perché questa domanda è contrassegnata come la risposta giusta e da allora hai scoperto qualcos'altro? Vorrei impostare la connessione di rete tramite il debug USB perché adb non può ancora eseguire il port forwarding delle porte UDP (può comunque port forwarding e reverse port forwarding TCP). Quindi sarei molto interessato a come realizzare questo
Csaba Toth

1
Anche i ip link set usb0 uprendimenti Cannot find device "usb0"mi formano: /
Csaba Toth

sostituire usb0con il nome del dispositivo. Puoi trovarlo confrontando l'output del comando ip linkprima e dopo aver collegato il tuo dispositivo Android e attivando il tethering USB. Dopo aver collegato e attivato il tethering USB, l'ultima riga dovrebbe leggere qualcosa di simile 37: usb0: <BROADCAST,MULTICAST> .... Il nome subito dopo il numero dovrebbe essere il dispositivo che stai cercando.
v.tralala,

2

Aggiungi questo al /etc/network/interfacesfile di configurazione:

auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

e dopo il riavvio

sudo ifconfig usb0 up

se il tuo sistema è ubuntu dopo il 16.04 potresti dover cambiare il nome dell'interfaccia:

auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp

e dopo il riavvio

sudo ifconfig enusb01 up

Se nessuno funziona, prova a vedere l'elenco con ifconfig -a | grep Linke quindi prova a montare quello rilevante o fai i passaggi sopra e poi monta quello su.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.