walczę ze Sierra AC 850 + iPlus simdata na Linuksie Suse 9.2

Wszystko na temat internetu za pomocą sieci komórkowych pod systemem Linux.

Moderator: Moderatorzy

ODPOWIEDZ
eliasz
Początkujący użytkownik forum
Posty: 1
Rejestracja: 2007-06-23, 18:47

walczę ze Sierra AC 850 + iPlus simdata na Linuksie Suse 9.2

Post autor: eliasz »

Witam,

Od dwóch dni usiłuję uruchomić pod Linuksem bezprzewodowy internet na laptopie Toshiba Satellite M40X z kartą PCMCiA Sierra AC 850 i kartą sim iPlus simdata.

Wykluczam problem sprzętowy, ponieważ ta sama konfiguracja pod Win XP z programem 3G-cośtam działa poprawnie, a nawet łapie warszawski HSDPA.

Na Linuksie udało mi się jak dotąd uzyskać tyle:
- ściągnąłem i zainstalowałem sterowniki ze strony producenta, karta jest prawidłowo wykrywana przez system na porcie /dev/ttyS0 (włącznie z podwójnym piknięciem dźwiękowym przy wkładaniu do slota)
- pod minicomem udaje mi się podać swój PIN (AT+CPIN=xxxx - migająca dioda zmienia kolor na zielony), ustawić operatora i APN (AT+CGDCONT=1,"IP","www.plusgsm.pl"), oraz uzyskać połączenie (ATD*99***1#).

Problem polega na tym, że pppd z odpowiednicmi skryptami (wzorowanymi na tych typowych działających dla Plusa) nie może przejść etapu negocjacji IPCP. Negocjacje LCP się udają, niezależnie od tego czy z podanym użytkownikiem i hasłem czy bez, przy pierwszym wysłanym pakiecie IPCP modem niespodziewanie się rozłącza (modem hangup). Nie pomaga żonglowanie opcjami pppd na wszelkie możliwe sposoby (z kopresją wszelkich rodzajów i bez, z podanym IP i z oczekiwaniem IP od peera itd.).

Poniżej typowy log połączenia (proszę nie przejmować się nietypowymi opcjami AT na początku, modem jest już zainicjowany etc. pod minicomem, a ilustrują one, że jakieś połączenie z GSM Polkomtela musi być, bo np. modem podaje sieć i adres IP):

Kod: Zaznacz cały

Jun 23 19:55:32 alex pppd[22711]: pppd 2.4.4 started by root, uid 0
Jun 23 19:55:33 alex chat[22712]: send (AT!SCPROF?1^M)
Jun 23 19:55:33 alex chat[22712]: expect (OK)
Jun 23 19:55:33 alex chat[22712]: ^M
Jun 23 19:55:33 alex chat[22712]: NO CARRIER^M
Jun 23 19:55:33 alex chat[22712]: AT!SCPROF?1^M^M
Jun 23 19:55:33 alex chat[22712]: !SCPROF: 1,"Plus GSM/Polkomtel",1,0,0,0^M
Jun 23 19:55:33 alex chat[22712]: ^M
Jun 23 19:55:33 alex chat[22712]: OK
Jun 23 19:55:33 alex chat[22712]:  -- got it
Jun 23 19:55:33 alex chat[22712]: send (AT!SCPADDR=1^M)
Jun 23 19:55:33 alex chat[22712]: expect (OK)
Jun 23 19:55:33 alex chat[22712]: ^M
Jun 23 19:55:33 alex chat[22712]: AT!SCPADDR=1^M^M
Jun 23 19:55:33 alex chat[22712]: !SCPADDR: 1,"10.243.161.185"^M
Jun 23 19:55:33 alex chat[22712]: ^M
Jun 23 19:55:33 alex chat[22712]: OK
Jun 23 19:55:33 alex chat[22712]:  -- got it
Jun 23 19:55:33 alex chat[22712]: send (ATD*99***1#^M)
Jun 23 19:55:33 alex chat[22712]: timeout set to 1000 seconds
Jun 23 19:55:33 alex chat[22712]: expect (CONNECT)
Jun 23 19:55:33 alex chat[22712]: ^M
Jun 23 19:55:33 alex chat[22712]: ATD*99***1#^M^M
Jun 23 19:55:33 alex chat[22712]: CONNECT
Jun 23 19:55:33 alex chat[22712]:  -- got it
Jun 23 19:55:33 alex chat[22712]: send (^M)
Jun 23 19:55:33 alex pppd[22711]: Serial connection established.
Jun 23 19:55:33 alex pppd[22711]: using channel 69
Jun 23 19:55:34 alex pppd[22711]: Using interface ppp0
Jun 23 19:55:34 alex pppd[22711]: Connect: ppp0 <--> /dev/ttyS0
Jun 23 19:55:35 alex pppd[22711]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x6cb9133d> <pcomp> <accomp>]
Jun 23 19:55:35 alex pppd[22711]: rcvd [LCP ConfReq id=0x5b <asyncmap 0x0> <auth chap MD5> <magic 0x8b5dfaf> <pcomp> <accomp>]
Jun 23 19:55:35 alex pppd[22711]: sent [LCP ConfAck id=0x5b <asyncmap 0x0> <auth chap MD5> <magic 0x8b5dfaf> <pcomp> <accomp>]
Jun 23 19:55:35 alex pppd[22711]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x6cb9133d> <pcomp> <accomp>]
Jun 23 19:55:35 alex pppd[22711]: sent [LCP EchoReq id=0x0 magic=0x6cb9133d]
Jun 23 19:55:35 alex pppd[22711]: rcvd [LCP DiscReq id=0x5c magic=0x8b5dfaf]
Jun 23 19:55:35 alex pppd[22711]: rcvd [CHAP Challenge id=0x1 <36912cebd8e8f1baca1cee5ffa42a409>, name = "UMTS_CHAP_SRVR"]
Jun 23 19:55:35 alex pppd[22711]: sent [CHAP Response id=0x1 <ca889d4f6c2fe2be8cc99e4fa69c1a37>, name = "plusdata"]
Jun 23 19:55:35 alex pppd[22711]: rcvd [LCP EchoRep id=0x0 magic=0x8b5dfaf 6c b9 13 3d]
Jun 23 19:55:35 alex pppd[22711]: rcvd [CHAP Success id=0x1 ""]
Jun 23 19:55:35 alex pppd[22711]: CHAP authentication succeeded
Jun 23 19:55:35 alex pppd[22711]: CHAP authentication succeeded
Jun 23 19:55:35 alex pppd[22711]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
Jun 23 19:55:35 alex pppd[22711]: Modem hangup
Jun 23 19:55:35 alex pppd[22711]: Connection terminated.
Jun 23 19:55:41 alex pppd[22711]: Terminating on signal 2
Jun 23 19:55:41 alex pppd[22711]: Exit.                                         
Jest to efekt wywołania:

Kod: Zaznacz cały

pppd call simdata
Dla skryptów:

simdata:

Kod: Zaznacz cały

updetach
debug
# 10.243.161.185:10.243.161.185
# 212.2.96.51
# 212.2.96.52
connect "/usr/local/sbin/chat -v -V -t3 -f /etc/ppp/simdata-connect"
disconnect "/usr/sbin/chat -v -f /etc/ppp/simdata-disconnect"
/dev/ttyS0
115200
crtscts
#local
modem
-detach
#noipdefault
defaultroute
usepeerdns
novj
#novjccomp
nodeflate 
nobsdcomp
noccp
#nopcomp
#noaccomp
noauth
persist
user plusdata
password plusdata
ipcp-accept-remote
ipcp-accept-local
#-ip
ipcp-max-configure 30
ipcp-restart 1
#maxfail 0
#asyncmap 0
#passive
lcp-echo-failure 4
lcp-echo-interval 65535
oraz simdata-connect:

Kod: Zaznacz cały

#'' 'ATZ'
#OK 'AT+CFUN=1,1'
#TIMEOUT 1000
#OK 'AT+CPIN=xxxx\d\d\d'
#TIMEOUT 2000
#OK 'AT&F'
#OK 'ATE1'
#OK 'ATV1'
#OK 'AT+CGMI'
#OK 'AT+CSQ'
# '' 'AT+CGDCONT=1,"IP","www.plusgsm.pl"'
'' 'AT!SCPROF?1'
'OK' 'AT!SCPADDR=1'
'OK' 'ATD*99***1#'
TIMEOUT 1000
SAY "\nwaiting for connect...\n"
CONNECT ""
SAY "\nConnected!"
Nie mam już pomysłu na dalszą walkę z tematem. Podawany na tym forum programik węgierski GPRS Easy z własnymi skryptami do modelu AC 850 i z wbudowanymi ustawieniami Plusa wywala się w analogiczny sposób, tj. nie dostaje od modemu odpowiedzi na Config-Requests protokołu IPCP. Bez opcji pppd "modem" są one wysyłane bez skutku, z opcją "modem" rozpoznawane jest rozłączenie się modemu jak w moim przykładzie.

Byłbym wdzięczny za jakikolwiek trop prowadzący do rozwiązania tej łamigłówki.

PS.

W Win XP nie udało mi się we właściwościach modemu odnaleźć sugerowanych przez kogoś logów połączenia, aby zastosować te same polecenia na Linuksie. Tym niemniej zastanawiam się, czy nie istnieje jakiś sposób "podsłuchania" komunikacji programu 3G z modemem, umożliwiającej nawiązanie połączenia z Plusem pod Windows.
ODPOWIEDZ