» F.A.Q.

Подключение официально неподдерживаемых 3G-модемов к Android-девайсам. Часть 1: Общая информация

Изначально каждое Android-устройство, а конкретнее – планшетные компьютеры, поддерживают подключение практически ко всем USB 3G-модемам и сотовым телефонам в режиме модема. Но по разным причинам, производителями заблокирована такая возможность – или наоборот, полностью не реализована. Это может быть как простой непредусмотрительностью, так и желанием «продвинуть» какую-то конкретную модель модема. В данном материале, первом в цикле статей на эту тему, мы разберемся с основными вопросами подключения модемов.

Очень часто в спецификациях того или иного устройства, будь то планшет, электронная книга на Android, навигатор или что-то еще, перечислено только ограниченное количество поддерживаемых 3G-модемов. Однако данная проблема вполне решаемая, причем без «молота и наковальни», то есть ничего паять не надо, так как ограничения – программные. Что ж, приступим к основным моментам.

Не всегда нужно принудительно переводить имеющийся 3G-модем в режим «Только модем» с отключением ZeroCD, несмотря на частые советы по этому поводу в большинстве статей подобного рода. То есть, не обязательно терять такой функционал, как автозагрузка в ОС Windows или поддержка и чтение карт памяти. Настоятельно рекомендуется заранее проверить работоспособность 3G-модема на персональном компьютере с конкретно взятой SIM-картой, которая впоследствии будет использоваться, и отключить проверку PIN-кода. Обязательно нужно перепроверить по мануалу или другой документации, что означает те или иные показатели индикатора на модеме. Например, на 3G-модемах от ZTE, зачастую, если индикатор светится красным – значит устройство включено, но не зарегистрировано в сети, зеленым или синим – модем работает и зарегестрирован в сети провайдера беспроводного интернета, мигаем – значит устройство подключено к сети Интернет и происходит обмен данными. В 3G-модемах от Huawei же – наоборот, когда индикатор мигает – это значит, что он зарегистрирован в сети, а когда просто горит – то выполнено подключение к Интернету. Зачем нужно всё это сделать и знать? Потому как выполнения описанных нижеописанных действий предполагается, что при подключении к устройству модем автоматически регистрируется в сети провайдера мобильной связи.

Теперь действия, которые нужно совершить с нашим Android-девайсом. Во-первых, нам понадобится эмулятор терминала. Для этой цели подойдут, например, Android Terminal Emulator или Better Terminal Emulator Magic. Также на нашем девайсе должны быть получены Root-права. Если устройство с кастомной прошивкой или от китайского производителя (а они достаточно часто ставят кастомные прошивки на свои гаджеты как официальные), то Root-доступ может быть изначально. Проверить это проще простого – если после ввода в эмулятор команды su символ «$» изменился на «#», значит Root-права уже есть. Будет выполнятся работа с системными файлами, так что понадобится файловый менеджер для Root-пользователя. Подойдет всем известный Root Explorer или, например, ES File Explorer. Также понадобится BusyBox. Проверить, установлен ли BusyBox на вашем устройстве, можно, введя в терминале команды:

ls /system/bin

ls /system/xbin

Еще проще проверить наличие BusyBox можно, набрав в терминале busybox. Если BusyBox установлен, то будет выведена краткая справка по данной программе.

Касательно прочих условий. На компьютере мы будем производить редактирование системных файлов, а поскольку Android – по сути своей UNIX-система, то нужно использовать соответствующий текстовый редактор, стандартный Блокнот в Windows не подходит. «Правильные» редакторы – это, например, AkelPad или Notepad++. Также всегда рекомендуется заранее сохранять копии файлов, которые будут редактироваться. Иногда понадобится изменять права доступа к файлам в Android, для этого через терминал используем команду chmod. Например:

chmod 777 /etc/3g_dongle.cfg

Хотя данное действие также можно выполнить и через меню файлового менеджера. Ну и как всегда – все модификации в программном обеспечении вашего устройства вы делаете на свой страх и риск. Не забывайте создавать резервные копии. В целом же, если внимательно следовать инструкции – всё должно быть нормально, и ни о каком «кирпиче» (неработоспособности устройства) речи быть не может.

Перейдем к первичному подключению. В настройках нашего Android-девайса нужно выключить Wi-Fi, включить беспроводные сети (обычно пункты носят название вроде «Мобильная сеть – передача данных WCDMA»).

Основные симптомы неработающего соединения с интернетом посредством нашего USB 3G-модема следующие, и определяются они после регистрации его в сети провайдера мобильного интернета, что нам показывает индикатор на самом модеме.

Итак, в настройках нашего планшета в разделе «Система», при открытии пункта «О планшетном ПК» — «Общая информация», информация о сети отображается, а также видно, что производится попытка подключения, но при этом доступа к Интернету нет. Исправляется это следующим образом. Открываем в Настройках «Беспроводные сети (Ещё…) -> Мобильная сеть -> Точки доступа (APN)». Или же берем готовую запись, которая берется системой из файла system/etc/apns-conf.xml по идентификаторам MCC/MNC сети провайдера, или же создаем и сохраняем нову. Напомним, что если речь идёт о настройках в 4-й версии ОС Android, то нужно нажать кнопку «Назад» в левом нижнем углу экрана.

Следующая ситуация. В настройках нашего планшета в разделе «Система», при открытии пункта «О планшетном ПК» — «Общая информация», видна информация о сети, видно, что модем производит попытку подключения. Но после неудачной попытки подключения пропадает информация о сети, а индикатор показывает отсутствие подключение (обычно это свечение красным). Причем через определенные промежутки времени ситуация повторяется. В таком случае, скорее всего, система использует неправильный порт для подключения. Заходим в эмулятор терминала, вводим поочередно следующие команды:

su

logcat

В выведенной информации ищем строки, которые содержат pppd и ttyUSB (или ttyACM). Нужный нам порт ищем в разделе «Определение файлов устройств (порта) в Android через который работает модем». Если значения разные, то необходимо добавить соответствующие записи в 3g_dongle.cfg. О том, как это сделать, мы поговорим немного позже. Если такого файла не существует в системе, то можно изменить значение ttyUSB в файлах для запуска pppd (к примеру, /etc/init.gprs-pppd).

Далее. Возможна ситуация, когда в настройках нашего планшета в разделе «Система», при открытии пункта «О планшетном ПК» — «Общая информация», информация о сети не отображается вовсе. Обычно это связано с тем, что подключенное USB-устройство не определяется в системе как модем, соответственно не создаются файлы /dev/ttyUSB или /dev/ttyACM. Возможно, в операционной системе отсутствуют необходимые модули ядра. О решении данной проблемы мы поговорим в следующих статьях данного цикла.