Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-11-24

Android — USB modem

Как заполучить тырнет используя Андроид в качестве USB-модема? Ответ — никак. Во всяком случае, не с доступной мне прошивкой (2.1 апдейт 1). Не предусмотрена там функция сетевого подключения. Но нас так просто не уймешь.

Раз дают безлимитный тырнет, надо пробовать. Залил денег на Мегафонскую симку, подключил пакет «Оптимальный». Странным образом, в «кабинете» на сайте не нашел кнопки подключения. Пришлось отправить запрос USSD. Но это неинтересно. Что интересно, это «почему "из коробки" не подключается Булыга как модем?» и «как использовать Булыгу в качестве модема?».
Поскольку опции типа «Общий Интернет» в теле не нашлось, и дебианчик не опознает девайс как модем, вариантов остается негусто: программный прокси и VPN. Я выбрал прокси, ибо проще. Недолгое гугление вывело на Proxoid. Толковым людям можно дальше не читать а обратиться к первоисточникам, использованным мною:

andro1d.com/blog
code.google.com/proxoid/installationLinux

А себе для памяти я запишу солюшн.

Прежде всего, в Маркете найти, скачать и запустить сам Proxoid. В настройках его включить проксирование.
Понятное дело, сам девайс должен быть в тырнете :)

Подключив девайс к USB и указав тип подключения (через значок нотификации, вверху экрана) как «Portal & Tools», смотрим, что говорит система:

# tail -f -n 100 /var/log/syslog
Nov 23 15:47:20 sqz kernel: [ 961.660029] usb 1-4: new high speed USB deviceusing ehci_hcd and address 3
Nov 23 15:47:21 sqz kernel: [ 961.798054] usb 1-4: New USB device found, idVendor=22b8, idProduct=41de
Nov 23 15:47:21 sqz kernel: [ 961.798061] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 23 15:47:21 sqz kernel: [ 961.798066] usb 1-4: Product: A853
Nov 23 15:47:21 sqz kernel: [ 961.798069] usb 1-4: Manufacturer: Motorola

Создаем правила для UDEV (хз зачем, видимо, чтобы рута не беспокоить потом):

# nano /etc/udev/rules.d/09-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Причем, в моем случае, нужна только одна строка, айдиВендора=22b8, остальные можно похерить.

Добавляем меня в группу допущенных:

# useradd -g plugdev valik

Хз зачем, для справки наверно, смотрим список юсбевых девайсов, видим, что Булыга есть:

# lsusb
Bus 001 Device 005: ID 22b8:41dc Motorola PCS

Очевидно:

# services udev restart

Устанавливаем SDK для Андроида, сначала готовим каталог для:

# mkdir /opt/adb
# chown valik:root /opt/adb
# chmod 774 /opt/adb
распаковать http://dl.google.com/android/android-sdk_r07-linux_x86.tgz
в /opt/adb

запустить проброс трафика с хоста на девайс (проксоид по умолчанию слушает порт 8080):

$ pushd /opt/adb/android-sdk-linux_x86/tools/
$ ./adb forward tcp:8080 tcp:8080

Проверка:

# netstat -ltnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 3930/adb


Собственно, тырнет доступен. Выставляем где надо (в браузере) прокси в
localhost:8080
и наслаждаемся пельмешком.



Кому мало локалхоста, можно выпустить в тырнет всю локалку. Для этого ставим сквид.

#  aptitude install squid3
# gedit /etc/squid3/squid.conf
# service squid3 restart

В процессе редактирования конфига был использован ресурс
wiki.squid-cache.org/SquidFaq/ConfiguringSquid

Правки были такие:



Логи девайса можно глянуть так:
valik@sqz:/opt/adb/android-sdk-linux_x86/tools$ ./adb logcat

А логи сквида так:
# tail -f -n 100 /var/log/squid3/access.log

Все под контролем 600

В завершение можно сказать, что на Савеле полмегабита получить можно, хотя и не слишком стабильно. Есть подозрение, что сам проксоид подглюкивает местами.
На севере столицы, на Речном, ролик с ютуба показать мне не захотели (тут проксоид точно не при делах, чиста на теле хотел засмотреть — облом, Мега-тырнет отстойный). Выходит, как и с Икотой, как повезет?

graha.ms/androidproxy - еще программный прокси под Андроид
code.google.com/azilink - фактически, VPN-сервер под Андроид

kwords: USB, modem, Android 2.1, proxy, Motorola Milestone, Debian Linux Squeese

1 комментарий:

  1. При повторных подключениях выяснилось, что для запуска комбо нужно:
    1. выключить, включить в настройках девайса "отладка приложений через USB";
    2. service udev restart
    только после этого "adb devices" опознает устройство и может перенаправить на него пакеты.

    ОтветитьУдалить

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)