Большинство USB 3G-модемов являются составными USB-устройствами. Помимо функции модема выполняют функцию устройства для чтения карт памяти. Кроме того испольуется технология ZeroCD, суть которой заключается в том, что при первом подключении к компьютеру новое USB-устройство подключает виртуальный CD-ROM (флэш-память), на котором находятся необходимые драйверы для Windows, но редко для других ОС. После установки драйвер переключает USB-устройство в режим модема. |
Раньше UNIX-системы не могли работать с такими устройствами. Но, спасибо Josua Dietze и программе usb_modeswitch, это больше не является проблемой.
1) Чтобы проверить имеется ли эта программа в системе Android вашего устройства, наберите в эмуляторе терминала команду: 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 (C) 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.
Но так как при проверке ранее не отобразились строки с "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.
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:/ $
Примечание: При отсутствии в системе программы 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), переименовать и изменить содержимое "правильным" текстовым редактором, способным использовать символ перевода строки LF (0Ah). Например, AkelPad или Notepad++. Блокнот не подходит.
Примечание: В некоторых устройствах данный файл находится в каталоге /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
6) Помещаем созданный файл в директорию /system/etc/usb_modeswitch.d или /etc/ppp/setup в зависимости от вашего устройства.
Комментариев нет:
Отправить комментарий