[РЕШЕНО] Huawei E3276: не получается переключить режим

Ethernet card, Wi-Fi, Bluetooth, IrDA, ADSL-модемы, модемы

Модератор: Модераторы разделов

Ответить
IMB
Сообщения: 2559
ОС: Debian

[РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение IMB »

Доброго дня!
USB-модем Мегафон M150 на базе Huawei E3276.

Код: Выделить всё

$ lsusb
............
Bus 005 Device 006: ID 12d1:14fe Huawei Technologies Co., Ltd.
........

$ dmesg
..............
[   39.792208] usb 5-4: new high-speed USB device number 4 using ehci_hcd
[   39.925136] usb 5-4: New USB device found, idVendor=12d1, idProduct=14fe
[   39.925146] usb 5-4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[   39.925153] usb 5-4: Product: HUAWEI Mobile
[   39.925159] usb 5-4: Manufacturer: HUAWEI Technology
[   39.965906] scsi10 : usb-storage 5-4:1.0
[   39.966288] scsi11 : usb-storage 5-4:1.1
[   40.965045] scsi 10:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[   40.965194] scsi 11:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[   40.966602] sd 11:0:0:0: Attached scsi generic sg5 type 0
[   40.968653] sr1: scsi-1 drive
[   40.968956] sr 10:0:0:0: Attached scsi CD-ROM sr1
[   40.969136] sr 10:0:0:0: Attached scsi generic sg6 type 5
[   40.969152] sd 11:0:0:0: [sde] Attached SCSI removable disk


Но мне надо его завести на встраиваемой железке, на ней:

Код: Выделить всё

# lsusb
.........
Bus 002 Device 004: ID 12d1:14fe
......

Переключение провожу командой usb_modeswitch -W -c /etc/huawei_e3276.conf

Код: Выделить всё

Reading config file: /etc/huawei_e3276.conf

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.2.7 (C) Josua Dietze 2012
 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x12d1
DefaultProduct= 0x14fe
TargetVendor=   not set
TargetProduct=  not set
TargetClass=    not set
TargetProductList="1506,151d"

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
QuantaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
BlackberryMode=0
PantechMode=0
MessageEndpoint=  not set
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice enabled (default)
Success check disabled
System integration mode disabled


Looking for default devices ...
  searching devices, found USB ID 12d1:14fe
   found matching vendor ID
   found matching product ID
   adding device
  searching devices, found USB ID 1d6b:0002
  searching devices, found USB ID 1d6b:0002
 Found device in default mode, class or configuration (1)
Accessing device 004 on bus 002 ...
Getting the current device configuration ...
Error getting the current configuration (error -110). Assuming configuration 1.
Using interface number 0
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

И всё, программа висит, в выводе lsusb ничего не меняется, модем периодически подмигивает.

Попытке переключения на host-е (Debian 6.0.7, amd64, usb_modeswitch 1.1.4) также не удачна:

Код: Выделить всё

Reading config file: /etc/usb_modeswitch.conf
Warning: TargetProductList overrides TargetProduct!
 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.1.4 (C) Josua Dietze 2010
 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x12d1
DefaultProduct= 0x14fe
TargetVendor=   0x12d1
TargetProduct=  not set
TargetClass=    not set
TargetProductList="1506,151d"

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
GCTMode=0
MessageEndpoint=  not set
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
.........
USB error: could not claim interface 0: Operation not permitted
 Could not claim interface (error -1). Skipping device inquiry
USB error: could not release intf 0: Operation not permitted
USB error: error sending control message: Operation not permitted
Error: could not get description string "manufacturer"
USB error: error sending control message: Operation not permitted
Error: could not get description string "product"

USB description data (for identification)
-------------------------
Manufacturer:
     Product:
  Serial No.: not provided
-------------------------
Looking for active driver ...
USB error: could not get bound driver: Operation not permitted
 No driver found. Either detached before or never attached
Setting up communication with interface 0 ...
USB error: could not claim interface 0: Operation not permitted
 Could not claim interface (error -1). Skipping message sending
-> Run lsusb to note any changes. Bye.


Вопрос - что необходимо поравить для того, чтобы переключения сработало?
Спасибо.

Upd: на host удалось переключить в режим модема, используемый конфиг:

Код: Выделить всё

DisableSwitching=0
EnableLogging=0
DefaultVendor= 0x12d1
DefaultProduct= 0x14fe
TargetVendor=  0x12d1
TargetProduct=0x1506
MessageContent="55534243123456780000000000000011062000000100000000000000000000"

К сожалению на целевой плате с этим же конфигом всё останавливает на No driver found. Either detached before or never attached
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение yars »

На плате выполните от рута: # update-pciids. Тогда модем будет виден так же, как на компе. Далее, раз "no driver found" - значит, на плате либо не загружены, либо отсутствуют вообще ядерные модули-драйверы, подходящие для модема. Можете попробовать на компе из анализа вывода # dmesg, # lsmod, # lspci -knn вытащить имя нужного драйвера, загрузить или собрать и загрузить его на плате. А вот если в дереве исходников ядра, которое на плате, нет такого драйвера, то придется более новое ядро собирать. Если текущее ядро монолитное (а скорее всего так и есть), то придется пересобрать либо с поддержкой модульности, либо вкомпилировать драйвер в ядро. Кстати, это сообщение вроде как может быть и следствием того, что драйвер уже в ядре, но тогда почему не работает - не знаю.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение IMB »

Чудесным образом на следующий день всё работает.
Правда возникла проблема с установкой ppp-соединения Serial line is looped back, но это уже другая история.
Спасибо сказали:
Аватара пользователя
kknight
Сообщения: 756
Контактная информация:

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение kknight »

IMB писал(а):
06.09.2013 11:17
Чудесным образом на следующий день всё работает.
Правда возникла проблема с установкой ppp-соединения Serial line is looped back, но это уже другая история.

Что-то мне подсказывает, что раз ppp не поднимается, то модем и не работает как модем :)
У меня была история с таким модемом - нужно было подключиться к нему через minicom и дать модему шаманские команды. Насколько я понял, у этой железки есть два режима работы - виндовый и линуксовый (не путать с режимами модем/флешка). Если не сделать переключения, то звонить из линукса он не сможет.
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение IMB »

