устройство отображается в lsusb + adb, но не в ifconfig

Я использую Ubuntu в VMWare Player под Windows 7:

root@ubuntu:/# uname -a
Linux ubuntu 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 17:34:21 UTC 2012 i686 \
i686 i386 GNU/Linux

Я пытаюсь установить сетевое подключение к своему HTC Desire через USB. После подключения к устройству при вводе команды lsusb появляется сообщение:

root@ubuntu:/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bb4:0c87 High Tech Computer Corp. Desire (debug)

Я также могу общаться с ним через Android Debug Bridge:

root@ubuntu:/# adb devices
List of devices attached 
HT08LPL00400    device

Когда я запускаю ifconfig, я ожидаю устройство появится под usb0, но не отображается интерфейс USB:

root@ubuntu:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:4f:5a:28  
          inet addr:192.168.159.145  Bcast:192.168.159.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe4f:5a28/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:251857 errors:1 dropped:1 overruns:0 frame:0
          TX packets:147151 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:340675522 (340.6 MB)  TX bytes:12163470 (12.1 MB)
          Interrupt:19 Base address:0x2000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15115 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15115 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5352740 (5.3 MB)  TX bytes:5352740 (5.3 MB)

Кто-нибудь знает, что я могу сделать? Спасибо!

3
задан 18 April 2012 в 03:41

1 ответ

Adb работает по USB, он не настраивает сетевой интерфейс. ifconfig только выставочные сетевые интерфейсы.

Если Вы хотите к командам выполнения или копируете файлы между Ubuntu и телефоном на базе Android, используйте adb команда:

adb shell ls /system
adb push myfile /data/data/myapp.example.com/

Некоторые устройства на базе Android могут появиться как устройство хранения USB, я не знаю, включает ли это Ваш. Можно также попробовать adbfs (не упакованный для Ubuntu, насколько я знаю, таким образом, необходимо было бы скомпилировать его сами).

Если Вы хотите установить сетевое соединение, например, использовать телефон на базе Android в качестве шлюза к Интернету (это известно как ограничивающий), сказать adb установить соединение PPP по USB. Интерфейс PPP появится как сетевой интерфейс в ifconfig. Вот быстрый-и-грязный ограничивающий сценарий, который пытается предположить правильный сетевой интерфейс на устройстве на базе Android; выполните его как корень и на Ваш собственный риск (это не был дизайн, чтобы быть устойчивым в странных установках).

# Interface with the default route on the Android device.
android_gw_if=$(adb shell ip route list 0.0.0.0/0 | sed -n -e 's/^.* dev  *\([^ ]*\).*/\1/p' -e 'T' -e 'q')
adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" nodetach noauth noipdefault notty 192.168.254.2:192.168.254.1
adb shell "echo 1 >/proc/sys/net/ipv4/ip_forward"
adb shell "iptables -P FORWARD ACCEPT"
adb shell "iptables -t nat -I POSTROUTING -s 192.168.254.2 -j MASQUERADE -o $android_gw_if"
sleep 1 # give the ppp connection time to establish itself
route add -net default gw 192.168.254.1
2
ответ дан 18 April 2012 в 03:41

Другие вопросы по тегам:

Похожие вопросы: