> Внимание!

Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.



Подключение "неподдерживаемых" модемов к устройствам с ОС Android | Huawei, ZTE, МТС, Мегафон и т.д.



Реп: (84)
Подключение "неподдерживаемых" модемов к устройствам с ОС 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.

Разделы:
1. Определение файлов устройств (порта) в Android через который работает модем
а) Определение списка файлов устройств модема;

При подключении модема создаются файлы устройств ttyUSB или ttyACM. В эмуляторе терминала набираем команду: ls /dev/ttyUSB* (или ls /dev/ttyACM*). Получаем список:
app_46@android:/ $ export PATH=/data/local/bin:$PATH:.
app_46@android:/ $ ls /dev/ttyUSB*
/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
app_46@android:/ $

Если таких файлов устройств в системе не обнаружено, посмотрите выше решение при симптоме б).

Примечание: К шине 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 порт.

2. Отправка в модем AT-команд
а) В Android
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 "" < /dev/ttyUSB0 &" (или "busybox tr -s "" < /dev/ttyUSB0 &").


После завершения работы с AT-командами необходимо перезагрузить устройство!
б) В Windows
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". В окне параметров ставим галочку "Отображать введенные символы на экране".
Прикрепленное изображение

7) Далее вводим нужные вам AT-команды, смотрим ответы.

3. Переключение режима модема. Отключение автозагрузки, ZeroCD
Примечание: Большинство USB 3G-модемов являются составными USB-устройствами. Помимо функции модема выполняют функцию устройства для чтения карт памяти. Кроме того испольуется технология ZeroCD, суть которой заключается в том, что при первом подключении к компьютеру новое USB-устройство подключает виртуальный CD-ROM (флэш-память), на котором находятся необходимые драйверы для Windows, но редко для других ОС. После установки драйвер переключает USB-устройство в режим модема.

Проверить в каком режиме находится модем, можно после подключения модема к устройству и определения его системой. В эмуляторе терминала с правами Root (сначала введите su) введите команду: dmesg. И внизу списка ищите подобные строки (для 3G-модемов содержащие "GSM modem"):
<6>[ 71.366413] option 2-1:1.0: GSM modem (1-port) converter detected
<6>[ 71.379932] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
<6>[ 71.394260] option 2-1:1.1: GSM modem (1-port) converter detected
<6>[ 71.402965] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
<6>[ 71.413425] option 2-1:1.3: GSM modem (1-port) converter detected
<6>[ 71.422902] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2

Если строки найдены, модем в нужном режиме и ничего переключать не нужно. Иначе, идем дальше.

а) Автоматическое переключение;
Раньше UNIX-системы не могли работать с такими устройствами. Но, спасибо Josua Dietze и программе usb_modeswitch, это больше не является проблемой.

1) Чтобы проверить имеется ли эта программа в системе вашего устройства, наберите в эмуляторе терминала команду: usb_modeswitch. Если появилась краткая справка к этой программе - всё отлично. Если нет, можете установить usb_modeswitch по рекомендациям на сайте программы. Или обращаемся к пункту "Принудительное переключение".

2) Проследить работу usb_modeswitch, переключение режимов модема, можно с помощью программы /system/bin/u3gmonitor. В терминале введите команду: u3gmonitor. И после этого подключите модем к устройству. В случае успешного переключения режима модема, появляются подобные строки:
app_52@android:/ $ export PATH=/data/local/bin:$PATH
app_52@android:/ $ 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", вероятнее всего необходимый для переключения файл конфигурации отсутствует. И у вас отобразится всего одна строка. Например:
app_52@android:/ $ export PATH=/data/local/bin:$PATH
app_52@android:/ $ u3gmonitor
/system/etc/usb_modeswitch.d/19d2_2000 does not exist.

19d2_2000 - это идентификаторы производителя VID = 19d2 и продукта PID = 2000 модема в режиме виртуального CD-ROM или флэш-памяти.

3) Если в системе отсутствует программа u3gmonitor, определяем идентификаторы VID и PID в терминале командой lsusb (или busybox lsusb). Выполнив её до подключения модема и после.
app_52@android:/ $ export PATH=/data/local/bin:$PATH
app_52@android:/ $ busybox lsusb
Bus 001 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 004 Device 001: ID 1d6b:0002
Bus 005 Device 001: ID 1d6b:0001
Bus 004 Device 002: ID 0bda:8176
app_52@android:/ $ busybox lsusb
Bus 001 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 004 Device 001: ID 1d6b:0002
Bus 005 Device 001: ID 1d6b:0001
Bus 004 Device 002: ID 0bda:8176
Bus 002 Device 003: ID 19d2:2000
app_52@android:/ $

Появилось устройство "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.

Файл конфигурации имеет такое содержание (возможны варианты, подробности о параметрах здесь):
########################################################
# ZTE MF100 (Beeline RU)

DefaultVendor= 0x19d2
DefaultProduct=0x2000

TargetVendor= 0x19d2
TargetProduct= 0x0031

MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"

NeedResponse=1

CheckSuccess=20

Значения 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 в зависимости от вашего устройства.
б) Принудительное переключение;
1) Переключить режим модема можно отправив в порт модема соответствующую AT-команду. Нужную для вашей модели модема команду узнайте у производителя. Примеры:
Модемы | В "Только модем" | В обычный режим
-------------------|--------------------------|----------------------------------
HUAWEI | AT^U2DIAG=0 | AT^U2DIAG=255 (268 для E1750)
-------------------|--------------------------|----------------------------------
HUAWEI E367, E392, | AT^SETPORT="A1,A2;1,2,3" | AT^SETPORT="A1,A2;1,2,3,7,A1,A2"
E352, E353, E171 | | AT^SETPORT="A1,A2;1,16,3,2,A1,A2"
-------------------|--------------------------|----------------------------------
ZTE | AT+ZCDRUN=8 | AT+ZCDRUN=9
-------------------|--------------------------|----------------------------------
ZTE MF192, MF652 | AT%USBMODEM=0 | AT%USBMODEM=1
(процессор ICERA) | |

Примечание: Команда AT+ZCDRUN=8 в модемах ZTE удаляет флаг AUTORUN.FLG (или CD_STARTUP_FLAG) в файловой системе модема. Это же можно сделать в Windows программой QPST с EFSExplorer. Или с помощью плагина EFS (Embedded file system) для Total Commander.

Если в системе Android USB-устройство не определяется как модем. То и не создаются соответствующие файлы устройств, и АТ-команду отправить невозможно. Поэтому режим переключаем на "большом" компьютере.

Для Windows cмотрите раздел "Отправка в модем AT-команд" пункт б). Вводим соответствующую вашему модему AT-команду для переключения в режим "Только модем".
Прикрепленное изображение

2) Для переключения режима модема можно использовать готовые приложения. Например, программу 3G Modem Mode Switcher (ссылка 1, ссылка 2).
Подключите модем к компьютеру. Если программное обеспечение модема ещё не установлено, ждём окончания процесса автоматической установки. Обязательно закройте программу для работы с модемом. Запустите 3gsw.exe. Нажмите кнопку требуемого режима ("Только модем"). Удачи!

4. Добавление записи в файл 3g_dongle.cfg
Файл 3g_dongle.cfg используется модулями слоя RIL (Radio Interface Layer) системы. С помощью него можно указать, через какие порты будет происходить взаимодействие с вашей моделью модема, устанавливаться соединение, какой номер дозвона использовать. Если в вашей системе этого файла нет, добавлять его самостоятельно нет никакого смысла.

а) Запись добавляемая в конец файла /etc/3g_dongle.cfg (/system/etc/3g_dongle.cfg) имеет такую структуру:
[MF100]
dongle_name=MF100
production_name=MF100
vendor_name=zte
network_type=GSM_MODE
pid_vid_origin=0x19d22000
bcdDevice_origin=0x0
pid_vid_now=0x19d20031
bcdDevice_now=0x0
at_port=1
ppp_port=2

Определим значения параметров. Значения не должны содержать символы пробела, табуляции, комментария (#).

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 нужно перезагрузить ваше устройство!

5. Подключение к сети Интернет сторонними средствами
Если не удаётся подключиться к Интернету стандартными средствами вашего устройства, можно попробовать установить соединение, например с помощью программы Josua Dietze PPP Widget. Или создать собственные скрипты для подключения на примере описанном ниже.
Сразу стоит заметить, что в стандартных средствах взаимодействие с модемом происходит через слой RIL (Radio Interface Layer): демон rild, библиотеки libril.so, lib<companyname>-ril.so. Где <companyname> - название производителя планшета. Или libreference-ril.so. А при подключении сторонними средствами RIL не используется, поэтому программы Google Play Маркет, Skype и некоторые другие работать не будут.

Для установки соединения используем демон протокола PPP /system/bin/pppd и программу для взаимодействия с модемом /system/bin/chat. Создадим четыре файла:

/etc/ppp/peers/conf-pppd
/etc/ppp/peers/conf-chat
/sdcard/gscript/inet-ON.sh
/sdcard/gscript/inet-OFF.sh

Все файлы в архиве.

а) Параметры демона pppd. Содержимое файла conf-pppd:
ttyUSB2
460800
defaultroute
noauth
noipdefault
user "mts"
password "mts"
connect "/system/bin/chat -f /etc/ppp/peers/conf-chat"

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:
TIMEOUT 3
ABORT 'BUSY'
ABORT 'ERROR'
ABORT '+CME ERROR:'
TIMEOUT 3
'' 'AT'
OK 'ATZ'
OK 'AT+CGDCONT=1,"IP","internet.mts.ru"'
OK 'ATDT*99#'
CONNECT ''

