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. Conectei o telefone ao computador via USB e recebi as seguintes 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 compartilhamento USB no telefone, recebo adicionalmente:
[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 é listado por lsusb
, embora seja um Nexus 4:
Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)
(Isso é um problema?)
No entanto, não recebo 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
dispositivos fornecidos pelo OpenVPN.
Procurei por possíveis razões para isso não funcionar, mas elas giram em torno de um kernel muito antigo (a partir dos 2,6 dias). Meu kernel é a 3.16.0, que eu diria que suporta tethering USB. Também me lembro que consegui o tethering USB para funcionar com um telefone da Sony Ericsson apenas conectando-o, e isso foi há anos.
Até onde eu sei, todos os módulos relevantes do kernel estã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: tentei isso em outro computador executando o Debian 8 e funcionou. Até onde eu sei, a diferença é que dois outros módulos estão carregados: rndis_wlan
e mii
. No entanto, apesar de carregar esses módulos manualmente via modprobe
parecer funcionar sem erros, usb0
ainda está faltando.
Depois de pesquisar no Google, achei 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
Parece que usb0
, afinal, existe. Eu tentei ifup usb0
, mas diz
Ignoring unknown interface usb0=usb0.
Fiz a coisa toda também com um Nexus 7 (1ª geração), com os mesmos resultados.
fonte
ip link set usb0 up
rendimentosCannot find device "usb0"
me formam: /usb0
pelo nome do seu dispositivo. Você pode encontrá-lo comparando a saída do comandoip link
antes e depois de conectar seu dispositivo Android e ativar o tethering USB. Depois de conectar e ativar o tethering USB, a última linha deve ser semelhante a37: usb0: <BROADCAST,MULTICAST> ...
. O nome logo após o número deve ser o dispositivo que você está procurando.Adicione isso ao
/etc/network/interfaces
arquivo de configuração:e depois da reinicialização
se o seu sistema for ubuntu após 16.04, pode ser necessário alterar o nome da interface:
e depois da reinicialização
Se nada funcionar, tente ver a lista com
ifconfig -a | grep Link
e, em seguida, tente montar a relevante ou execute as etapas acima e monte-a.fonte