Nexus 5電話(CM11を実行)とDebian 8を実行しているデスクトップ間でUSBテザリングを機能させようとしています。USB経由で電話をコンピューターに接続し、次のメッセージを受け取りました。
[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
電話でUSBテザリングを有効にした後、さらに以下を取得します。
[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
デバイスは、Nexus 4ですが、lsusb
でもリストされます。
Bus 003 Device 006: ID 18d1:4ee3 Google Inc. Nexus 4 (tether)
(問題ありますか?)
しかし、私はusb0ネットワークインターフェイスまたはそれである可能性のある他のものを取得しません。 ifconfig
は、以前に存在していたインターフェース、つまりeth0
、lo
、およびOpenVPNによって提供される2つのtun
デバイスのみをリストします。
これが機能しない可能性のある理由を検索しましたが、それらは古すぎるカーネル(2.6日以降)を中心に展開しています。私のカーネルは3.16.0で、USBテザリングをサポートしていると思います。また、ソニーエリクソンの電話を接続するだけでUSBテザリングを使用できるようになったことも覚えています。それは何年も前のことです。
私の知る限り、関連するすべてのカーネルモジュールが読み込まれます。
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ネットワークインターフェイスを取得するにはどうすればよいですか?
更新: Debian 8を実行している別のコンピュータでこれを試したところ、うまくいきました。私の知る限り、違いは、他の2つのモジュール、rndis_wlan
とmii
が読み込まれていることです。ただし、modprobe
を使用してこれらのモジュールを手動でロードするとエラーなしで機能するように見えますが、usb0
はまだありません。
グーグル検索した後、ip link
を使用してネットワークインターフェイスに関する情報を取得する必要があることがわかりました。出力は次のとおりです。
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
したがって、usb0
が存在しているようです。次にifup usb0
を試しましたが、
Ignoring unknown interface usb0=usb0.
すべてをNexus 7(第1世代)でも行いましたが、同じ結果が得られました。
わかりました。わかったようです。これらのコマンドはそれを機能させました:
ip link set usb0 up
dhclient usb0
不思議なことに、ifup usb0
はまだこのインターフェイスが不明であることを教えてくれます:dhclient
を実行する前はping 8.8.8.8
機能します。
これを自動化する方法、またはこれが別のDebian 8インストールで自動的に行われる理由を知りたいと思っています。
これを/etc/network/interfaces
構成ファイルに追加します。
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp
そして再起動後
Sudo ifconfig usb0 up
16.04以降のシステムがubuntuの場合は、インターフェースの名前を変更する必要がある場合があります。
auto enusb01
allow-hotplug enusb01
iface enusb01 inet dhcp
そして再起動後
Sudo ifconfig enusb01 up
動作しない場合は、ifconfig -a | grep Link
でリストを表示してから、関連するものをマウントするか、上記の手順を実行してからマウントしてください。