Главная > Linux > Настройка usb_modeswitch для подключения 3g модема.

Настройка usb_modeswitch для подключения 3g модема.

Приобрел новый модем от мтс.
Взял модель Huawei Vodafone K 3806 (14.4 Мбит/с).

Все свои предыдущие модемы я сразу же переводил в режим only modem, где не получалось — отключал zeroCd.

Первая проблема с которой мне пришлось столкнуться с новым модемом: отсутствие возможности отключить zeroCd либо перевести в режим «только модем».
Нужные AT команды неизвестны, прочесал весь интернет. Залезть внутрь модема тоже не получается QPST не поддерживает данный чипсет.

Выход был прост: воспользоваться стандартной утилитой — usb_modeswitch.

Установил. Вставляю модем — ttyUSB в каталоге /dev/ не появляются.

Начал разбираться:
Изначально устройство подключается как cd-rom и имеет следующие параметры:
v (vendor) 12d1, собственно он не меняется и обозначает производителя.
p (product id) — 1449

После запуска usb_modeswitch (а точнее после того как она автоматически сработала) id продукта стал равен 1448.
Необходимые файлы в каталоге /dev/ не появились.
Посмотрел в Windows после смены режима модема с cd-rom на модем id продукта стал 1001.
На лицо ошибка работы утилиты usb_modeswitch.

В файле /lib/udev/rules.d/40-usb_modeswitch.rules встречается упоминание моего модема следующими строками:

# Vodafone (Huawei) K3806
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14ad", RUN+="usb_modeswitch '%b/%k'"

Но в реальности idProduct моего модема не соответствует указанному 14ad.
К тому же если посмотреть содержимое файла /usr/share/usb_modeswitch/12d1:14ad (который будет использоваться как файл конфигурации для usb_modeswitch при подключении устройства с idVendor = 12d1 и idProduct = 14ad), то указанный TargetProduct, который должен появиться после использования usb_modeswitch не соответствует тому, что я получил в Windows.

########################################################
# Vodafone (Huawei) K3806

DefaultVendor= 0x12d1
DefaultProduct=0x14ad

TargetVendor= 0x12d1
TargetProduct= 0x14ae

CheckSuccess=20

MessageContent=»55534243123456780000000000000011062000000100000000000000000000″

Т.к. в файле /usr/share/usb_modeswitch/12d1:1449 (который используется для моего модема) указана модель Huawei E352, то и MessageContent для моего модема не подходит.

Поиски готового MessageContent для Huawei Vodafone K 3806 положительных результатов не дали.

Где-то на официальном сайте нашел пост в котором предлагалось выяснить необходимый MessageContent с помощью программы USBSnoop.
Данная затея омрачилась тем, что USBSnoop не поддерживает ОС Windows позднее XP.
Имея под рукой только Windows 7 поискал аналоги и выбрал USBlyzer.

Дальше делал так:
Для того чтобы выловить нужный мне запрос пришлось удалить мтс-коннект менеджер, т.к. он автоматически запускается при подключении модема и переводит его в режим модема.
Запустил USBlyzer, подключил модем. Он определился как cd-rom. В списке usb-устройств нашел свой модем и выбрал его для сканирования. Нажал «Capture» и нажал «Извлечь» на cd-rom’е моего модема.
Как только USBlyzer посыпал красными сообщениями нажал «Stop».
Т.к. я не знал какой именно запрос мне нужен, выбрал несколько последних, перед тем как потерялась связь с модемом. MessageContent запросы можно посмотреть на вкладке «Raw Data» внизу окна. Я выбирал только 32-битные сообщения, потому что они соответствовали нужному формату.
Долго тестировать не пришлось. Подставил в настройки usb_modeswitch MessageContent из последнего запроса к модему, установил правильный TargetProduct.
Вставил модем и счастью моему небыло предела. usb_modeswitch правильно обработал модем, после чего необходимые ttyUSB появились в /dev/.

В итоге мой конфигурационный файл (/usr/share/usb_modeswitch/12d1:1449) принял следующий вид:

########################################################
# Huawei K 3806

DefaultVendor= 0x12d1
DefaultProduct=0x1449

TargetVendor= 0x12d1
TargetProduct= 0x1001

MessageContent="5553424378D2AE86000000000000061B000000020000000000000000000000"

CheckSuccess=20

Реклама
Рубрики:Linux Метки: , , , ,
  1. 06.06.2012 в 03:09

    тоже модем K3806 от МТС, но конфиг другой получился.

    DefaultVendor= 0x12d1
    DefaultProduct=0x1449

    TargetVendor= 0x12d1
    TargetProduct= 0x144e

    MessageContent=»55534243000000000000000000000011060000000100000000000000000000″

    CheckSuccess=5

    «Mode switch success» ответило, но инет пока не получилось настроить

  2. ок
    22.07.2012 в 20:47

    а на винде есть способ ?

    • 25.07.2012 в 23:06

      может попробовать стандартные программы идущие в комплекте с модемом? они все для винды

  1. 29.04.2012 в 11:17

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: