Модемы JET TechFaith EVDO 3G и BLESS UC165 в Linux

Аватар пользователя lecksys

Категория: 

Эта девайсина известна также как Flying_Fish:
http://www.techfaithwireless.com/english/products/products_WirelessCard_...
 
Итак... тестировалось это все на opensuse 11.3, и хотя щас уже вышла 11.4, думаю все должно работать аналогично
 

1) Вставляем девайс в USB. Далее все действия от рута

 


linux:/home/user # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 023: ID 05c6:1000 Qualcomm, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

 
У нас есть два способа переключить девайс в режим модема из режима эмуляции компакт-привода
(так называемый ZeroCd)
 

2.a) USB_MODESWITCH:

 
устанавливаем usb_modeswitch и usb_modeswitch-data
Взять их можно тут: (все ссылки - ссылки на репозитарии)
http://download.opensuse.org/repositories/hardware/openSUSE_11.3/
 
создаем файлик /etc/usb_modeswitch.d/05c6:1000:uMa=Qualcomm
 
в нем вписываем
 


DefaultVendor= 0x05c6
DefaultProduct= 0x1000

TargetVendor= 0x1d09
TargetProduct= 0x4316

#For BLESS UC165
#TargetProduct= 0x4306

MessageEndpoint= 0x00000008

MessageContent= "5553424328932a86000000000000061b00000002000000000 0000000000000"


 
затем пробуем перевоткнуть девайс в ЮСБ порт
 

b) создаем файлик /lib/udev/rules.d/99-techfaith-jet.rules

 
в нем пишем
 


ACTION=="add", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="1000", RUN+="/usr/local/sbin/techfaith_driver.sh"

then make a file /usr/local/sbin/techfaith_driver.sh

DEV=/dev/disk/by-id
dfile=`ls $DEV | grep usb-Qualcomm`

for i in $dfile
do
eject $DEV/$i
done

modprobe usbserial vendor=0x1D09 product=0x4316

# для модема BLESS UC165 закоментить строку выше и раскоментить эту
#modprobe usbserial vendor=0x1D09 product=0x4306
exit 0;



 

сохраняем и делаем его исполняемым:
 


chmod +x /usr/local/sbin/techfaith_driver.sh

 
перевставляем девайс в юсб порт
Этот способ у меня покатил на опенсусе 11.1
 
PS: После второго шага возможно прийдется перегрузить комп.
Увы, как линукс не крут в плане работы на живца, но иногда нужно перегружать
 
Перегрузили?
смотрим вывод команды lsusb :
 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 024: ID 1d09:4316 TechFaith Wireless Technology Limited Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

 

3) Добавляем в файлик /etc/modprobe.conf

или в /etc/modprobe.d/99-local.conf (смотря какая версия дистрибутива)
 


#
# JET EVDO 3G Modem
#

options usbserial vendor=0x1D09 product=0x4316



 
и сохраняем
 

4) Дальше нужно расшевелить систему, "продуть порты модема", так сказать

 


rmmod usbserial
modprobe usbserial

 
PS: если кроме этого девайса у вас есть еще что-то, например эмуляторы юсб-ком портов
и тому подобное - отключите их и перезагрузите компьютер, иначе не получится выгрузить модули ядра!
 

ls -l /dev/ttyUSB*

crw-rw---- 1 root dialout 188, 0 Янв 27 09:48 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Янв 27 09:48 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Янв 27 09:48 /dev/ttyUSB2



 
Все, модем определился!
 
Итак.. использовать модем для доступа в интернет - проблем нет! - на этот счет в интернете масса статей и способов.
Но я использую этот модем на работе для получения смс-ок. И тут у меня проблемка появилась.
Дело в том, что этот модем не поддерживает ни одна софтина по типу Gnokii, wader, umtsmon..
"Беда!..." (с) Быков, "Интерны"
Ну что делать? пришлось втыкать устройство под виндой и методом реверс-инжиниринга и перехвата портов смотреть
какие команды шлет его родная виндовая утилита - телефонный менеджер, который вшит на "свисток".
 
Вот что удалось получить:
 

AT
OK

ATE0V1
OK

AT+IMSI?

+IMSI:255211092480440
OK

*************
MIN 1092480440
*************

AT+MDN?

+MDN: ""
OK

AT+ESN

ERROR

AT+MEID

+MEID: 0

OK

AT+GMR

+GMR: Q6085BR00.00.82 1 [Nov 12 2009 18:34:04]
OK

*************
Software Version
************

at+GMI
PeopleNet

OK

***************
Modem Identifier
(or provider name, who locked modem)
***************

at+GMM
Jet

OK
***************
Modem Model
***************

AT+EMODE=11

+EMODE: 11,2126
OK
**********
PRL Version = 2126
**********

AT+RTRE?
+RTRE: 2,0

**********
Query the current RTRE value
+RTRE:,
OK
:
0 RUIM_ONLY
1 NV_ONLY
2 RUIM OR DROP
:
0 RUIM version
1 No RUIM version
******************

AT+RLOCK?
+RLOCK: NOLOCK, RUIM is unlocked.

**********
UIM State +RLOCK?
**********

AT+RLOCK=0
+RLOCK: 0,PASS,0x9000,CHV1(D),INIT(I,I,I,I),CNT(3,A,3,A)

**********
Read UIM Particular Status +RLOCK
+RLOCK:
0,PASS,0x9000,CHV1(D),INI
(3,A,3,A)
OK
Note: 1.PIN disable **CHV1(D)**
2.UIM card is inserted
**********

AT+SPMS=UIM
OK

*********
Preferred Message Storage +SPMS
AT+SPMS=UIM
Notes: Select ”UIM” message storage
Must insert UIM card
OK
Note : message storage in UIM
*********

AT+SPMS?
+SPMS: "UIM" (Max:30, Hold:1)

OK

*********
Preferred Message Storage +SPMS
Note : return the storag
selected, and the total
already hold number
*********

AT+SPMS=Flash
OK

++SPMS: "FLASH" (Max:255, Hold:0)

AT+CMGL
+CMGL:

OK
AT+SPMS?
+SPMS: "FLASH" (Max:255, Hold:0)

OK

AT+SPMS=UIM
OK

# Return to RUIM card for reading sms

AT+CMGL
+CMGL: 0
OK

********
List ID with Message +CMGL
+CMGL: 0,1
OK
Note : there are messages in the index
0 and 1
********

AT+CMGR=0,1
+CMGR: 0, 01A0,920,,2011/01/19 09:26:05,4098,000101,0,3D3D494E5445524E45543D3D204C6F67696E3A38303932323837353439354070656F706C652E6E65742E75612050617373776F72643A353734323239

OK

AT+CMGR=1,1
+CMGR: 1, 01A0,920,,2011/01/20 15:26:02,4098,000101,0,3D3D494E5445524E45543D3D204C6F67696E3A38303932323837353439354070656F706C652E6E65742E75612050617373776F72643A373031333731

OK
**********
Read Message

**********

AT+CVM
+CVM:

OK

***************
Not documented
***************

AT+PB?
+PB: 500,0,500,1

OK

****************
PhoneBook from UIM (really)
not documented
****************

AT+RUIMPB?
ERROR

****************
PhoneBook (from FLASH, I think)
not documented, and do not work on JET Techfaith
****************

AT+CSQ?
+CSQ: 26, 82

OK

***************
Signal Quality +CSQ
This command is used to ascertain the received Signal Quality Measure
() and the Frame Error Rate ().
+CSQ: ,
OK

99 - no Signal
***************

AT+HDRCSQ?
+HDRCSQ: 31, 74

OK

***************
Signal Indicator Query Function Command in the HDR Mode
This command is used to ascertain the received Signal Quality Measure
() and the Frame Error Rate ().
+CSQ: ,
OK
***************

at+CREG=8199
OK

***********
Signal State Report +CREG
This command is used
report of current state

Command syntax : AT+CREG=
Response syntax : +CREG :

0: Disable network registration(auto signal quality& CDMA state report) unsolicited result
code
1: Enable auto signal quality report code result code (it will return the response of
AT+CSQ)
2: Enable CDMA state report code result code (it will return the response of AT+CAD)
3 Enable network registration(auto signal quality&CDMA state report) unsolicited result
code
8199 --- undocumented, but always making by modem manager
***********

AT+MODEPREF?
+MODEPREF: 4

OK
**************
What network mode is turned
**************

AT+MODEPREF=10

++SYSMODE: 2

OK

*************
Set ONLY EVDO Mode of network
*************

AT+MODEPREF=9

