Debian 8 üzerinde çalışmak için Android cihazdan USB internet paylaşımı alın


13

Debian 8 çalıştıran bir Nexus 5 telefonu (CM11 çalıştıran) ve masaüstüm arasında çalışmak için USB tethering almaya çalışıyorum. Telefonu USB aracılığıyla bilgisayara bağladım ve şu mesajları aldım:

[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

Telefonda USB internet paylaşımını etkinleştirdikten sonra, ek olarak şunları elde ederim:

[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

Cihaz ayrıca lsusb, bir Nexus 4 olarak da listelenir :

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

(Bu bir problem mi?)

Ancak, bir usb0 ağ arayüzü veya olabilecek başka bir şey almıyorum. ifconfigSadece listeleri, daha önce bu arayüzler eth0, loaynı zamanda, iki tunOpenVPN tarafından sağlanan cihazlar.

Bunun işe yaramadığının olası nedenlerini araştırdım, ancak çok eski bir çekirdeğin etrafında dönüyorlar (2.6 günden itibaren). Çekirdekim USB tethering'i desteklediğini varsayacağım 3.16.0. Ayrıca, bir Sony Ericsson telefonla sadece bağlanarak çalışmak için USB tethering aldığımı da hatırlıyorum ve bu yıllar önce oldu.

Anlayabildiğim kadarıyla, ilgili tüm çekirdek modülleri yüklenir:

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

Usb0 ağ arayüzünü almak için ne yapmam gerekir?


Güncelleme: Bunu Debian 8 çalıştıran başka bir bilgisayarda denedim ve işe yaradı. Anlayabildiğim kadarıyla, fark diğer iki modülün yüklü olması: rndis_wlanve mii. Ancak, bu modülleri manuel olarak yüklemek modprobehatasız çalışıyor gibi görünse de usb0, hala eksiktir.

Bazı googling sonra kullanarak ağ arayüzleri hakkında bilgi almak gerektiğini bulundu ip link. Çıktı:

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

Sonuçta var olan öyle görünüyor usb0. Sonra denedim ifup usb0ama diyor ki

Ignoring unknown interface usb0=usb0.

Her şeyi aynı sonuçlarla bir Nexus 7 (1. nesil) ile de yaptım.

Yanıtlar:


9

Tamam, anladım anlaşılan. Bu komutlar çalışmasını sağladı:

ip link set usb0 up
dhclient usb0

Garip bir şekilde, ifup usb0hala bana bu arayüzün bilinmediğini söylüyor: ve çalıştırmadan önce dhclient, bir ping 8.8.8.8çalışma bile değil .

Bunu nasıl otomatikleştirebileceğimi veya bunun neden başka bir Debian 8 kurulumunda otomatik olarak gerçekleştiğini bilmek isterim.


1
"ifup usb0 hala bu arayüzün bilinmediğini söylüyor" - bu yüzden sonuçta bu başarılı değildi sanırım. Bu soru neden doğru cevap olarak işaretlenmiş ve o zamandan beri başka bir şey buldunuz mu? USB hata ayıklaması üzerinden ağ bağlantısı kurmak istiyorum, çünkü adb henüz UDP bağlantı noktalarını ileriye taşıyamıyor (bağlantı noktası ileri TCP olsa da bağlantı noktası olabilir). Bunu nasıl başaracağımı çok merak ediyorum
Csaba Toth

1
Hatta ip link set usb0 upgetiriler Cannot find device "usb0"beni oluşturur: /
Csaba Toth

usb0cihaz adınızla değiştirin . ip linkAndroid cihazınızı takmadan önce ve sonra komutun çıktısını karşılaştırarak ve USB internet paylaşımını etkinleştirerek bulabilirsiniz. Takıp USB bağlamayı etkinleştirdikten sonra son satır gibi bir şey okumalıdır 37: usb0: <BROADCAST,MULTICAST> .... Numaradan hemen sonraki ad, aradığınız cihaz olmalıdır.
v.tralala

2

Bunu /etc/network/interfacesyapılandırma dosyasına ekleyin :

auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

ve yeniden başlattıktan sonra

sudo ifconfig usb0 up

16.04'ten sonra sisteminiz ubuntu ise arayüzün adını değiştirmeniz gerekebilir:

auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp

ve yeniden başlattıktan sonra

sudo ifconfig enusb01 up

Hiçbiri işe yaramazsa ifconfig -a | grep Linkve ile listeyi görmeye çalışın ve sonra ilgili olanı yukarı monte etmeye çalışın veya yukarıdaki adımları uygulayın ve sonra yukarı monte edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.