kknight писал(а):
06.09.2013 12:30
У меня была история с таким модемом - нужно было подключиться к нему через minicom и дать модему шаманские команды. Насколько я понял, у этой железки есть два режима работы - виндовый и линуксовый (не путать с режимами модем/флешка). Если не сделать переключения, то звонить из линукса он не сможет.

Не затруднит ли Вас припомнить эти "шаманские" команды?
Конфигурацию ppp я описал Serial line is looped back
Спасибо сказали:
Аватара пользователя
kknight
Сообщения: 756
Контактная информация:

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение kknight »

IMB писал(а):
06.09.2013 12:43
Не затруднит ли Вас припомнить эти "шаманские" команды?

Попробуйте это:
echo -e 'AT^SETPORT="A1,A2;10,12,13,A2"\r' > /dev/ttyUSB0


Затем:
включаем 4G:
echo -e 'AT^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,\r' > /dev/ttyUSB0


возвращаемся к 3G (он иногда почему-то работает быстрее):
echo -e 'AT^SYSCFGEX="0201",3fffffff,2,4,7fffffffffffffff,,\r' > /dev/ttyUSB0


Предлолагается, что модем воткнут именно как модем (не как флешка)
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение IMB »

Предложенные команды я прописал в запускающий скрипт, к сожалению с ними pppd "повис" и был остановлен по Ctrl-C.
В логе следующее:

Код: Выделить всё

AT
OK
AT^SETPORT="A1,A2;10,12,13,A2"
OK
AT^SYSCFGEX="00",3fffffff,2,4,7fffffffffffffff,,
OK
AT+CGDCONT=1,"IP","internet"
OK
Opening "/tmp/ppp"...
Closing "/tmp/ppp".
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x18f2b6c> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x18f2b6c> <pcomp> <accomp>]
..............
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x18f2b6c> <pcomp> <accomp>]
Terminating on signal 2
sent [LCP TermReq id=0x2 "User request"]
sent [LCP TermReq id=0x3 "User request"]
Terminating on signal 2
Connection terminated.
Receive serial link is not 8-bit clean:
Problem: all had bit 7 set to 0
Modem hangup

Соединение устанавливаю командой pppd call megafon nodetach
Спасибо сказали:
Аватара пользователя
kknight
Сообщения: 756
Контактная информация:

Re: [РЕШЕНО] Huawei E3276: не получается переключить режим

Сообщение kknight »

IMB писал(а):
06.09.2013 14:19
Соединение устанавливаю командой pppd call megafon nodetach

В этом и проблема. Раз ты такой ниндзя, что NM тебе не к лицу, то потрудись правильно подобрать параметры дозвона. А они должны быть такими:
lock
crtscts
defaultroute
noauth
noipdefault

Повторюсь - в NM всё работает само, если выбрать нужный регион/тариф.
Спасибо сказали:
Ответить