Удивительно, но когда у меня возник вопрос – как подключить SkyLink-модем (AnyData 310A) к китайскому планшету на Android 1.5 (увы), я ничего не смог найти в Интернет.
Но вот – проблема решена и сейчас хочу поделиться каким образом мне удалось это сделать. Кстати, этот же способ можно порекомендовать тем, кто пытается подключить 3g модем к Android.
Нам потребуется Android SDK, в состав него входят необходимые утилиты – ADB и DDMS.
ADB (“Android Debug Bridge”) – это консольная программа, с помощью которой можно и файлы закидывать на планшет, и как-то управлять устройством.
DDMS (“Dalvik Debug Monitor Server”) – это вообще говоря скрипт (ddms.bat), который запускает java приложение с графическим интерфейсом. Скриншоты, файловый менеджер, лог Android, запущенные процессы и прочие прелести можно сделать с помощью DDMS.
Я предполагаю, что вы знаете что такое Android SDK и как его настроить на компьютере, а планшет у вас рутованый и в настройках подключения на планшете стоит галка “USB Debug”, поэтому не буду акцентировать внимание на этих деталях, но если что – спрашивайте в комментариях.
Итак, за работу.
1. Подключаем планшет к компьютеру, выполняем команду “adb remount”. Этой командой мы переводим системный раздел (он еще называется “/system partition”) из режима “read-only” в “read-write”. Это нужно, т.к. нам придется править и создавать файлы в системной области.
Если вы видите сообщение “error: device not found”, увы, придется разбираться с драйверами и настройкой SDK.
2. Теперь нужно определить, по какому адресу наш модем распознается системой. Для этого подключаем CDMA модем в USB-Host нашего планшета, ждем секунд 10, запускаем “adb shell”и видим линуксовую консоль.
Набираем в консоле команду “dmesg”, чтобы посмотреть системные события. Нас интересуют последние строки, они будут примерно такие:
<6>usb 1-1.2: new full speed USB device using pxa27x-ohci and address 3
<3>usb 1-1.2: device v16d5 p6501 is not supported
<6>usb 1-1.2: configuration #1 chosen from 1 choice
<6>option 1-1.2:1.0: GSM modem (1-port) converter detected
<6>usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
<6>option 1-1.2:1.1: GSM modem (1-port) converter detected
<6>usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
Как видно из примера, наш модем смонтировался по двум адресам – ttyUSB0 и ttyUSB1. Почему так, надеюсь, мне расскажут более знающие читатели. Нам же принципиальны сами эти адреса, вернее даже только один – ttyUSB0.
3. Запускаем ddms.bat, в блоке “devices” должно отображаться ваше устройство, выберите его. Открываем меню Device/File Explorer.
Скачиваем на компьютер файл “/system/build.prop”. Теперь открываем его текстовым редактором (файл наверняка будет заблокирован, поэтому нужно в ddms встать на другой каталог, чтобы файл освободился на компьютере) и ищем примерно такие строки:
rild.libpath=/system/lib/libhuawei_ril.so
rild.libargs=-d /dev/ttyUSB5
Первая строка – это путь к драйверу RIL (Radio Interface Layer), который является прослойкой между установленным оборудованием и телефонными функциями Android.
Вторая строка – это параметр драйвера RIL, который определяет по какому адресу общаться с оборудованием.
Поскольку есть мнение, что драйвер RIL полностью перехватывает управление оборудованием, а нам нужно будет обращаться к модему, не мудрствуя лукаво укажем заведомо неправильный адрес устройства (например, ttyUSB5, как у меня).
4. Создаем у себя 2 файла: “cdma” и “cdma.chat” (если хотите по-другому назвать – пожалуйста, это не принципиально).
Содержимое файла “cdma” должно быть таким:
debug
ttyUSB0
115200
modem
noipdefault
defaultroute
ipcp-accept-local
lcp-echo-interval 60
lcp-echo-failure 5
usepeerdns
nopcomp
noauth
noaccomp
nodetach
user “mobile”
connect “chat -s -S -v -f /system/etc/ppp/cdma.chat”
Обратите внимание на вторую строку – ttyUSB0 – это тот адрес, который мы определили на 2 шаге.
Содержимое файла “cdma.chat”:
” ATZ OK ATE0X1V1&C0 OK AT+IPR=230400 OK AT$QCDMR=115200 OK AT+CRM=1 OK AT+CTA=20 OK AT+CQD=255 OK AT+CSQ? OK AT+CSS? OK ATDT#777 CONNECT
Все в одну строку. Первые два символа – две одинарные (а не двойные!) кавычки.
5. Теперь укажем под какими пользователями нужно авторизовываться. Для этого из каталога “/system/etc/ppp/” скачаем два файла: “chap-secrets” и “pap-secrets”. (вообще говоря, как я понимаю, достаточно пользователей указать только pap-secrets).
В оба файла добавляем последней строкой следующий текст:
mobile * internet *
6. Теперь сделаем так, чтобы автоматически заполнялись параметры подключения (DNSы, там и пр.). Скачаем же файл “/system/etc/ppp/ip-up” (кстати, этот файл выполняется каждый раз после успешного установления соединения) и поправим его таким образом:
#!/system/bin/sh
#это что было до редактирования (строки закомментировал):
#/system/bin/setprop “net.interfaces.defaultroute” “gprs”
#/system/bin/setprop “net.gprs.dns1″ “$DNS1″
#/system/bin/setprop “net.gprs.dns2″ “$DNS2″
#/system/bin/setprop “net.gprs.local-ip” “$IPLOCAL”
#/system/bin/setprop “net.gprs.remote-ip” “$IPREMOTE”
#это добавленные строки:
/system/bin/setprop “net.interfaces.defaultroute” “ppp0″
/system/bin/setprop “net.ppp0.dns1″ “$DNS1″
/system/bin/setprop “net.ppp0.dns2″ “$DNS2″
/system/bin/setprop “net.ppp0.local-ip” “$IPLOCAL”
/system/bin/setprop “net.ppp0.remote-ip” “$IPREMOTE”
/system/bin/setprop “net.dns1″ “$DNS1″
/system/bin/setprop “net.dns2″ “$DNS2″
exit 0
7. Все измененные файлы загрузим обратно в планшет:
/system/build.prop
/system/etc/ppp/ip-up
/system/etc/ppp/cdma.chat
/system/etc/ppp/pap-secrets
/system/etc/ppp/chap-secrets
/system/etc/ppp/peers/cdma
Кстати, проверьте, что у файла ip-up есть права на выполнение.
8. Теперь открываем консоль (adb shell), подключаем модем и выполняем команду “pppd call cdma”. Если вы видите ответ типа:
send (AT+CSS?^M)
expect (OK)
^M
^M
?, 0^M
^M
OK
– got it
send (ATDT#777^M)
expect (CONNECT^M)
^M
^M
CONNECT^M
– got it
А на модеме зажегся синенький светодиод и любимый сайт стал открываться в Opere при выключенном WiFi соединении, – значит, у вас все получилось.
Что дальше?
Успешное подключение к сети через CDMA-модем – это лишь первый шаг, потому что дальше нужно решать следующие задачи:
- Удобный запуск скрипта подключения. Тут могу поделиться опытом – нужно поставить Gscript Lite, создать там скрипт подключения и вынести ярлык на рабочий стол.
- Правильное отключение. Hint: использовать автоматически выполняемый при разрыве соединения скрипт ip-down.
- Автоматическая переустановка соединения при разрыве. Нужно разбираться, как это сделать. Принципиально – можно.
- Отображение уровня сигнала и прочие прелести, свойственные интерфейсу Android. Как это сделать – я не знаю. Вероятно, нужно где-то найти или написать собственный RIL-драйвер для AnyData-модема. Найти пока не удалось.
Скажите пожалуйста в строчках:
debug
ttyUSB0
115200
modem
что означают цифры 115200??
Это скорость COM порта.
я к сожалению не знаю как заставить работать Android SDK tools. Установленную Java SE Development Kit JDK он просто не видит. Подскажите что сделать?
1. Что ты хочешь добиться? Чтобы работал adb, dbms? Или Eclipse?
Добрый день!
Скажите пожалуйста, как мне подключить 3g modem Flyer U12 Crecent на нетбук с операционкой Android, никак не могу найти решение
На нетбуке и винда 7 стартер стоит, и Андроид.
Заранее благодарю.
а у меня при переводе в режим только модем не работал нет на планшете, а при модем+CD+ридер все завелось с пол-оборота.
Где бы почитать про подключение модема к Андроид 2.3 – у меня планшет Perfeo вот такой video-audio.ru/Android_Perfeo
Виктор, исходя из описания, у вашего планшета нет USB-host, а, следовательно, GSM-модем не подключите. Тот MiniUSB, что есть с правого торца используется для управления планшетом с компьютера. Увы.
Скажите пожалуйста можно ли подключить 3G модем к Archos43 ???? Спасибо заранее
На сайте Archos сказано, что можно подключиться к Интернету через WiFi, Bluetooth или по USB кабелю. В принципе, на Archos 43 есть USB-Host, т.е. гипотетически можно подключить USB-модем, но есть ли необходимые драйвера на самом Archos – вопрос, требующий изучения.
Подскажите есть ли возможность подключить модем CNU-680 (Skylink) к Андроид 3.0?
планшет ASUS TF101
[ 4428.944635] usb 1-1.1: Product: MCD-640S-1EDF-6004
[ 4428.944668] usb 1-1.1: Manufacturer: Select & iobile Co. Utd.
[ 4428.944703] device: ’1-1.1′: device_add
[ 4428.948099] device: ’1-1.1:1.0′: device_add
[ 4428.950512] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
[ 4428.957140] device: ‘ttyACM0′: device_add
[ 4428.959168] device: ‘ep_81′: device_add
[ 4428.959376] device: ’1-1.1:1.1′: device_add
[ 4428.961641] device: ‘ep_82′: device_add
[ 4428.961852] device: ‘ep_02′: device_add
[ 4428.962031] device: ’1-1.1:1.2′: device_add
[ 4428.965015] device: ‘ep_84′: device_add
[ 4428.965094] device: ‘ep_04′: device_add
[ 4428.965160] device: ’1-1.1:1.3′: device_add
[ 4428.966398] device: ‘ep_85′: device_add
[ 4428.966476] device: ‘ep_05′: device_add
[ 4428.966551] device: ‘usbdev1.6′: device_add
[ 4428.967165] device: ‘ep_00′: device_add
# pppd call cdma
pppd call cdma
pppd: In file /etc/ppp/peers/cdma: unrecognized option ‘-s’
#
КАк исправить,
Спасибо за инструкцию.
Все сделал, но при запуске выдает chat: invalid option -f. Как заменить? У меня не та версия Chat? И можно ли запускать pppd call из Terminal Emulator на самом планшете?
можно подробнее про настройку Android SDK,пожалуйста.
1. Подключаем планшет к компьютеру, выполняем команду “adb remount”. Этой командой мы переводим системный раздел (он еще называется “/system partition”) из режима “read-only” в “read-write”. Это нужно, т.к. нам придется править и создавать файлы в системной области.
по первому пункту вообще не понимаю что и куда надо вводить, adb при нажатии, если я конечно то нажимаю, пролистывается списком и мгновенно закрывается
adb – это консольная программа, у нее нет привычного графического интерфейса. Ее нужно выполнять так: нажимаешь кнопку “Пуск”, потом “Выполнить”, вписываешь там “cmd” и нажимаешь Enter – откроется черное такое окошко. В нем серией команд “cd” (она меняет текущий каталог) переходишь в тот каталог, где находится adb (например так: “cd c:\android-sdk\” – перейдет в каталог android-sdk на диске “c:”).
Далее набираешь “adb remount”, жмешь Enter – и вот.
Добрый день! Можно ли подехать к Вам для подсоединения моего модема скайлинк ADU-310A к китайскому Mid 307 (есть возможность подсоединения но не коннектится). С уважением arkid@yandex.ru
Здравствуйте! А не подскажите, планшет Toshiba thrive, возможно ли подключить 3g модем к нему?
Спасибо огромное заранее за ответ!
Привет! Похоже, что можно – судя по спецификации, на планшете Toshiba Trive есть USB-host. На сколько я знаю, в Андроиде есть поддержка 3G USB Модемов. Но какие именно производители поддерживаются – не знаю. Рекомендую посмотреть по форумам, как народ подключает свои 3G модемы к планшетам.
после ввода команды
pppd call cdma
пишет:
sh:/system/bin/chat: Permission denied
планшетник asus TF101 без 3g модуля, но с док станцией. если кто то уже настраивал на этот девайс скайлинк модем прошу отписаться либо сюда, либо в асю(два71715923)
Всем привет.
То, что в системе появляется 3 экземпляра модема можно увидеть в списке устройств в винде. Например, для GPRS модема Huawei E1550:
COM3: HUAWEI Mobile Connect – 3G Modem
COM4: HUAWEI Mobile Connect – 3G Application Interface
COM5: HUAWEI Mobile Connect – 3G PC UI Interface
В Андроиде из dmesg видно, что вместо COM портов будут соответственно /dev/ttyUSB0, /dev/ttyUSB1 и /dev/ttyUSB2.
Нас действительно интересует первое устройство. Однако, указав именно его в файле опций pppd, я получаю код завершения “8″, что означает “Последовательный порт не может быть открыт”. В чем может быть проблема? Варианты с изменением скорости порта не влияют на ошибку.
фиг знает.. может он чем-то занят? попробуй таки использовать ttyUSB1 например?
Как я понимаю донгл работает еще как и флешка? тогда может его попробвать перевести в режим “только модем”? Описано тут http://forum.xda-developers.com/showthread.php?p=15284906#post15284906
Есть модем Airplus MCD-650(CDMA 1xEVDO USB modem) и китайский планшет Onda vx610w. Внешние модемы поддерживает. Есс-но, вышеуказанного в списке нет. После подключения его через OTG кабель в терминале планшета по команде dmesg получаю отклик по адресам ttyUSB0 & ttyUSB1
Есть ли надежда подружить модем с планшетом и что для этого надо в первую очередь ?
Какой планшет, какой модем? чем не подходит инструкция из поста?
/system/lib/libhuawei_ril.so
у меня нету этого файла
http://wiki.mobileread.com/wiki/Pocket_eDGe
вот этот планшет, там есть поддержка модемов если на нем стоит андройд 1.6 а на более новой версии андройд 2.2 почему то нету.. помогите подключить к нему модем аска: 379714444
доброго времени суток.
можно-ли подключить 3g модем к Lenovo A1_07? заранее спасибо…