Эта девайсина известна также как Flying_Fish:
http://www.techfaithwireless.com/english/products/products_WirelessCard_CDMA1X_4.htmИтак... тестировалось это все на 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 <------- Вот он! Все OK!
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 за статью.