Здесь "internet.mts.ru" соответствует оператору сотовой связи МТС. Для Мегафон просто "internet". Для Билайн - "internet.beeline.ru". Или для "Билайн Интернет Дома" - "home.beeline.ru". Для редких операторов и модемов номер дозвона "*99#" и команда "ATDT" могут отличаться.

в) Скрипт запуска соединения. Содержимое файла inet-ON.sh:
#!/system/bin/sh
pppd call conf-pppd
sleep 5
setprop net.dns1 8.8.8.8
setprop net.dns2 8.8.4.4

Примечание: Если при вызове pppd используется параметр usepeerdns, строки с "setprop net.dns..." не нужны.

Запускать подключение лучше, когда модем зарегистрирован в сети оператора мобильной связи. (Индикатор на модеме зеленый или синий)!

При желании, можно подойти к запуску соединения творчески и усложнить скрипт:
#!/system/bin/sh

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:
#!/system/bin/sh

busybox killall pppd

Здесь команда зависит от программ имеющихся в вашей системе. Может быть просто "killall pppd" или "pkill pppd" и другие.
Примечание: А можно просто выдернуть модем из USB. )))

д) Для запуска скриптов подключения и отключения можно использовать программу GScript. Поместите файлы скриптов в папку /sdcard/gscript. Установите и запустите GScript. Добавьте скрипты в меню программы. При добавлении необходимо установить галочку "Needs SU?". При желании, в виджетах Android можно добавить ярлыки на рабочий стол для запуска скриптов.

6. Особенности подключения отдельных устройств
В разных системах для создания подключения обычно используются одни и те же приложения: 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.

Решённые проблемы подключения
Это копия моей публикации в блоге lexaleon.blogspot.com


Сообщение отредактировал Будь здоров! - 25.02.13, 12:38



Реп: (2)
Как я подключил Модем от Билайна ZTE MF 192 к своему pipo u1. Не нашел ответ в инетах - раскажу как у меня получилось.
Во первых перевел модем в режим только модем, по инструкции - первая комманда AT вторая комманда AT%USBMODEM=0
На планшет установил виджет PPP Widget (на маркете бесплатный, понятно перетещаил его на рабочий стол) и Better Terminal (в шапке ссылка)

После подключения модема дожидаемся когда загорится зеленый. Открываем Better Terminal и пишем две комманды:
su
echo "19d2 1217" > /sys/bus/usb-serial/drivers/option1/new_id

Где 19d2 1217 это VID и PID (это можно посмотреть заранее в свойствах модема в диспетчере устройств)
Читал что эту строчку можно добавить в /system/bin/preinstall.sh но у меня нет такого файла в этой папке (может кто подскажет куда). Я просто создал в корне sdcard файл modem.sh и запускаю его в терминале sh /sdcard/modem.sh
Содержание файл modem.sh
#!/system/bin/sh
echo "19d2 1217" > /sys/bus/usb-serial/drivers/option1/new_id

Если не прописали автоматом, то, каждый раз, при подключении модема нужно запускать скрипт либо ручками писать в терминале.


Настраиваем PPP Widget APN я поставил home.beeline.ru (именно этот apn был в настройках модема для биллайна)
Пользователь beeline
пароль beeline
Обязательно галочка - "Автоопределение устройств" и "Выбор порта вручную"
В "Порт модема" я установил ttyUSB3 еще у меня работало при ttyUSB1 но инет был "никакой".

После всего этого в PPP Widget нажимаем "Подключить".

Сообщение отредактировал i_vsi - 25.02.13, 06:22



Реп: (2)
не получается подключить usb modem Huawei e220 к планшету window n70. В режиме "только модем" модем видно через терминал, но сети нет. Перевел в режим modem+cd rom -появилась сеть и точки apn. Деления сети окрашены в серый цвет, подключение к и-нет отсутствует.
В шапке "Определение файлов устройств (порта) в Android через который работает модем" есть ссылка на пункт б)выше, а там только а) и в).
Подозреваю, что не создаются файлы ttyUSB. Никто не встречался с такой проблемой?



Реп: (84)
LuckyD74RU @ 29.01.2013, 17:09 *
У меня забугорный SG NOTE 10.1 n8013
На нем вообще нет в настройках пункта "Беспроводные сети (Ещё...)"
Как быть?
Искать альтернативную прошивку для планшета. Прошиваться.

Guliash @ 17.02.2013, 13:59 *
...После непродолжительного сёрфинга, по экрану начинают бегать полосы, и планшет виснет. Спасает перезагрузка. Но история повторяется. Пробовал E173 - та же история. При этом без модема всё хорошо.
просто модему не хватает питания от вашего планшета. С подключенным зарядным устройством всё нормально работает? Попробуйте OTG кабель покачественнее использовать, может, поможет.

