LINUX.ORG.RU

usb_modeswitch и USB модем - Как переключить?


0

1

Приветствую о глубокоуважаемый олл!

Есть USB Модем на котором написано W120
по #lsusb он говорит:
Bus 001 Device 009: ID 20a6:f00e
Добился того что после:
#eject /dev/sr0
#lsusb Говорит:
Bus 001 Device 010: ID 20a6:1105
и появляются порты /dev/ttyUSB*

Нужно чтобы устройство переключалось само.
Сделал: /etc/usb_modeswitch.d/20a6:f00e
-----
TargetVendor=0x20a6
TargetProduct=0x1105
-----

Однако переключения не происходит. Где может быть косяк?
Как добиться переключения в 1105?

★★

$ cat huawei_e3276.conf 
# HUAWEI E3276
DefaultVendor= 0x12d1
DefaultProduct= 0x14fe
TargetVendor= 0x12d1
TargetProduct= 0x1506
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
$ cat udev/rules.d/20-usb.rules
.............
ACTION=="add",SUBSYSTEM=="usb",ATTRS{idVendor}=="12d1",ATTRS{idProduct}=="14fe",RUN+="/usr/sbin/usb_modeswitch --quiet --config-file /etc/huawei_e3276.conf"
imb ★★ ()
Ответ на: комментарий от imb

У меня не х№;вей а W120
Сделал:
# cat W120.conf
DefaultVendor= 0x20a6
DefaultProduct= 0xf00e
TargetVendor= 0x20a6
TargetProduct= 0x1105

MessageContent не знаю откуда брать и какой именно - потому убрал.

Исполнил:
#/usr/sbin/usb_modeswitch --config-file W120.conf

Looking for target devices ...
No devices in target mode or class found
Looking for default devices ...
found matching product ID
adding device
Found device in default mode, class or configuration (1)
Accessing device 005 on bus 001 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
No driver found. Either detached before or never attached

И что с этим делать?

n0mad ★★ ()
Ответ на: комментарий от n0mad

Вы сперва выясните на каком чипе построено Ваше устройство, либо попробуйте по её ID поискать пример конфигурации, например http://www.draisberghof.de/usb_modeswitch/device_reference.txt
Актуальные версии usb_modeswitch и базы к нему http://www.draisberghof.de/usb_modeswitch/#download

imb ★★ ()
Ответ на: комментарий от imb

НУ НЕТ КОНФИГОВ ДЛЯ МОЕГО УСТРОЙСТВА.

Еще раз: Если сделать #eject /dev/sr0 - оно переключается.
Как это сделать автоматом? После переключения появляются порты.
вывод minicom:

ati
Manufacturer: QUALCOMM INCORPORATED
Model: HSUPA
Revision: WUP_1.10.040
IMEI: 359769029585756
+GCAP: +CGSM,+DS,+ES

Как узнать название чипа? Какой командой?

Неужели невозможно принудительно модем перевести в 20a6:1105?

n0mad ★★ ()
Последнее исправление: n0mad (всего исправлений: 1)
Ответ на: комментарий от n0mad

Ну повесьте правило в udev что бы при подключении устройства он вызывал для него eject, в чём тогда вопрос?

imb ★★ ()
Ответ на: комментарий от imb

Ну повесьте правило в udev что бы при подключении устройства он вызывал для него eject, в чём тогда вопрос?

Вопрос в том что не знаю как.
Пробовал так:
#lsusb
Bus 001 Device 002: ID 20a6:f00e

cat /etc/udev/rules.d/80-USBGSM.rules
SUBSYSTEM==«usb», ACTION==«add», ATTRS{idProduct}==«f00e», ATTRS{idVendor}==«20a
6», MODE:=«0666», RUN+=«/usr/bin/eject /dev/sr0»

Ни при вставлении ни при загрузке не происходит eject.
Нигде в логах не вижу запуска /usr/bin/eject хотя если в скрипте
меняю на просто eject без пути то в логе появляется:
-----
udevd[3027]: failed to execute '/lib/udev/eject' 'eject /dev/
sr0': No such file or directory
-----

Когда меняю на полный путь - тишина и нет результата.
Если руками исполняю - всё отрабатывает как надо.

n0mad ★★ ()
Ответ на: комментарий от n0mad

А в ответ тишина...

Видимо задача нерешаемя и придется выкинуть модем из линукса... не судьба линуксу работать с этим модемом.
Придется использовать оффтопик...

n0mad ★★ ()
Ответ на: А в ответ тишина... от n0mad

Всё решаемо

1) В windows переключить модем в режим только модем at-командой AT+MDTFLAG=00000000 2) В linux делаем следующее Для определения модема и появления устройств /dev/ttyUSBx нужно дать команду или прописать её в правила udev: sudo modprobe -v usbserial vendor=0x20a6 product=0x1105 3) Настраиваем pppd и радуемся http://4pda.ru/forum/index.php?showtopic=474527&st=0

net ()

Переключить в режим модема из под Linux

Мое устройство определилось как 20a6:f00e # eject /dev/sr0 теперь как 20a6:0x1105

Переключение в режим модема, работает практически для всех модемов от Huawei: usb_modeswitch -H -v 20a6 -p 1105

теперь устройство представляется как 20a6:0x1106 в lsusb В базе udev такого устройства нет - нужно вручную запустить драйвер modprobe usbserial vendor=0x20a6 product=0x1106

Вооля: ls /dev/ttyUS* /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3

Возможно, что 2-ой шаг можно выполнить без 1-го, указам первоначальный product_id.

hexum ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.