Dapatkan tethering USB dari perangkat Android untuk bekerja di Debian 8

13

Saya mencoba membuat penambatan USB berfungsi antara telepon Nexus 5 (menjalankan CM11) dan desktop saya yang menjalankan Debian 8. Saya menghubungkan ponsel ke komputer melalui USB dan mendapatkan pesan-pesan ini:

[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

Setelah mengaktifkan tethering USB di telepon, saya juga mendapatkan:

[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

Perangkat ini juga terdaftar oleh lsusb, meskipun sebagai Nexus 4:

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

(Apakah itu masalah?)

Saya tidak, bagaimanapun, mendapatkan antarmuka jaringan USB0 atau apa pun yang bisa jadi itu. ifconfigdaftar hanya antarmuka yang sebelumnya ada, yang eth0, lo, serta dua tunperangkat yang disediakan oleh OpenVPN.

Saya mencari kemungkinan alasan ini tidak berhasil, tetapi mereka berputar di sekitar kernel yang terlalu lama (dari 2,6 hari). Kernel saya adalah 3.16.0, yang saya anggap mendukung tethering USB. Saya juga ingat bahwa saya mendapat penambatan USB untuk bekerja dengan telepon Sony Ericsson hanya dengan menghubungkannya, dan itu bertahun-tahun yang lalu.

Sejauh yang saya tahu, semua modul kernel yang relevan dimuat:

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

Apa yang harus saya lakukan untuk mendapatkan antarmuka jaringan usb0?


Pembaruan: Saya mencoba ini di komputer lain yang menjalankan Debian 8, dan itu berhasil. Sejauh yang saya tahu, perbedaannya adalah dua modul lainnya dimuat: rndis_wlandan mii. Namun, meskipun memuat modul-modul ini secara manual melalui modprobetampaknya berfungsi tanpa kesalahan, usb0masih hilang.

Setelah beberapa googling saya menemukan bahwa saya harus mendapatkan informasi tentang penggunaan antarmuka jaringan ip link. Outputnya adalah:

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

Jadi tampaknya usb0memang ada. Saya kemudian mencoba ifup usb0, tetapi dikatakan

Ignoring unknown interface usb0=usb0.

Saya melakukan semuanya juga dengan Nexus 7 (1st gen), dengan hasil yang sama.

A. Donda
sumber

Jawaban:

9

Ok, sepertinya saya sudah menemukan jawabannya. Perintah-perintah ini membuatnya berfungsi:

ip link set usb0 up
dhclient usb0

Anehnya, ifup usb0masih mengatakan kepada saya bahwa antarmuka ini tidak diketahui, dan: sebelum berjalan dhclient, bahkan tidak ping 8.8.8.8berfungsi.

Saya masih tertarik untuk mengetahui bagaimana saya dapat mengotomatisasi ini, atau mengapa ini terjadi secara otomatis pada instalasi Debian 8 lainnya.

A. Donda
sumber
1
"ifup usb0 masih memberitahu saya bahwa antarmuka ini tidak dikenal" - jadi saya kira ini tidak berhasil. Mengapa pertanyaan ini ditandai sebagai jawaban yang benar, dan apakah Anda menemukan hal lain sejak saat itu? Saya ingin mengatur koneksi jaringan melalui USB debug karena adb belum bisa mem-port forward port UDP (ini bisa port forward dan membalikkan port forward TCP). Jadi aku akan sangat tertarik bagaimana untuk mencapai hal ini
Csaba Toth
1
Bahkan ip link set usb0 uphasil Cannot find device "usb0"dari saya: /
Csaba Toth
ganti usb0dengan nama perangkat Anda. Anda dapat menemukannya dengan membandingkan output dari perintah ip linksebelum dan sesudah mencolokkan perangkat Android Anda dan mengaktifkan tethering USB. Setelah mencolokkan dan mengaktifkan tethering USB, baris terakhir akan membaca sesuatu seperti 37: usb0: <BROADCAST,MULTICAST> .... Nama tepat setelah nomor tersebut harus menjadi perangkat yang Anda cari.
v.tralala
2

Tambahkan ini ke /etc/network/interfacesfile konfigurasi:

auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

dan setelah reboot

sudo ifconfig usb0 up

jika sistem Anda adalah ubuntu setelah 16,04, Anda mungkin perlu mengubah nama antarmuka:

auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp

dan setelah reboot

sudo ifconfig enusb01 up

Jika tidak ada yang berhasil coba lihat daftar dengan ifconfig -a | grep Linkdan kemudian coba pasang yang relevan atau lakukan langkah-langkah di atas lalu pasang itu.

Eduard Florinescu
sumber