dimaho @ 28.01.2013, 23:49 *
Купил шнурок (в комплекте не было) mini USB(папа) - USB2(мама) (в комплекте папа-папа), дак у меня вобще на модеме огонёк не горит. Пробовал "флешку" внешнюю usb 2гига -её тоже не видит (там тоже огонёк не горит)
или кабель не тот купили, для USB OTG нужен специальный. Или этот режим USB OTG (c помощью которого портативные устройства взаимодействуют со всякими мышками, флэшками, модемами...) не поддерживается вашей книгой.

AlexPh.D, с файлами ttyUSB у вас всё нормально! Раз модем в системе виден и даже индикатор сети отображается. Попробуйте в настройках планшета посмотреть ещё раз, всё ли правильно, что не включено или наоборот - лишнее включено! :)

Инструкцию здесь исправлю позже. Времени не хватает. Пока что, измененную можно посмотреть только в этом блоге.

Сообщение отредактировал Будь здоров! - 25.02.13, 12:31



Реп: (2)
Будь здоров!
Нужен ваш совет. При подключении модема в режиме мод+сд ром и последующей принудительной регистрацией в сети оператора полностью пропадает сеть. В таком режиме через терминал модем не видно. В режиме только модем мод виден в терминале, но сеть не ловит. Что сие значит? В ppp виджет модем находится каждый раз на ином порте.
Сеть находит через раз (она неактивна), но никогда синим деления не загораются. Настройки apn менял. DialUpNet интернет не может подключить. Устал менять режимы модема. Уже думаю на плохой OTG, ибо вчера, когда планшет находился на зарядке, индикатор модема загореля (а все врямя моргал), но в интернет не вышел (модем+сд ром). Не знаю что делать



