Estou tentando fazer com que o tethering USB funcione entre um telefone Nexus 5 (executando o CM11) e minha área de trabalho executando o Debian 8. Eu conectei o telefone ao computador via USB e recebi estas mensagens:
[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
Depois de ativar o tethering por USB no telefone, eu também recebo:
[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
O dispositivo também está listado por lsusb
, embora como um Nexus 4:
Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)
(Isso é um problema?)
No entanto, não obtenho uma interface de rede usb0 ou qualquer outra coisa que possa ser. ifconfig
lista apenas as interfaces presentes anteriormente, que são eth0
, lo
, bem como dois tun
de dispositivos fornecidos pelo OpenVPN.
Eu procurei por possíveis razões que isso não funciona, mas elas giram em torno de um kernel muito antigo (dos 2,6 dias). Meu kernel é o 3.16.0, que eu presumo suporta tethering USB. Eu também lembro que eu tenho o tethering USB para trabalhar com um telefone Sony Ericsson apenas conectando-o, e isso foi há anos.
Até onde eu sei, todos os módulos do kernel relevantes são carregados:
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
O que devo fazer para obter a interface de rede usb0?
Atualização: Eu tentei isso em outro computador rodando Debian 8, e funcionou. Tanto quanto eu posso dizer, a diferença é que dois outros módulos são carregados: rndis_wlan
e mii
. No entanto, embora carregar esses módulos manualmente via modprobe
pareça funcionar sem erros, usb0
ainda está ausente.
Depois de algumas pesquisas, descobri que deveria obter informações sobre interfaces de rede usando ip link
. A saída é:
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
Portanto, parece que usb0
existe, afinal. Eu tentei ifup usb0
, mas diz
Ignoring unknown interface usb0=usb0.
Eu fiz a coisa toda também com um Nexus 7 (1ª geração), com os mesmos resultados.