Как подключить 3g модем к приставке, планшету android. У меня нет встроенной сим карты
НУ что ребята я уже рассказывал про интересное решение компьютер из androind приставки, многим понравилось, почитайте прикольно. Однако один парень в комментариях задал мне правильный и нужный вопрос – а можно ли подключить к (планшету), к приставке, да и просто к андроид устройству 3G модем? Например, если у вас нет так встроенной СИП карты, и интернет только через WIFI? Действительно, а можно ли подключить? Решение есть, читайте дальше …
СОДЕРЖАНИЕ СТАТЬИ
Ситуация распространенная, действительно на многих бюджетных устройствах, будь то планшет или приставка просто не устанавливается 3G модуль, потому как он тянет за собой дополнительную «денежку» в стоимости гаджета. То есть вы можете взять именно такой же девайс только с модулем, но стоить он будет на 20 – 30 % дороже. Да и в случае с моей приставкой, такой разъем не очень-то необходим, понятно чтобы не будешь ее таскать на улице и использовать на лавочке, просто она не для этого заточена.
Однако сейчас просто обилием всевозможных 3G модемов их раздают направо и налево иногда даже бесплатно, и вот возникает такой вопрос – разъем USB у девайса есть, так можно ли его подключить — чтобы был интернет, разбираем каждый случай.
Планшет
Сейчас они подразделяются на android и windows системы. Если взять windows, то здесь все вроде понятно – автоматически устанавливается программа для запуска интернета, после через которую мы авторизуемся и пользуемся всемирной паутиной, ничего сложного – также как на стационарном компе.
А вот с android планшетом не все понятно, можно ли подключить 3G модем? Ребята можно! Отягощает ситуацию, порт mini или micro USB, для того чтобы подключить полноценный модем, нужно купить переходник, одной стороной в планшет, к другой сам модем.
Никакого дополнительного оборудования устанавливать не нужно, android хорош тем, что он автоматически распознает множество устройств, то есть драйвера в нем заложены по умолчанию, все ядро от Linux. Сейчас я заострять внимание на планшете не буду, однако, похожая процедура происходит с моей приставкой (никакой разницы), а вот здесь подробные шаги. Читаем дальше.
Приставка
НУ что же, у меня стандартный интернет брелок от «Мегафона» (это не реклама, просто он у меня был «на халяву»). Его и будет подключать, модель Huawei E1550, очень распространенная модель, раньше были только такие, это сейчас изобилие 4G вариантов. НУ да ладно.
Мой девайс включен и работает, все сети я выключил — это проводная, WIFI. То есть доступа до «всемирной паутины» — нет!
Устанавливаем модем в гнездо USB, после чего нам нужно перейти в настройки.
- Вкладка «еще», там выбираем «мобильная сеть».
- Ставим галку «Передача данных», галку с «Интернет роуминга» можно убрать.
- Далее все происходит в автоматическом режиме, модем примерно 3 минуты распознавался, а затем загорелся синим светодиодом, значит, что передача данных пошла. Также внизу появился значок «3G».
Ребята вам не нужно никаких дополнительных настроек для подключения, почти все устройства особенно если это Huawei, подключается автоматом (если конечно у вас не китайский «нонейм») Также и с 4G – подключили – поставили галочку – радуемся.
Проблемы у меня, конечно, были — почему то после нескольких удачных попыток включения – выключения, один раз модем не распознавался, ни в какую, но я перезагрузил приставку и все заработало! ХЗ, может сбой просто был!
Сейчас видео версия статьи, там боле подробно смотрим.
ВИДЕО ВЕРСИЯ
НА этом заканчиваю, думаю моя статья была вам полезна.
Источник
Usb модем для андроид приставки
Подключение «неподдерживаемых» модемов к устройствам с ОС Android
Пока ещё окончательно всё не забыто, хочу поделиться усвоенной информацией на тему подключения практически любых USB 3G-модемов и некоторых сотовых телефонов в режиме модема к устройствам с системой Android (планшетам, электронным книгам, навигаторам и т.д.) в спецификации имеющие возможность подключения ограниченного числа подобных модемов. На форуме разбросано немало публикаций касающихся этой темы. Но большинство из них решают проблемы только отдельно взятых устройств без подробностей. Что не даёт возможности разобраться с другими устройствами.
Скажу сразу, я не профессионал. В терминологии и некоторых понятиях могу быть не точным.
Исправленная и дополненная инструкция находится по этой ссылке.
Здесь исправлю позже. Пока времени не хватает с BB Code возиться.
Сначала необходимо выделить некоторые моменты по отношению к модему:
1) Далеко не всегда нужно принудительно переводить модем в режим «Только модем» (отключать ZeroCD). Как это «строго-настрого» советуют в большинстве публикаций. И при этом терять в модеме автозагрузку в Windows. А иногда и функцию чтения карт памяти.
2) Рекомендуется проверить работу модема на обычном компьютере с данной SIM-картой и отключить запрос PIN-кода.
3) Следует понимать, что показывает индикатор на вашем модеме.
Примечание: На ZTE обычно: горит красным — модем включен, в сети не зарегистрирован; горит зеленым или синим — модем зарегистрирован в сети оператора мобильной связи; индикатор мигает — модем подключен к сети Интернет.
На Huawei наоборот: мигает — зарегистрирован в сети оператора; просто горит — подключен к сети Интернет. Но могут быть варианты.
4) Все нижеследующие действия выполняются, если при подключении к устройству модем автоматически регистрируется в сети оператора сотовой связи.
По отношению к Android устройству:
1) Необходимо установить эмулятор терминала. Например, Better Terminal Emulator Magic или Android Terminal Emulator.
2) На Android устройстве должны быть получены права пользователя Root. Например, с помощью программы Unlock Root
Примечание: Если после ввода в эмуляторе терминала команды su символ «$» в строке сменился на «#», то права Root уже получены.
3) Для работы с системными файлами нужен файловый менеджер для Root пользователя. Например, Root Explorer или ES File Explorer (в разделе настроек «Root-права» включить Root-эксплорер, доступ к корневой и системным папкам).
4) Список команд, которые можно выполнить в вашем устройстве, можно посмотреть, набрав в терминале: ls /system/bin , ls /system/xbin и ls /sbin . Если в этих списках нет программы busybox, возможно, вам понадобится её установить.
Примечание: Также проверить наличие программы BusyBox, можно введя в эмуляторе терминала команду busybox . Должна появиться краткая справка к этой программе.
По отношению ко всему остальному:
1) Так как Android является Unix-системой, при редактировании файлов на компьютере с ОС Windows необходимо использовать «правильный» текстовый редактор, способный использовать символ перевода строки LF (0Ah). Например, AkelPad или Notepad++. Блокнот не подходит.
2) Сохраняйте копии оригиналов всех файлов, которые будете редактировать!
3) Возможно, при замене или добавлении файлов в Android понадобится изменить права доступа к ним командой «chmod». Например: chmod 777 /etc/3g_dongle.cfg . Или через меню файлового менеджера открыв свойства файла.
4) Ну и как принято говорить: «Всё, что вы делаете, вы делаете на свой страх и риск!»
Примеры приведены при подключении модема ZTE MF100 от Билайн с SIM-картой МТС к электронной книге Wexler.Book T7008 с версией ОС Android 4.0.3 (ICS). >>
1) В Android-устройстве в Настройках отключаем Wi-Fi , включаем «Беспроводные сети (Ещё. ) — Мобильная сеть — Передача данных» (Беспроводные сети — WCDMA).
2) Подключаем модем к устройству.
Симптомы.
Определяются после регистрации модема в сети оператора мобильной связи (показывает индикатор на модеме):
а) В Настройках устройства в разделе «Система» пункт «О планшетном ПК — Общая информация» отображается информация о сети и видно, что производится попытка подключения. Но доступ к сети Интернет не появляется.
Лечение:
1) В Настройках пункт «Беспроводные сети (Ещё. ) — Мобильная сеть — Точки доступа (APN)». Или выбираем готовую запись, взятую системой из файла /system/etc/apns-conf.xml по идентификаторам MCC/MNC сети оператора, или создаём и сохраняем новую. (Для сохранения настроек в Android 4 нужно нажимать кнопку «Назад» в левом нижнем углу экрана!)
2) Вероятно, системой используется для подключения не тот порт. (При этом часто после неудачной попытки подключения информация о сети пропадает, индикатор на модеме становится красным. Через некоторое время процесс повторяется.) В эмуляторе терминала введите команду su , затем logcat и исследуйте журнал. Ищем строки содержащие pppd и ttyUSB (или ttyACM). Нужный порт определяем в разделе «Определение файлов устройств (порта) в Android через который работает модем». Если значения отличаются, смотрим раздел «Добавление записи в файл 3g_dongle.cfg». Если такого файла в системе нет, можно изменить значение ttyUSB (ttyACM, ttyS. ) в файлах запуска pppd (например: /system/etc/init.gprs-pppd, файлы в /system/etc/ppp, /system/etc/ppp/peers или др.).
3) Для поиска причины необходимо исследовать лог «radio». В эмуляторе терминала с правами Root (сначала введя su ) введите команду: logcat -b radio .
в) В Настройках устройства в разделе «Система» пункт «О планшетном ПК — Общая информация» информация о сети не отображается.
Лечение:
1) Вероятно, системой USB-устройство не определяется как модем, не создаются файлы устройств /dev/ttyUSB* или /dev/ttyACM*. Смотрите раздел «Переключение режима модема. Отключение автозагрузки, ZeroCD» и «Особенности подключения отдельных устройств» пункт б).
2) Возможно, в системе нет нужных модулей ядра. Например, при подключении вашего модема или телефона в Unix-системах создаются файлы устройств ttyACM. Тогда для подключения в Android должен существовать и загружаться при запуске командой insmod модуль cdc-acm.ko.
а) Определение списка файлов устройств модема;
При подключении модема создаются файлы устройств ttyUSB или ttyACM. В эмуляторе терминала набираем команду: ls /dev/ttyUSB* (или ls /dev/ttyACM* ). Получаем список:
Если таких файлов устройств в системе не обнаружено, посмотрите выше решение при симптоме б).
Примечание: К шине USB кроме модема могут быть подключены другие устройства. Тогда вводим команду до подключения модема и после. Определяем, какие файлы устройств (порты) появились.
В зависимости от того, когда подключается модем, до включения устройства или после. Или произошёл какой-то сбой в работе. Номера портов могут изменяться.
б) Из полученного списка в пункте а) нужно выделить порты через которые отправляются в модем AT-команды и происходит соединение с сетью.
1) Для каждого порта в терминале отправляем команду «AT» (смотрите раздел «Отправка в модем AT-команд» пункт а)). Если на экране появился ответ «ОК», запоминаем номер этого порта. И при необходимости выполняем следующий пункт. Иначе, переподключаем модем и отправляем AT-команду в следующий порт.
2) Необходимый для соединения (PPP) порт можно точно определить, производя попытки подключения. Для этого после отправки команды «AT» и получения ответа «OK» для GSM, 3G модемов вводим в терминале:
echo «ATDT*99#» > /dev/ttyUSB0
Примечание: Если ранее, используя этот модем, с этой SIM-картой, вы НЕ подключались к Интернету на компьютере, первой нужно ввести в терминале команду: echo «AT+CGDCONT=1,\»IP\»,\»internet.mts.ru\»» > /dev/ttyUSB0 . Где internet.mts.ru — точка доступа вашего провайдера (Мегафон — internet, Билайн — internet.beeline.ru или home.beeline.ru). Вместо ttyUSB0 в командах — ваш проверяемый порт. У редких операторов номер дозвона *99# и команда ATDT у некоторых модемов могут отличаться. Для LTE-модемов используется команда ATDT#777.
Если на введенные выше команды модем ответил «ОК» и «CONNECT», это нужный для PPPD порт.
1) Если ещё не известно, определите порт модема, в который будете отправлять AT-команды в разделе «Определение файлов устройств (порта) в Android через который работает модем».
2) Команды отправляются в эмуляторе терминала. Пример, отправить в порт модема ttyUSB0 команду «AT»:
cat /dev/ttyUSB0 &
echo AT > /dev/ttyUSB0
Примечание: Команда « cat /dev/ttyUSB0 & » используется, чтобы увидеть на экране ответ модема. После использования её желательно или остановить комбинацией кнопок «Ctrl + C», или командой « killall cat » (« killall -9 cat «, « busybox killall cat «), или командой « kill $PPID » (где $PPID — номер, который выводится в терминале справа от числа в квадратных скобках после запуска команды «cat. «).
Вместо « cat /dev/ttyUSB0 & » можно использовать « tr -s «» » (или « busybox tr -s «» «).
После завершения работы с AT-командами необходимо перезагрузить устройство!
1) Подключаем модем к компьютеру (ноутбуку).
2) Если программное обеспечение модема ещё не установлено, ждём окончания процесса автоматической установки.
3) Обязательно закрываем программу для работы с модемом (проверить в трее)!
Далее можно использовать любую Telnet-программу. Например Hyper Terminal имеющийся в Windows XP (Все программы — Стандартные — Связь). Для Windows Vista, Windows 7 нужно загрузить программу отдельно. Выполняем следующее:
4) Нажимаем на клавиатуре кнопки «Windows» + «Pause/Break» или другим способом открываем Панель управления, раздел «Система». Запускаем Диспетчер устройств. В разделе «Модемы» через контекстное меню или двойной клик мышкой открываем окно свойств вашего модема. На вкладке «Модем» смотрим номер порта COM.
5) Запускаем Hyper Terminal. Название подключения вводим любое. Выбираем порт, определённый в предыдущем пункте. В окне свойств порта можно изменить такие параметры: Скорость — 115200; Управление потоком — Нет.
6) Вводим команду: AT. Ждём ответ: OK.
Примечание: Если вводимые символы не отображаются. Вслепую введите команду ATE1 и нажмите Enter. Или в меню «Файл» выбираем «Свойства» (или правая иконка на панели инструментов). В окне свойств на вкладке «Параметры» нажимаем кнопку «Параметры ASCII». В окне параметров ставим галочку «Отображать введенные символы на экране».
Примечание: Большинство USB 3G-модемов являются составными USB-устройствами. Помимо функции модема выполняют функцию устройства для чтения карт памяти. Кроме того испольуется технология ZeroCD, суть которой заключается в том, что при первом подключении к компьютеру новое USB-устройство подключает виртуальный CD-ROM (флэш-память), на котором находятся необходимые драйверы для Windows, но редко для других ОС. После установки драйвер переключает USB-устройство в режим модема.
Проверить в каком режиме находится модем, можно после подключения модема к устройству и определения его системой. В эмуляторе терминала с правами Root (сначала введите su ) введите команду: dmesg . И внизу списка ищите подобные строки (для 3G-модемов содержащие «GSM modem»):
Если строки найдены, модем в нужном режиме и ничего переключать не нужно. Иначе, идем дальше.
Раньше UNIX-системы не могли работать с такими устройствами. Но, спасибо Josua Dietze и программе usb_modeswitch, это больше не является проблемой.
1) Чтобы проверить имеется ли эта программа в системе вашего устройства, наберите в эмуляторе терминала команду: usb_modeswitch . Если появилась краткая справка к этой программе — всё отлично. Если нет, можете установить usb_modeswitch по рекомендациям на сайте программы. Или обращаемся к пункту «Принудительное переключение».
2) Проследить работу usb_modeswitch, переключение режимов модема, можно с помощью программы /system/bin/u3gmonitor. В терминале введите команду: u3gmonitor . И после этого подключите модем к устройству. В случае успешного переключения режима модема, появляются подобные строки:
Reading config file: /system/etc/usb_modeswitch.d/19d2_2000
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.0 © Josua Dietze 2011
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= not set
TargetClass= not set
TargetProductList=»0001,0002,0015,0016,0017,0031,0037,0052,0055,0063,0064,0066,0091,0108,0117,
0128,2002″
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent=»5553424312345678000000000000061e000000000000000000000000000000″
MessageContent2=»5553424312345679000000000000061b000000020000000000000000000000″
MessageContent3=»55534243123456702000000080000c85010101180101010101000000000000″
NeedResponse=1
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode disabled
usb_set_debug: Setting debugging level to 15 (on)
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Couldn’t open /dev/bus/usb/005/001
usb_os_find_devices: Couldn’t open /dev/bus/usb/004/002
usb_os_find_devices: Couldn’t open /dev/bus/usb/004/001
usb_os_find_devices: Couldn’t open /dev/bus/usb/003/001
usb_os_find_devices: Couldn’t open /dev/bus/usb/002/002
usb_os_find_devices: Couldn’t open /dev/bus/usb/002/001
usb_os_find_devices: Couldn’t open /dev/bus/usb/001/001
Looking for target devices .
No devices in target mode or class found
Looking for default devices .
No devices in default mode found. Nothing to do. Bye.
/system/etc/usb_modeswitch.d/19d2_0031 does not exist.
В этом примере видно, что при переключении режима модем изменил свои идентификаторы VID_PID с 19d2_2000 на 19d2_0031.
Но так как при проверке ранее не отобразились строки с «GSM modem», вероятнее всего необходимый для переключения файл конфигурации отсутствует. И у вас отобразится всего одна строка. Например:
19d2_2000 — это идентификаторы производителя VID = 19d2 и продукта PID = 2000 модема в режиме виртуального CD-ROM или флэш-памяти.
3) Если в системе отсутствует программа u3gmonitor, определяем идентификаторы VID и PID в терминале командой lsusb (или busybox lsusb ). Выполнив её до подключения модема и после.
Появилось устройство «Bus 002 Device 003: ID 19d2:2000». Это и есть модем в данном случае находящийся в режиме виртуального CD-ROM. 19d2:2000 — соответственно VID и PID модема.
Примечание: При отсутствии в системе программы u3gmonitor, проследить работу usb_modeswitch можно посмотрев журнал. Введите с правами Root в эмуляторе терминала команду logcat .
4) Теперь необходимо узнать идентификаторы модема после переключения из режима «Виртуальный CD-ROM» в режим «Модем». Это можно сделать на «большом» компьютере (ноутбуке) с установленными драйверами необходимыми для работы данного модема.
В ОС Windows. Нажимаем на клавиатуре кнопки «Windows» + «Pause/Break» или другим способом открываем Панель управления, раздел «Система». Запускаем Диспетчер устройств. В разделе «Модемы» через контекстное меню или двойной клик мышкой открываем окно свойств вашего модема. На вкладке «Сведения» в выпадающем списке выбираем свойство «ИД оборудования». И смотрим необходимые идентификаторы VID и PID.
5) Далее необходимо создать файл конфигурации с именем 19d2_2000 (у вас имя будет другое, соответствует идентификатору модема в режиме виртуального CD-ROM или флэш-памяти). Но, лучше скопировать похожий файл из /system/etc/usb_modeswitch.d (или /etc/usb_modeswitch.d), переименовать и изменить содержимое «правильным» текстовым редактором.
Примечание: В некоторых устройствах данный файл находится в каталоге /etc/ppp/setup/ и имеет имя подобное E3131.setup. Где «E3131» — название вашего модема (Huawei E3131). Или же может использоваться файл конфигурации /etc/usb_modeswitch.conf.
Файл конфигурации имеет такое содержание (возможны варианты, подробности о параметрах здесь):
TargetVendor= 0x19d2
TargetProduct= 0x0031
Значения DefaultVendor и DefaultProduct изменяем в соответствии с VID и PID модема в режиме виртуального CD-ROM полученными в пунктах 2) или 3). Значения TargetVendor и TargetProduct изменяем в соответствии с VID и PID модема полученными в пункте 4). Определить MessageContent — шестнадцатеричный код команды, которой переключается режим модема (обычно это команда «извлечь диск») достаточно сложно. Поэтому ищем в этом файле или других источниках конфигурацию с такими же значениями Default/Target Vendor/Product. Или подбираем от аналогичных модемов.
6) Помещаем созданный файл в директорию /etc/usb_modeswitch.d (/system/etc/usb_modeswitch.d) или /etc/ppp/setup в зависимости от вашего устройства.
Примечание: Команда AT+ZCDRUN=8 в модемах ZTE удаляет флаг AUTORUN.FLG (или CD_STARTUP_FLAG) в файловой системе модема. Это же можно сделать в Windows программой QPST с EFSExplorer. Или с помощью плагина EFS (Embedded file system) для Total Commander.
Если в системе Android USB-устройство не определяется как модем. То и не создаются соответствующие файлы устройств, и АТ-команду отправить невозможно. Поэтому режим переключаем на «большом» компьютере.
Для Windows cмотрите раздел «Отправка в модем AT-команд» пункт б). Вводим соответствующую вашему модему AT-команду для переключения в режим «Только модем».
Файл 3g_dongle.cfg используется модулями слоя RIL (Radio Interface Layer) системы. С помощью него можно указать, через какие порты будет происходить взаимодействие с вашей моделью модема, устанавливаться соединение, какой номер дозвона использовать. Если в вашей системе этого файла нет, добавлять его самостоятельно нет никакого смысла.
а) Запись добавляемая в конец файла /etc/3g_dongle.cfg (/system/etc/3g_dongle.cfg) имеет такую структуру:
Определим значения параметров. Значения не должны содержать символы пробела, табуляции, комментария (#).
1) Значение параметра production_name узнаем, отправив в модем AT-команду: AT+CGMM. Как это сделать смотрим в разделе «Отправка в модем AT-команд»;
2) Заголовок в квадратных скобках и параметр dongle_name можно заполнить тем же значением, что и production_name;
3) Значение vendor_name — название производителя модема одним словом (huawei, zte, ASB, ation. );
4) Значение network_type для сотовой сети GSM и 3G заполняем GSM_MODE. Другие возможные параметры: CDMA_MODE, TD_MODE;
5) pid_vid_now соответствует написанным слитно: приставка «0x», значение VID, затем PID модема в режиме «Только модем». (Смотрите раздел «Переключение режима модема. Отключение автозагрузки, ZeroCD»);
6) pid_vid_origin — аналогично предыдущему пункту, но в обычном режиме модема (можно заполнить тем же значением, что и pid_vid_now или «0x0»);
7) Значения bcdDevice_origin и bcdDevice_now можно заполнить просто «0x0»;
Примечание: bcdDevice соответствуют значениям версии USB модема. Для USB 2.0 bcdDevice — 0x0200, для USB 1.1 — 0x0110.
8) Значения номеров портов at_port и ppp_port определяем в разделе «Определение файлов устройств (порта) в Android через который работает модем». Возможно, экспериментально подбираем, какой из номеров портов, отозвавшийся на AT-команду, соответствует at_port, какой ppp_port. Перезагрузив устройство, делать попытки подключения к сети Интернет.
Примечание: В модеме ZTE MF100 только один порт ttyUSB2 дал ответ на отправленную AT-команду. Он соответствует значению ppp_port=2. Значение at_port подбирал экспериментально из оставшихся номеров портов 0 и 1 (файлов устройств ttyUSB0 и ttyUSB1).
Если в разделе «Подключение к сети Интернет сторонними средствами» удалось установить соединение, то значение ppp_port соответствует номеру интерфейса ttyUSB в файле conf-pppd.
б) Проверьте в файле 3g_dongle.cfg раздел [DIAL_NUMBER]. Для GSM, 3G модемов должна быть строка: wcdma=ATDT*99#. Для некоторых операторов сотовой связи иногда требуется «wcdma=ATDT*99***1» или другой номер дозвона.
После изменения файла 3g_dongle.cfg нужно перезагрузить ваше устройство!
Если не удаётся подключиться к Интернету стандартными средствами вашего устройства, можно попробовать установить соединение, например с помощью программы Josua Dietze PPP Widget. Или создать собственные скрипты для подключения на примере описанном ниже.
Сразу стоит заметить, что в стандартных средствах взаимодействие с модемом происходит через слой RIL (Radio Interface Layer): демон rild, библиотеки libril.so, lib -ril.so. Где — название производителя планшета. Или libreference-ril.so. А при подключении сторонними средствами RIL не используется, поэтому программы Google Play Маркет, Skype и некоторые другие работать не будут.
Для установки соединения используем демон протокола PPP /system/bin/pppd и программу для взаимодействия с модемом /system/bin/chat. Создадим четыре файла:
а) Параметры демона pppd. Содержимое файла conf-pppd:
1) Параметр ttyUSB2 узнаём в разделе «Определение файлов устройств (порта) в Android через который работает модем». Возможно, придётся экспериментальным путём подобрать подходящий;
2) Параметры user «mts» и password «mts» соответствуют оператору сотовой связи МТС. Имя пользователя и пароль для доступа в Интернет согласно инструкции вашего оператора. Для Билайн user и password будет «beeline», для Мегафон — «gdata». Также строки с этими параметрами можно удалить вообще. Операторы сотовой связи и так без проблем «узнают» своих абонентов;
3) Поместите файл в каталог /etc/ppp/peers. При отсутствии папку peers нужно создать.
Примечание: Обычно этих параметров достаточно для установки стабильного соединения. При необходимости измените или дополните набор согласно руководству pppd(8).
Информацию о параметрах сценария, автоматизирующего взаимодействие с модемом chat можно посмотреть в руководстве chat(8).
б) Строки сценария chat. Содержимое файла conf-chat:
Здесь «internet.mts.ru» соответствует оператору сотовой связи МТС. Для Мегафон просто «internet». Для Билайн — «internet.beeline.ru». Или для «Билайн Интернет Дома» — «home.beeline.ru». Для редких операторов и модемов номер дозвона «*99#» и команда «ATDT» могут отличаться.
в) Скрипт запуска соединения. Содержимое файла inet-ON.sh:
Примечание: Если при вызове pppd используется параметр usepeerdns, строки с «setprop net.dns. » не нужны.
Запускать подключение лучше, когда модем зарегистрирован в сети оператора мобильной связи. (Индикатор на модеме зеленый или синий)!
При желании, можно подойти к запуску соединения творчески и усложнить скрипт:
echo «Waiting ttyUSB1»
for i in 1 2 3 4 5 6 7 8 9 10; do
if [ -c /dev/ttyUSB1 ]; then
echo «Starting pppd»
pppd call conf-pppd
echo «Connecting. »
for i in 1 2 3 4 5 6 7 8 9 10; do
if ifconfig ppp0 2>/dev/null; then
setprop net.dns1 8.8.8.8
setprop net.dns2 8.8.4.4
echo «DNS servers: 8.8.8.8, 8.8.4.4»
break 2
else
sleep 3
fi
done
break
else
sleep 3
fi
done
sleep 5
ping -c 2 google.com && exit 0 || exit 1
Здесь ttyUSB1 можно заменить на другой, стабильно создающийся системой. » ifconfig ppp0 » можно заменить на » ip a s ppp0 «. Строку с » ping » можно убрать.
г) Скрипт разрыва соединения. Содержимое файла inet-OFF.sh:
busybox killall pppd
Здесь команда зависит от программ имеющихся в вашей системе. Может быть просто » killall pppd » или » pkill pppd » и другие.
Примечание: А можно просто выдернуть модем из USB. )))
д) Для запуска скриптов подключения и отключения можно использовать программу GScript. Поместите файлы скриптов в папку /sdcard/gscript. Установите и запустите GScript. Добавьте скрипты в меню программы. При добавлении необходимо установить галочку «Needs SU?». При желании, в виджетах Android можно добавить ярлыки на рабочий стол для запуска скриптов.
В разных системах для создания подключения обычно используются одни и те же приложения: usb_modeswitch, pppd, chat. Но разные скрипты, расположенные в разных местах.
а) Возможно, при подключении предусмотрено использование только файлов устройств /dev/ttyUSB. А для вашего модема создаются /dev/ttyACM (например ZTE MF192). Можно создать символьные ссылки. Добавить в начало скрипта запуска подключения подобные строки:
ln -s /dev/ttyACM0 /dev/ttyUSB0
ln -s /dev/ttyACM1 /dev/ttyUSB1
б) Иногда если не создаются файлы устройств /dev/ttyUSB, нужно ввести в эмуляторе терминала команды:
su
echo «19d2 2000» > /sys/bus/usb-serial/drivers/option1/new_id
Здесь 19d2 необходимо заменить на VID вашего модема, 2000 — на PID.
Эти команды нужно вводить после каждого включения (перезагрузки) устройства. Для автоматизации, можно, например, добавить эту строку в конец скрипта /system/bin/preinstall.sh. Или в другой, имеющийся в вашей системе и запускающийся при загрузке системы или подключении модема. Например: /system/etc/usb_modeswitch.sh. Как вариант, ищите в вашей системе папку «/system/etc/init.d/» и создавайте файл с подобным содержанием:
#!/system/bin/sh
echo «12d1 1506» > /sys/bus/usb-serial/drivers/option1/new_id
Где вместо «12d1 1506» ваши VID, PID.
А вот с каким именем этот файл сохранять, зависит от вашего устройства. Может быть «11modem» или другим.
в) Если скрипты у вас автоматически не переключают режим модема используя usb_modeswitch, используйте команды:
su
usb_modeswitch -W -I -c /etc/usb_modeswitch.d/19d2_2000
Где 19d2_2000 соответствующий вашему модему файл. Смотрите раздел «Переключение режима модема. Отключение автозагрузки, ZeroCD» пункт а).
Или командой:
su
usb_modeswitch –v 12d1 –p 14fe –V 12d1 –P 1506
Где параметры «-v» и «-V» определяют VID модема до и после переключения режима, «-p» и «-P» определяют PID.
Источник