Реп: (53)
Привет помогите плизз! у модема yota lte можно отключить режим флешки? а то такая фигня он подключается потом пишет подключена SD потом тут же отключена и так по кругу бесконечно иногда ещё загорается синий значок на модеме!
а если экран выключен то всё время горит синий значок на модеме, как только включаешь опять начинается попытка подключить флешку!
log
E/Ethernet( 420): DHCP request error:DHCP result was failed
D/CommandListener( 118): Clearing all IP addresses on eth0
D/ConnectivityService( 420): ConnectivityChange for ETHERNET: DISCONNECTED/DISCONNECTED
D/ConnectivityService( 420): Attempting to switch to mobile
D/ConnectivityService( 420): Attempting to switch to wifi
D/ConnectivityService( 420): Attempting to switch to BLUETOOTH_TETHER
I/UpdateCheckReceiver( 2556): Got connectivity change, has connection: false
D/Tethering( 420): MasterInitialState.processMessage what=3
W/ContextImpl( 420): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1084 com.android.server.usb.UsbSettingsManager.deviceAttached:619 com.android.server.usb.UsbHostManager.usbDeviceAdded:156 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.access$000:38
D/gp.PicasaSyncManager( 2170): active network: null
D/gp.PicasaSyncManager( 2170): background data: true
D/MainBrocastReceiver( 1926): onReceive:android.net.conn.CONNECTIVITY_CHANGE
D/Tethering( 420): MasterInitialState.processMessage what=3
I/UpdateCheckReceiver( 2556): Got connectivity change, has connection: false
D/gp.PicasaSyncManager( 2170): active network: null
D/gp.PicasaSyncManager( 2170): background data: true
D/MainBrocastReceiver( 1926): onReceive:android.net.conn.CONNECTIVITY_CHANGE
D/dalvikvm( 971): GC_CONCURRENT freed 389K, 20% free 2932K/3632K, paused 3ms+2ms, total 25ms
D/dalvikvm( 1926): GC_CONCURRENT freed 455K, 22% free 2512K/3212K, paused 1ms+1ms, total 15ms
W/Vold ( 117): Duplicate state (1)
I/DirectVolume( 117): Volume external_usb_disk disk has changed
W/Vold ( 117): Duplicate state (1)
D/DirectVolume( 117): Disc has only one partition.
I/Vold ( 117): /dev/block/vold/11:0 being considered for volume external_usb_disk
D/Vold ( 117): Volume external_usb_disk state changing 1 (Idle-Unmounted) -> 3 (Checking)
D/MountService( 420): volume state changed for /storage/usb0 (unmountable -> checking)
D/MountService( 420): sendStorageIntent Intent { act=android.intent.action.MEDIA_CHECKING dat=file:///storage/usb0 (has extras) } to UserHandle{-1}
D/MainBrocastReceiver( 1926): onReceive:android.intent.action.MEDIA_CHECKING
I//system/bin/fsck_msdos( 117): ** /dev/block/vold/11:0
I//system/bin/fsck_msdos( 117): Can't open: No medium found
I/logwrapper( 117): /system/bin/fsck_msdos terminated by exit(8)
E/Vold ( 117): Filesystem check failed (unknown exit code 8)
E/Vold ( 117): /dev/block/vold/11:0 failed FS checks (I/O error)
D/Vold ( 117): Volume external_usb_disk state changing 3 (Checking) -> 1 (Idle-Unmounted)
D/MountService( 420): volume state changed for /storage/usb0 (checking -> unmounted)
D/MountService( 420): volume state changed for /storage/usb0 (unmounted -> unmountable)
D/MountService( 420): sendStorageIntent Intent { act=android.intent.action.MEDIA_UNMOUNTED dat=file:///storage/usb0 (has extras) } to UserHandle{-1}
D/MediaScannerReceiver( 809): action: android.intent.action.MEDIA_UNMOUNTED path: /storage/usb0
D/MountService( 420): sendStorageIntent Intent { act=android.intent.action.MEDIA_UNMOUNTABLE dat=file:///storage/usb0 (has extras) } to UserHandle{-1}
W/MountService( 420): Insertion mount failed (-4)
D/DirectVolume( 117): Volume external_usb_disk /storage/usb0 disk 11:0 removed
D/Vold ( 117): Volume external_usb_disk state changing 1 (Idle-Unmounted) -> 0 (No-Media)
D/MountService( 420): volume state changed for /storage/usb0 (unmountable -> unmounted)
D/MountService( 420): sendStorageIntent Intent { act=unmounted dat=file:///storage/usb0 (has extras) } to UserHandle{-1}
D/MountService( 420): volume state changed for /storage/usb0 (unmounted -> removed)
D/MountService( 420): sendStorageIntent Intent { act=android.intent.action.MEDIA_REMOVED dat=file:///storage/usb0 (has extras) } to UserHandle{-1}
D/Ethernet( 420): Adding eth0
D/CommandListener( 118): Setting iface cfg
D/CommandListener( 118): Trying to bring up eth0
W/ContextImpl( 420): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1084 com.android.server.usb.UsbSettingsManager.deviceAttached:619 com.android.server.usb.UsbHostManager.usbDeviceAdded:156 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.access$000:38
D/Ethernet( 420): Interface eth0 link up
V/Sensors ( 420): void cb_onMotion(uint16_t)
D/Ethernet( 420): Interface eth0 link down
W/Netd ( 118): No subsystem found in netlink event
D/NetlinkEvent( 118): Unexpected netlink message. type=0x11
D/CommandListener( 118): Clearing all IP addresses on eth0
D/ConnectivityService( 420): ConnectivityChange for ETHERNET: DISCONNECTED/DISCONNECTED
D/Ethernet( 420): Removing eth0


Сообщение отредактировал Swoo - 26.02.13, 21:42



Реп: (0)
Коллеги HELP !!

Подключаю Мегафон 150-1 (LTE modem) к планшету Hyundai A7HD.
Порты на модеме все активированы командой AT^SETPORT="A1;10,12,16"
В Windows видны два порта..
Оба отзываются на AT комманды..

На COM20 - отзывается на AT комманды
ATDT*99# - пишет ERROR..

На COM21 - лезет служебная информация RSSI (Signal Strength), и он отзывается на AT^SETPORT? комманду
(^SETPORT:A1;10,12,16)
На комманду ATDT*99# - пишет CONNECT

Таким образом думается что у меня есть два рабочих порта - AT и PPPD

Теперь при вставки в Андроид..
Определяются как /dev/ttyUSB0 и /dev/ttyUSB1

dmesg:
<6>[ 1884.400000] usb 2-1.3: new high speed USB device number 9 using sw-ehci
<6>[ 1884.530000] scsi1 : usb-storage 2-1.3:1.0
<5>[ 1885.530000] scsi 1:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
<6>[ 1886.720000] usb 2-1.3: USB disconnect, device number 9
<6>[ 1886.970000] usb 2-1.3: new high speed USB device number 10 using sw-ehci
<6>[ 1887.080000] option 2-1.3:1.0: GSM modem (1-port) converter detected
<6>[ 1887.080000] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
<6>[ 1887.100000] option 2-1.3:1.1: GSM modem (1-port) converter detected
<6>[ 1887.100000] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB1

3g_dongle.cfg выглядит следующим образом

[DIAL_NUMBER]
wcdma=ATDT*99#
cdma2000=ATDT#777
tdscdma=ATDT*98*1#

[E3276]
dongle_name=E3276
production_name=E3276
vendor_name=huawei
network_type=GSM_MODE
pid_vid_origin=0x12d11506
bcdDevice_origin=0x0
pid_vid_now=0x12d11506
bcdDevice_now=0x0
at_port=0
ppp_port=1

logcat сыплет следующее - насколько я понимаю до ATDT*99# дело не доходит...
Поможите слабоумному - куда дальше копать
ppp не поднимается :(

D/RIL ( 90): onRequest: SETUP_DATA_CALL
D/RIL ( 90): requestSetupDataCall APN:'internet',USR:'',PSW:''
D/RIL ( 90): requestSetupDataCall Radio Technology:'5',Auth Type:'3'
D/GSM ( 262): [GsmDCT] setupData: initing!
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:fota
D/GSM ( 262): [GsmDCT] isDataPossible(fota): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:fota
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:supl
D/GSM ( 262): [GsmDCT] isDataPossible(supl): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:supl
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:hipri
D/GSM ( 262): [GsmDCT] isDataPossible(hipri): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:hipri
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:ims
D/GSM ( 262): [GsmDCT] isDataPossible(ims): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:ims
D/GSM ( 262): [GsmDCT] notifyOffApnsOfAvailability skipped apn due to isReady==false: state=INITING apnType=default
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:mms
D/GSM ( 262): [GsmDCT] isDataPossible(mms): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:mms
D/GSM ( 262): [GsmDCT] notifyOffApnOfAvailability type:cbs
D/GSM ( 262): [GsmDCT] isDataPossible(cbs): possible=true isDataAllowed=true apnTypePossible=true apnContextisEnabled=false apnContextState()=IDLE
D/GSM ( 262): [GsmDCT] get active apn string for type:cbs
D/RIL ( 90): PPPD dial port is /dev/ttyUSB1
D/RIL ( 90): gsm dial
D/AT ( 90): AT> AT+CGDCONT=1,"IP","internet",,0,0
D/AT ( 90): AT< OK
D/AT ( 90): AT> AT+CGQREQ=1
D/AT ( 90): AT< COMMAND NOT SUPPORT
D/AT ( 90): AT> AT+CGQMIN=1
D/AT ( 90): AT< COMMAND NOT SUPPORT
D/AT ( 90): AT> AT+CGACT=0,1
D/AT ( 90): AT< OK
D/RIL ( 90): send cmd end!
D/RIL ( 90): 1. ret = 0, ppp_exit =
D/RIL ( 90): Time elapse 26
D/RIL ( 90): open operstate file failed
D/RIL ( 90): Time elapse 25
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 24
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 23
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 22
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 21
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 20
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 19
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 18
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 17
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 16
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 15
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 14
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 13
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 12
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 11
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 10
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 9
D/RILJ ( 262): [0047]> SIGNAL_STRENGTH
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 8
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 7
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 6
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 5
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 4
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 3
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 2
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
D/RIL ( 90): Time elapse 1
D/RIL ( 90): read pppstatus
D/RIL ( 90): pppd status is down
D/RIL ( 90): ppp status is not unknown
E/RIL ( 90): kill pppd
D/RIL ( 90): --- pppd pid = 709 ---
D/RIL ( 90): getPppStatus error!
D/RIL ( 90): requestSetupDataCall: dial error!
D/RIL ( 90): onRequest: SIGNAL_STRENGTH
D/AT ( 90): AT> AT+CSQ
D/RILJ ( 262): [0046]< SETUP_DATA_CALL error: com.android.internal.telephony.CommandException: GENERIC_FAILURE
D/GSM ( 262): [GsmDC-1] DcActivatingState msg.what=EVENT_SETUP_DATA_CONNECTION_DONE
D/GSM ( 262): [GsmDC-1] onSetupConnectionCompleted failed, ar.exception=com.android.internal.telephony.CommandException: GENERIC_FAILURE response=null
D/GSM ( 262): [GsmDC-1] DcActivatingState onSetupConnectionCompleted result=ERR_GetLastErrorFromRil SetupResult.mFailCause=NONE
D/RILJ ( 262): [0048]> LAST_DATA_CALL_FAIL_CAUSE
D/AT ( 90): AT< +CSQ: 17,99
D/AT ( 90): AT< OK
D/RIL ( 90): onRequest: LAST_DATA_CALL_FAIL_CAUSE
D/RILJ ( 262): [0047]< SIGNAL_STRENGTH {17, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
D/RILJ ( 262): [0048]< LAST_DATA_CALL_FAIL_CAUSE error: com.android.internal.telephony.CommandException: REQUEST_NOT_SUPPORTED
D/GSM ( 262): [GsmDC-1] DcActivatingState msg.what=EVENT_GET_LAST_FAIL_DONE
D/GSM ( 262): [GsmDC-1] notifyConnectionCompleted at 1262324633684 cause=UNKNOWN
D/GSM ( 262): [GsmDC-1] clearSettings
D/RILB ( 262): getLteOnCdmaMode=0 curVal=-1 product_type='' lteOnCdmaProductType=''
D/RILB ( 262): getLteOnCdmaMode=0 curVal=-1 product_type='' lteOnCdmaProductType=''
D/GSM ( 262): [GsmDCT] handleMessage msg={ what=270336 when=-17ms arg1=-1 obj=android.os.AsyncResult@41169260 }
D/GSM ( 262): [GsmDCT] isDataSetupCompleteOk return false, ar.result=UNKNOWN
D/GSM ( 262): [GsmDCT] onDataSetupComplete: error apn=internet cause=UNKNOWN
D/GSM ( 262): [GsmDCT] onDataSetupComplete: WaitingApns.size=0 WaitingApnsPermFailureCountDown=1
D/GSM ( 262): [GsmDCT] onDataSetupComplete: Not all permanent failures, retry
D/GSM ( 262): [GsmDCT] notifyNoData: type=default
D/GSM ( 262): [ApnContext] setState: FAILED for type default, previous state:INITING
D/GSM ( 262): [GsmDCT] Schedule alarm for reconnect: activate failed. Scheduling next attempt for 5s
D/GSM ( 262): [GsmDCT] reconnectAfterFail: NOT Posting GPRS Unavailable notification -- likely transient error
D/GSM ( 262): [GsmDCT] onReceive: action=com.android.internal.telephony.gprs-reconnect.0
D/GSM ( 262): [GsmDCT] Reconnect alarm. Previous state was IDLE
D/GSM ( 262): [GsmDCT] GPRS reconnect alarm. Previous state was IDLE
D/GSM ( 262): [ApnContext] set reason as simLoaded, for type default,current state FAILED
D/GSM ( 262): [ApnContext] setState: IDLE for type default, previous state:FAILED
D/GSM ( 262): [GsmDCT] handleMessage msg={ what=270339 when=-1ms obj=state=IDLE apnType=default }
D/GSM ( 262): [GsmDCT] onTrySetupData: apnContext=state=IDLE apnType=default


Прикрепленные файлы

Прикрепленный файлlogcat.txt ( 218.13 КБ )


Сообщение отредактировал Gridzilla - 28.02.13, 06:53
Причина редактирования: Убрал часть текста под спойлер



Реп: (0)
Доброго времени суток.
Есть проблема.
Планшет AINOL HERO II, Android 4.1.1
модем HUAWEI E303.
Когда через терминал команду:
su
echo "12d1 1c05" > /sys/bus/usb-serial/drivers/option1/new_id - модем конектится и работает.
Но после перезагрузки опять нужно прописывать команды чтоб он заработал,
почитав по форуму, файлов или папок : 3g_dongle.cfg, /system/etc/usb_modeswitch.sh, /system/etc/init.d/
их просто нет.
Вопрос куда привязать эту строку
su
echo "12d1 1c05" > /sys/bus/usb-serial/drivers/option1/new_id



Реп: (0)
Доброго времени суток.
Есть проблема.
На планшете JXD S18 вообще нет вкладки мобильная сеть,возможно ли будет подключить 3g модем?



Реп: (0)
Здраствуйте.У меня проблема.Купил планшет.При подключении к нему USB модема(когда находит сеть) планшет зависает.Приходится перезагружать.Что делать?

Добавлено 11.03.2013, 09:18:

Здраствуйте.У меня проблема.Купил планшет.При подключении к нему USB модема(когда находит сеть) планшет зависает.Приходится перезагружать.Что делать?



Реп: (0)
Вот я заметил, что на моем минипаде (jxd s18) через OTG совсем не подается питание на модем (и на прочие устройства), хотя везде написано, что он поддерживает (некоторые) модемы..... Так в чем же дело?



Реп: (0)
Ребята, помогите,а
Есть мафон а машине на андройде 2.3.3 telechip 8900 kernel 2.6.35.7
сборка caravn_rv2.0 n802120102

Подключаю 3г модем huawei e220 разлоченый, сеть появляется, все работает. Перезагружаю мафон - в об устройстве>версия ПО модуля связи написано e220. Но в сети модем не регистрируется, шкала сигнала серая. Хоть убейся, но ничего не меняется. Передергиваю модем и вуаля, он в сети. Что делать?
Пробовал переключить модем в режим "только модем" тоже самое, только сети нет вообще ни как
Получить рут нет возможности, к компу не подключить эту балалайку, z4root не работает
Какие есть мысли по этому поводу?



Реп: (24)
Есть NEXUS 7 без 3G и HUAWeI E392. Не получается подключить :( Планшет видит модем как пустую флешку, хотя перевоил его в режим "только модем", а в сети регистрирует... Получалось у кого подключить? П.С. В прошивке нет вообще такого "Беспроводные сети (Ещё...) - Мобильная сеть - Точки доступа (APN)"

Upd. Получилось... Оказывается планшет определял не так модем, считал его флешкой :) Вместо 12d1 1506 - модем он определял как 12d1 1505 - флешка... Можно ли как-то прошить это в прошивку или сделать файлик, который закинуть в архив с прошивкой? Чтобы скриптов не было? Дупустим, просто подправить конфинг, откуда берётся данные по модему.

Сообщение отредактировал Артёмыч169 - 28.03.13, 20:55



Реп: (0)
Подскажите, пожалуйста!
Купила планшет Digma IDj7n
У меня модем Beeline

Технические характеристики модема

• Работа в диапазонах HSDPA/UMTS на 2100 МГц и EDGE/GPRS/GSM(850/900/1800/1900 МГц).
• Скорость приема данных в режиме HSDPA/UMTS до 3,6 Мбит/с и при отправке данных до 384 кбит/с.
• Скорость приема данных в режиме EDGE/GPRS до 236 кбит/с.
• Индикация состояния подключения и мощности сигнала.
• Совместимость с компьютерами, оснащенными операционной системой Microsoft® Windows® (2000*, XP, Vista, 7) или MAC OS 10.4, 10.5 и 10.6.

Абонентский терминал ZTE MF180 производства «ZTE Corporation»,
предназначенный для работы в стандартах GSM/GPRS/EDGE 1800/900 и
WCDMA/HSDPA 2100MHz соответствует стандартам РФ.



Меня интересует, можно ли как-то его подключить к планшету? И если да, то как именно это сделать?


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

Как это получается? Модем не обнаружен, а точки доступа видно?

Если кто знает, как можно подключить, напишите, пожалуйста, ооочеееень подробно))


Заранее благодарю отозвавшихся! очень надеюсь на вашу помощь!



Реп: (14)
ruskabar,
для начала попробуйте поставить с Маркета PPPwidget, он довольно большое количество модемов определяет и корректно подключает. Хуавеевские Е352 и Е1550 заработали с ним сразу, хотя первый не видел планшет вообще, а второй определялся, но к инету нормально не подключался. Это самое простое, если не поможет, тогда уже дальше копать



Реп: (0)
viclawyer,
Я установила вчера этот виджет, после часа попыток мой модем определился. При нажатии на кнопку "Подключить", происходит попытка подключения, однако не подключается. Виджет выдает результат "ПОРТ НЕ НАЙДЕН". Что там должно быть? Я и вручную ставила, и автоматически, не найден.



Реп: (0)
Подключилась. Но отпадает каждые 2 минуты. Это можно как-то исправить?



Реп: (0)
Добрый день! пытаюсь подключить к планшету ainol novo 7 elf II usb модем huawei E173( использую провод обычный и переходник папа-мама). в этом деле я лох печальный, вот пытаюсь разобраться! через прогу сделал режим "только модем", подсоединяю но планшет даже не видит модем. PPPwidget прогу пробовал, usb устройство не видит.не знаю что делать, с root правами так и не разобрался....вообщем помогите люди добрые, планшет без инета не нужная вещь....

Сообщение отредактировал Энтони Хопкинс - 03.04.13, 22:31



Реп: (14)
ruskabar @ 03.04.2013, 23:06 *
Подключилась. Но отпадает каждые 2 минуты. Это можно как-то исправить?

Тут ничем не помогу, сам с нуля сидел разбирался, поэтому с чем сталкивался про то и знаю. Может еще кто посоветует



Реп: (984)
Добрый день! Помогите пожалуйста подключить ZTE MF626 к планшету 3Q LC0706B. Суть такова: втыкаю модем, на нем загорается зеленый индикатор, но на планшете уровень сети не отображается. Набираю ls /dev/ttyUSB* - выводит также как в шапке написано т.е. создаются файлы устройств /dev/ttyUSB*.
Далее, набираю dmesg - выводит опять же как в шапке, то есть модем переключен в режим "только модем".
PPP widget пишет "Модем не подключен".
Планшет поддерживает подключение USB модемов т.к. ранее к нему такое устройство подключалось и работало, а в настройках есть пункт "Мобильная сеть".
Вопросы:
1. Как должен выглядеть ответ модема на AT команды?
2. Возможно ли заставить сей девайс работать с данным USB модемом если информация о сети не отображается?
3. Какой конфиг править если нет файла 3g_dongle.cfg? Какие еще конфиги могут быть для подобных телодвижений?

Рут на планшете есть, соответственно ограничений никаких. Спасибо заранее всем кто откликнется!



Реп: (3)
1.В треугольнике стороны 16 см, 21 см. 23 см. Найти длину его меньшей медианы и меньшей высоты. 2. В параллелограмме угол 60 , а меньшая диагональ равная 12 см делит тупой угол на части 2:1. Найти его стороны и площадь


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 07:33