Я использую 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)
Кто-нибудь знает, что я могу сделать? Спасибо!
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