++SYSMODE: 2

OK
*************
Set 1x Mode of network
*************

AT+MODEPREF=4

++SYSMODE: 4

OK
*************
Set HYBRID Mode of network
*************

AT+CMGOPT?
+CMGOPT: 0, 1, 0, 0, 4

OK
***************
Display SMS options
Undocumented
***************

AT+CMGOPT=0,1,0,0,4;+CMGS=255,920,,010103,007400650078007400200054004500580054002004420435043A04410442002004220415041A04210422
OK
*************
Send SMS

Was sended in unicode:
text TEXT текст ТЕКСТ
*************

AT+CMGTAG=1,1
OK

************
tag sms as read?
do not work
************

AT+CMGD=0

OK

***********
Detele SMS at index 0

 
Syntax :
Command syntax : AT+CMGD= [,]
Command Possible responses
+CMTI:.SM.,3
Note : New message received
AT+CMGD=3
Note : Delete it
OK
Note : Message deleted
AT+CMGD=52
Note : Delete it
+CMS ERROR: 321
Note : the index is wrong.
AT+CMGD=1,0 OK
Note : The message from the preferred
message storage at the location 1 is
deleted
AT+CMGD=1,1 OK
Note : All READ messages from the
preferred message storage are deleted
AT+CMGD=1,2 OK
Note : All READ messages and SENT
mobile originated messages are deleted
AT+CMGD=1,3 OK
Note : All READ, SENT and UNSENT
messages are deleted
AT+CMGD=1,4 OK
Note : All messages are deleted
***********

AT+PB=5
+PB: 5,1
OK

AT+WPCS=TEXT;+PB=2,1,0636165126,"Swit"
OK
*************
Write to UIM PhoneBook in text mode
phone num: 0636165126
name: Swit
*************

AT+PB=5
+PB: 5,2
OK

AT+WPCS=HEX;+PB=2,2,0667152055,"0412043504420430043B044C"
OK

*************
Write to UIM PhoneBook in HEX mode (for unicode text)
phone num: 0667152055
name: Веталь
*************

AT+WPCS=TEXT;+PB=2,1,0030667152055,"Swit!"
OK

Edit UIM PB is the same as write to it

AT+PB=5
+PB: 5,2
OK

************
Get UIM PhoneBook Status, %1 - ??, %2 - Next Free cell
************

AT+PB?
+PB: 500,1,499,2

OK

*****************
500 - max cells

*****************

++CMT: 2,920,,2011/01/20 15:42:58,0001010A,3D3D494E5445524E45543D3D204C6F67696E3A38303932323837353439354070656F706C652E6E65742E75612050617373776F72643A363937303730

***********
ANSWER FROM MODEM - SMS ARRIVED!!! detected on port /dev/ttyUSB2
***********

AT+CMGTAG=2,1

***********
tag sms was readed??
***********



 

Работа с адресной книгой

 


AT+PB=5
+PB: 5,2
OK

AT+PB=2,1,920,"passw"
OK

at+pb?
+PB: 500,1,499,2
OK

AT+PB=5
+PB: 5,2
OK

AT+PB=2,2,921,"ppp"
OK

AT+PB=5
+PB: 5,3
OK

AT+PB?
+PB: 500,2,498,3
OK

AT+PB=8

+PB: 8,1,920,passw
+PB: 8,2,921,ppp

OK

**********
AT+PB=8
Display PhoneBook Content
**********



 
Ну и ко всему прочему я накрапал маленькую програмку на питоне
Она консольная, может читать смс-ки и удалять их.
Прога автоматически находит устройство и порт на котором оно сидит.
Если кто-то может адаптировать сей девайс к известным телефонным менеджерам
под линукс (список выше) - буду рад потестировать или предоставлю девайс в
пользование по интернету (удаленным доступом).
 
Огромное спасибо SwitNJ за статью.
 
PS: Статья перенесена со старого форума, под авторством SwitNJ 16/03/2011

Теги: 

1969nat
Аватар пользователя 1969nat
Не в сети
Последнее посещение: 4 года 10 месяцев назад
Регистрация: 15/01/2013 - 15:51
железо

Пытаюсь установить OpenSuse (), пишет ошибку,что не видит жесткий диск(Sata соединение),хотя на нем стоит Win и все оборудование уст-но,диск формата NTFS

Спасибо