LINUX.ORG.RU

ZTE MF656A, MTS и Linux


0

1

Это я общаюсь с ним через minicom:

Port /dev/ttyUSB1                                                            
                                                                             
Нажмите CTRL-A Z для получения подсказки по клавишам                         
                                                                             
at                                                                           
OK                                                                           
ATI0                                                                         
Manufacturer: ZTE CORPORATION                                                
Model: MF656A                                                                
Revision: BD_MTSMF656AV1.0.0B01                   
IMEI: 356567041037860                             
+GCAP: +CGSM,+DS,+ES                              
                                                  
OK

Это конфиг подключения к серверу:

# cat /etc/wvdial.conf 
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
ISDN = 0
Modem = /dev/ttyUSB1
Baud = 57600

[Dialer mts]
Phone = *99#
New PPD = yes
Username = mts
Password = mts
Stupid Mode = 1
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
[Dialer mypin]
Init4 = AT+CPIN=1234

Это попытка к подключению:

# wvdial mts
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT+CGDCONT=1,"IP","internet.mts.ru"
AT+CGDCONT=1,"IP","internet.mts.ru"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 8000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sat Feb 23 00:36:31 2013
--> Pid of pppd: 16218
--> pppd: [10]^~ [10]^~ 
--> pppd: [10]^~ [10]^~ 
--> Disconnecting at Sat Feb 23 00:37:32 2013
--> The PPP daemon has died: Connect script failed (exit code = 8)
--> man pppd explains pppd error codes in more detail.
--> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information.
--> Auto Reconnect will be attempted in 5 seconds
--> Initializing modem.
--> Sending: ATZ
--> Sending: ATQ0
--> Re-Sending: ATZ
--> Modem not responding.
--> Initializing modem.
--> Sending: ATZ
--> Sending: ATQ0
--> Re-Sending: ATZ
--> Modem not responding.
--> Disconnecting at Sat Feb 23 00:37:54 2013

После этого устройство в minicom молчит - приходится переподключать.

В качестве номера пробовал *99***1#

Конечно это зависит от антенн, но мобильник отсюда же настроенный на MTS высвечивает 3 штриха радиосигнала.

Я делаю что-то не так или антенна слабая?

Если что:

$ lsusb |grep ZTE
Bus 001 Device 039: ID 19d2:0117 ZTE WCDMA Technologies MSM
★★★★★

Что-то быстро он у тебя отрубился. Может на 8000 бод задержка нужна побольше?

Ну и мож и вправду в скрипте ошибка какая? Скрипт покажи.

И да - я с csd последний раз имел дело года два назад - мож чего позабыл.

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

И да - китайцы виснут постоянно.

И да - вспомнил! Они же эмулируют csd, так что он, наверно не "молчит" а установил сессию!

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

Что-то быстро он у тебя отрубился. Может на 8000 бод задержка нужна побольше?

Для «USB-свистков» задание скорости не имеет смысла. Можно указывать любую, которую знает драйвер. На работу это никак не влияет.

Deleted
()

CONNECT 8000
--> Carrier detected. Starting PPP immediately.
--> The PPP daemon has died: Connect script failed (exit code = 8)

Настройте pppd, чтобы сразу работал с /dev/ttyUSB1, не трогая /usr/bin/chat.

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

В общем я опробовал модем на первой попавшейся местной машинке с оффтопом, там тоже не пашет. Похоже на отсутствие обслуживания. Или я переключил кое-что в нём не то...

Перевёл всё с модемом на pppd. Запускаю так:

# pon mts

Листинги:

# cat /etc/ppp/peers/mts 
file /etc/ppp/options-mobile
user "mts"
password "mts"
connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/mts.chat"

# cat /etc/ppp/options-mobile 
/dev/ttyUSB1
921600
defaultroute
usepeerdns
crtscts
lock
noauth
local
persist
modem
nopcomp
novjccomp
nobsdcomp
nodeflate
noaccomp
ipcp-accept-local
ipcp-accept-remote
noipdefault
# cat /etc/ppp/chatscripts/mts.chat 
ABORT 'BUSY'
ABORT 'NO CARRIER'
ABORT 'VOICE'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT 'DELAYED'
REPORT CONNECT
TIMEOUT 6
'' 'ATQ0'
'OK-AT-OK' 'ATZ'
TIMEOUT 3
'OK-AT-OK' 'ATI'
'OK' 'ATZ'
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
'OK' 'AT\^SYSCFG=14,2,3fffffff,0,1'
'OK-AT-OK' 'AT+CGDCONT=1,"IP","internet.mts.ru"'
'OK' 'ATDT*99***1#'
TIMEOUT 150
CONNECT

Вот лог попытки:

# tail -f /var/log/ppp.log 
Feb 24 20:38:46 localhost chat[14555]: abort on (BUSY)
Feb 24 20:38:46 localhost chat[14555]: abort on (NO CARRIER)
Feb 24 20:38:46 localhost chat[14555]: abort on (VOICE)
Feb 24 20:38:46 localhost chat[14555]: abort on (NO DIALTONE)
Feb 24 20:38:46 localhost chat[14555]: abort on (NO DIAL TONE)
Feb 24 20:38:46 localhost chat[14555]: abort on (NO ANSWER)
Feb 24 20:38:46 localhost chat[14555]: abort on (DELAYED)
Feb 24 20:38:46 localhost chat[14555]: report (CONNECT)
Feb 24 20:38:46 localhost chat[14555]: timeout set to 6 seconds
Feb 24 20:38:46 localhost chat[14555]: send (ATQ0^M)
Feb 24 20:38:46 localhost chat[14555]: expect (OK)
Feb 24 20:38:46 localhost chat[14555]: ATQ0^M^M
Feb 24 20:38:46 localhost chat[14555]: OK
Feb 24 20:38:46 localhost chat[14555]:  -- got it
Feb 24 20:38:46 localhost chat[14555]: send (ATZ^M)
Feb 24 20:38:46 localhost chat[14555]: timeout set to 3 seconds
Feb 24 20:38:46 localhost chat[14555]: expect (OK)
Feb 24 20:38:46 localhost chat[14555]: ^M
Feb 24 20:38:46 localhost chat[14555]: ATZ^M^M
Feb 24 20:38:46 localhost chat[14555]: OK
Feb 24 20:38:46 localhost chat[14555]:  -- got it
Feb 24 20:38:46 localhost chat[14555]: send (ATI^M)
Feb 24 20:38:46 localhost chat[14555]: expect (OK)
Feb 24 20:38:46 localhost chat[14555]: ^M
Feb 24 20:38:46 localhost chat[14555]: ATI^M^M
Feb 24 20:38:46 localhost chat[14555]: Manufacturer: ZTE CORPORATION^M
Feb 24 20:38:46 localhost chat[14555]: Model: MF656A^M
Feb 24 20:38:46 localhost chat[14555]: Revision: BD_MTSMF656AV1.0.0B01^M
Feb 24 20:38:46 localhost chat[14555]: IMEI: 356567041037860^M
Feb 24 20:38:46 localhost chat[14555]: +GCAP: +CGSM,+DS,+ES^M
Feb 24 20:38:46 localhost chat[14555]: ^M
Feb 24 20:38:46 localhost chat[14555]: OK
Feb 24 20:38:46 localhost chat[14555]:  -- got it
Feb 24 20:38:46 localhost chat[14555]: send (ATZ^M)
Feb 24 20:38:46 localhost chat[14555]: expect (OK)
Feb 24 20:38:46 localhost chat[14555]: ^M
Feb 24 20:38:46 localhost chat[14555]: ATZ^M^M
Feb 24 20:38:46 localhost chat[14555]: OK
Feb 24 20:38:46 localhost chat[14555]:  -- got it
Feb 24 20:38:46 localhost chat[14555]: send (ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0^M)
Feb 24 20:38:47 localhost chat[14555]: expect (OK)
Feb 24 20:38:47 localhost chat[14555]: ^M
Feb 24 20:38:47 localhost chat[14555]: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0^M^M
Feb 24 20:38:47 localhost chat[14555]: OK
Feb 24 20:38:47 localhost chat[14555]:  -- got it
Feb 24 20:38:47 localhost chat[14555]: send (AT\^SYSCFG=14,2,3fffffff,0,1^M)
Feb 24 20:38:47 localhost chat[14555]: expect (OK)
Feb 24 20:38:47 localhost chat[14555]: ^M
Feb 24 20:38:47 localhost chat[14555]: AT^SYSCFG=14,2,3fffffff,0,1^M^M
Feb 24 20:38:47 localhost chat[14555]: ERROR^M
Feb 24 20:38:50 localhost chat[14555]: alarm
Feb 24 20:38:50 localhost chat[14555]: send (AT^M)
Feb 24 20:38:50 localhost chat[14555]: expect (OK)
Feb 24 20:38:50 localhost chat[14555]: AT^M^M
Feb 24 20:38:50 localhost chat[14555]: OK
Feb 24 20:38:50 localhost chat[14555]:  -- got it
Feb 24 20:38:50 localhost chat[14555]: send (AT+CGDCONT=1,"IP","internet.mts.ru"^M)
Feb 24 20:38:50 localhost chat[14555]: expect (OK)
Feb 24 20:38:50 localhost chat[14555]: ^M
Feb 24 20:38:50 localhost chat[14555]: AT+CGDCONT=1,"IP","internet.mts.ru"^M^M
Feb 24 20:38:50 localhost chat[14555]: OK
Feb 24 20:38:50 localhost chat[14555]:  -- got it
Feb 24 20:38:50 localhost chat[14555]: send (ATDT*99***1#^M)
Feb 24 20:38:50 localhost chat[14555]: timeout set to 150 seconds
Feb 24 20:38:50 localhost chat[14555]: expect (CONNECT)
Feb 24 20:38:50 localhost chat[14555]: ^M
Feb 24 20:38:50 localhost chat[14555]: ATDT*99***1#^M^M
Feb 24 20:38:50 localhost chat[14555]: CONNECT
Feb 24 20:38:50 localhost chat[14555]:  -- got it
Feb 24 20:39:54 localhost chat[14636]: abort on (BUSY)
Feb 24 20:39:54 localhost chat[14636]: abort on (NO CARRIER)
Feb 24 20:39:54 localhost chat[14636]: abort on (VOICE)
Feb 24 20:39:54 localhost chat[14636]: abort on (NO DIALTONE)
Feb 24 20:39:54 localhost chat[14636]: abort on (NO DIAL TONE)
Feb 24 20:39:54 localhost chat[14636]: abort on (NO ANSWER)
Feb 24 20:39:54 localhost chat[14636]: abort on (DELAYED)
Feb 24 20:39:54 localhost chat[14636]: report (CONNECT)
Feb 24 20:39:54 localhost chat[14636]: timeout set to 6 seconds
Feb 24 20:39:54 localhost chat[14636]: send (ATQ0^M)
Feb 24 20:39:54 localhost chat[14636]: expect (OK)
Feb 24 20:40:00 localhost chat[14636]: alarm
Feb 24 20:40:00 localhost chat[14636]: send (AT^M)
Feb 24 20:40:00 localhost chat[14636]: expect (OK)
Feb 24 20:40:06 localhost chat[14636]: alarm
Feb 24 20:40:06 localhost chat[14636]: Failed
Feb 24 20:40:38 localhost chat[14664]: abort on (BUSY)
-- и так далее несколько раз.

Как видно chatscript я ещё не освоил - есть неподдерживаемые AT-инструкции.

В принципе я так понял: в винде инструкции и TCP пакеты проходят через эту же консоль и всё это довольно кроссплатформено, т.е. если знать какие AT-инструкции посылать и нет проблем с оператотром всё должно работать.

Вот это вроде список конфигураций из minicom:

 at                                                                               |
OK                                                                                 
at&v                                                                               
&C: 2; &D: 2; &E: 0; &F: 0; &S: 0; &W: 0; E: 1; L: 0; M: 0; Q: 0; V: 1;
X: 1; Z: 0; \Q: 3; \S: 0; \V: 0; O: 0; S0: 0; S2: 43; S3: 13; S4: 10;
S5: 8; S6: 2; S7: 0; S8: 2; S9: 6; S10: 14; S11: 95; S30: 0; S103: 1;
S104: 1; +FCLASS: 0; +ICF: 3,3; +IFC: 2,2; +IPR: 115200; +DR: 0;
+DS: 0,0,2048,6; +CMEE: 2; +WS46: 12; +CFUN:; +CBST: 0,0,1;
+CRLP: (61,61,48,6,0),(61,61,48,6,1),(240,240,52,6,2);
+CV120: 1,1,1,0,0,0; +CHSN: 0,0,0,0; +CSSN: 0,0; +CREG: 0; +CGREG: 0;
+CSCS: "IRA"; +CSTA: 129; +CR: 0; +CRC: 0; +CGDCONT: (1,"IP","internet.mts.ru","0.0.0.0",0,0)
; +CGDSCONT: ; +CGTFT: ; +CGEQREQ: ; +CGEQMIN: ; +CGQREQ: ; +CGQMIN: ;
+CGEREP: 0,0; +CGDATA: "PPP"; +CGCLASS: "A"; +CGSMS: 1; +CSMS: 0;
+CMGF: 0; +CSAS: 0; +CRES: 0; +CSCA: "+79139869990",145; +CSMP: ,,0,0;
+CSDH: 0; +CSCB: 0,"",""; +FDD: 0; +FAR: 0; +FCL: 0; +FIT: 0,0; +ES: ,,;
+ESA: 0,,,,0,0,255,; +CMOD: 0; +CVHU: 1; +CPIN: ÿÿÿÿÿÿÿÿ,ÿÿÿÿÿÿÿÿ;
+CMEC: 0,0,0,0; +CIND: 0,0,0,0,1,0,0,0; +CMER: 0,0,0,0,0; +CGATT: 0;
+CGACT: 0; +CPBS: "SM"; +CPMS: "ME","ME","ME"; +CNMI: 3,1,0,2,0; 
+CMMS: 0; +FTS: 0; +FRS: 0; +FTH: 3; +FRH: 3; +FTM: 96; +FRM: 96;
+CCUG: 0,0,0; +COPS: 0,0,""; +CUSD: 0; +CAOC: 1; +CCWA: 1; +CCLK: "";
+CPOL: 0,2,"",0,0,0; +CPLS: 0; +CTZR: 0; +CTZU: 0; +CLIP: 1; +COLP: 0;
+CDIP: 0; +CLIR: 0; +VTS: 0; +ZSNT: 0,0,0; +ZDLFREQ: 0,0; +ZOPRT: 0;
+CMVL: 0; *CNTI: 0

OK

Из всего этого серьёзно менял я только +zoprt: вроде это активация передатчика.

ados ★★★★★
() автор топика
Ответ на: комментарий от ados
Feb 24 20:38:50 localhost chat[14555]: ^M
Feb 24 20:38:50 localhost chat[14555]: ATDT*99***1#^M^M
Feb 24 20:38:50 localhost chat[14555]: CONNECT
Feb 24 20:38:50 localhost chat[14555]:  -- got it
Feb 24 20:39:54 localhost chat[14636]: abort on (BUSY)

Эээ, chat перезапустился, или кто-то запустил ещё одну его копию? По идее, после CONNECT chat должен вернуть управление pppd.

'OK' 'AT\^SYSCFG=14,2,3fffffff,0,1'

Зачем? В chatscript'е довольно много странных директив, они точно все нужны?

Большинство попавшихся мне модемов прекрасно работает с /etc/chatscripts/gprs из Debian'овского пакета ppp: http://paste.debian.net/237767/ http://paste.debian.net/237768/

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

Эээ, chat перезапустился, или кто-то запустил ещё одну его копию?

chat укладывается, pppd работает. Но если сделать дозвон в minicom (ATDT*99#), модем просто отвечает CONNECT с числом и зависает (нет ни вывода, нельзя вводить).

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

модем просто отвечает CONNECT с числом и зависает (нет ни вывода, нельзя вводить).

По идее, в этот момент и должен включаться pppd и получать настройки по IPCP.

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

Чаще всего числом является 14400000. Терминал висит даже после отключения pppd.

Гуглится, что общение с модемом должно быть через другой терминал, вроде.

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

общение с модемом должно быть через другой терминал, вроде.

Ага, кажется это /dev/ttyUSB2, после дозвона не виснет, общение только ненормальное, кажется нужно настраивать.

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

Ну всё, поменял, значит, терминал, подключил к делу netcfg и заработало...

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