Ten rozdział opisuje jak połączyć się z Internetem za pomocą telefonu komórkowego wykorzystując system GPRS. General Packet Radio System (GPRS) jest metodą dostępu do Internetu w sieciach GSM, która, w przeciwieństwie do zwykłego połączenia komutowanego (Sekcja 7.13.6) oraz połączenia HSCSD, charakteryzuje się pakietową transmisją danych. Trzy cechy odróżniają system GPRS od pozostałych metod dostępu: po pierwsze, użytkownik płaci tylko za ilość przesłanych danych a nie za czas połączenia. Po drugie, GPRS jest szybszy od zwykłego połączenia dial-up z siecią przez telefon komórkowy (9,6 kbs) bo pozwala na łączenie kilku kanałów i osiągnięcie przepływu do abonenta (downstream) do 115 kbs (na razie ani sieci ani telefony nie wspierają jeszcze tak dużych prędkości transmisji). Po trzecie, system GPRS pozwala odbierać połączenia i SMS-y w trakcie trwania sesji (połączenia) GPRS. Sesja jest wówczas na czas połączenia zawieszana, a po jego zakończeniu - wznawiana. Dodatkowym atutem jest czas nawiązywania połączenia - jest kilkakrotnie krótszy niż w przypadku zwykłych modemów dial-up.
Usługa GPRS musi być aktywowana u operatora telefonii komórkowej (w niniejszym opisie, dla uproszczenia wszystkie przykłady i konfiguracja będą przedstawione dla sieci Era). W Erze aktywacja usługi jest za darmo, standardowo nie ma również żadnej opłaty miesięcznej w abonamencie. Koszt: 49 gr (+VAT) za 100 kB wysłanych i (oddzielnie) odebranych danych (na poziomie protokołu IP). "Kwantem rozliczeniowym" jest właśnie 100 kB. Oznacza to, że minimalna opłata za sesję GPRS wynosi 49 gr (dane odebrane) + 49 gr (dane wysłane) = 98 gr (kilkaset bajtów musi być zawsze wysłanych i odebranych w ramach nawiązywania połączenia). Sesja GPRS przerwana połączeniem przychodzącym i (automatycznie) wznowiona, jest traktowana jak pojedyncza sesja (choćby trwała nawet cały dzień :-). GPRS jest bardzo użyteczny przy połączeniach shellowych. Połączenie tekstowe/konsolowe z serwerem jest relatywnie tanie (chociaż do każdego znaku należy doliczyć nagłówek IP) i nie ma ciągłej presji czasu jak w przypadku zwykłego połączenia dial-up przez telefon komórkowy.
Naturalnie, system GPRS musi być wspierany przez telefon. Aktualnie coraz więcej telefonów ma wbudowanego GPRS-a, są to m.in.: Nokia 6310, 6310i, 7650, 8310; Ericsson R520, T65i, T39, T68; Siemens ME45, M50, S55 i wiele innych.
Sesje GPRS mogą być uruchamiane na dwa sposoby:
Z poziomu telefonu, wówczas telefon pełni funkcję terminala:
Telefon ---- GPRS ---- sieć GSM ---- InternetMożliwe zastosowania to m.in. WAP over GPRS (tu opłata jest z reguły wyższa niż przy dostępie do Internetu), SMS over GPRS (z rzadka wspierany), dostęp do Internetu przez MIDlety (progamy w Javie na telef. komórkowe). Niewielkie możliwości terminalowe telefonów (przede wszystkim mały wyświetlacz) ograniczają możliwości zastosowań.
Z poziomu komputera (wówczas telefon spełnia funkcję modemu):
Komputer PC ---- RS-232 ---- Telefon ---- GPRS ---- sieć GSM ---- Internet Komputer PC ---- IrDA ---- Telefon ---- GPRS ---- sieć GSM ---- Internet Komputer PC ---- Bluetooth ---- Telefon ---- GPRS ---- sieć GSM ---- InternetKlasyczną już metodą połączenie telefonu do komputera specjalnym kablem (RS-232), który jest przyłączany do portu szeregowego (czyli COM-a). Ceny takich kabli są z reguły dosyć wysokie (ok. 150 zł), poza tym każdy producent ma własne standardy (Nokia ma ich kilka!), więc nie jest to rozwiązanie przenośne. Ostatnio rosnącą popularnością cieszą się połączenia bezprzewodowe - IrDA, oraz, wciąż jeszcze mało popularny - bo drogi - Bluetooth. Wybranie IrD-y jako medium komunikacyjnego z telefonem ma w przypadku GPRS-u pewnien mankament: otóż gdy odbieramy rozmowę telefoniczną w trakcie połączenia GPRS to z reguły musimy podnieść telefon i tym samym zerwać komunikację w podczerwieni. Nawet gdy po zakończeniu rozmowy odłożymy telefon na miejsce to sesja GPRS nie może być wznowiona. Tego problemu nie ma w przypadku zastosowania kabla ani (najprawdopoodobniej) w przypadku systemu Bluetooth.
W podrozdziale tym opisany jest sposób instalacji i konfiguracji systemu IrDA na Linuksie z jednym z nowszych systemów RedHat (rodzina 7.x, 8.x, 9.x). Starsze systemy RedHat wymagały łat na jądro (teraz IrDA jest już standardowo wspierana) oraz doinstalowania pakietu irda-utils (obecnego w nowszych wersjach systemu).
IrDA jest obecna we wszystkich obecnie produkowanych laptopach a wyposażenie komputera stacjonarnego w system IrDA (dioda podczerwieni podłączana do płyty głównej) to kwestia kilkudziesięciu złotych.
Zanim zaczniemy konfigurować IrD-ę na Linuksie, powinniśmy dokładnie dowiedzieć się jakie są ustawienie w naszym systemie (sprawdzić w BIOS-ie). Często należy uaktywnić system IrDA, ponieważ może być standardowo wyłączony. Należy sprawdzić pod którym portem komunikacyjnym będzie widoczna IrDA. W przypadku laptopów będzie to zwykle COM2, czyli /dev/ttyS1. Co ciekawe, niektóre systemu biurkowe, wyposażone w dwa porty COM, podpinają IrD-ę pod COM2 - prawdopodobnie wyłączając standardowy, "kablowy" port szeregowy. Warto także sprawdzić numer portu i przerwanie przydzielone przez BIOS.
Po włączeniu IrD-y w BIOS-ie i odczytaniu jej parametrów uruchamiany Linuksa. Następnie:
Za pomocą komendy dmesg | grep tty sprawdzamy które przerwania przydzieliło interesującemu nas portowi komunikacyjnemu jądro Linuksa. Otrzymamy informację typu:
ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550AW tym przypadku port został skonfigurowany do używania portu 0x02f8 i przerwania 3. Jeżeli nie zgadza się to z ustawieniami w BIOS'ie, należy zmienić ustawienia portu za pomocą komendy setserial, np. jeżeli chcemy zmienić przerwania na 10, możemy to uczynić komendą:
# setserial /dev/ttyS1 port 0x02f8 irq 10Sprawdzamy czy wszystko poszło tak jak zamierzaliśmy:
# setserial -g /dev/ttyS1 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 10Niestety, w większości przypadków jeżeli jądro automatycznie nie przydziela portowi dobrego przerwania, odpowiednie wywołania setserial trzeba wykonywać przy każdym starcie systemu, przed uruchomieniem IrD-y (najlepiej dodać je do skryptół startowych systemu).
Dodajemy po pliku /etc/modules.conf wpis:
alias tty-ldisc-11 irtty alias char-major-161 ircomm-tty
Modyfikujamy plik /etc/sysconfig/irda tak, żeby wyglądał jak poniżej:
IRDA=yes DEVICE=/dev/ttyS1 DISCOVERY=yesJeżeli u nas IrDA jest na innym porcie szeregowym niż /dev/ttyS1 to należy odpowiednio zmodyfikować zmienną DEVICE.
Uruchamiamy IrD-ę:
service irda start.. i sprawdzamy czy został uruchomiony proces irattach:
ps auxw | grep irattachJeśli tak - to wszystko w porządku. Jeśli nie - to problem. Najczęstszą przyczyną jest zły port szeregowy lub złe ustawienia tego portu (np. przerwanie). Komunikat błędu można odczytać z /var/log/messages.
Dodajemy usługę irda do usług uruchamianych przy starcie przez system RedHat (np. przy pomocy narzędzia ntsyv).
cat /proc/net/irda/discoveryJeśli telefon został wykryty to program cat powinien na wyjściu na wyjściu zwrócić informację jak poniżej:
IrLMP: Discovery log: nickname: Nokia 6310i, hint: 0xb125, saddr: 0xb4bd12f0, daddr: 0x0000b624Wartości nickname, hint, saddr i daddr mogą się różnić w zależności od modelu telefonu - ważny jest fakt pojawienia się tej całej linii. W przypadku niewykrycia urządzenia zostanie zwrócony pusty log:
rLMP: Discovery log:Powodem jest zwykle niewłączenie IrD-y w telefonie lub niewidzenie się czytnika IrD-y w telefonie i w komputerze (niektóre telefony mają podczerwień na czubku, a inne - z boku obudowy).
Jeśli telefon został wykryty możemy spróbować się połączyć z telefonem za pomocą programu minicom (tu drobna dygresja: minicom jest programem do komunikacji przez porty/łącza szeregowe. W nomenklaturze komputerowej człon "com", "COM" lub "comm", pochodzący zapewne od słowa "communication", oznacza komunikację szeregową (ang. serial communications), kojarzoną zwykle z portami szeregowymi, tzw. COM-ami w pececie i interfejsem RS-232. Jak się ma IrDA to komunikacji szeregowej? Otóż wiele standardów, w tym także bezprzewodowych, wspiera tryb komunikacji który jest identyczny do tego znanego z RS-232. W przypadku IrD-y tryb ten zwie się IrCOMM (Infared COMM) a w przypadku Bluetootha RFCOMM (Radio Frequency COMM). Dzięki temu istnieje prosta możliwość przeniesienia setek programów wykorzystających komunikację szeregową do nowych zastosowań oraz możliwość tworzenia nowych aplikacji, w oparciu o tradycyjny i opanowany sposób komunikacji. Program minicom nie wie i nie musi wiedzieć, że porozumiewa się poprzez łącze bezprzewodowe. Koniec dygresji). Tu uwaga! Urządzeniem, które należy wskazać programowi minicom jest /dev/ircomm0 a nie /dev/ttyS1. Sprawdzamy czy odpowiada na komendy Hayesa (AT). Odpowiada? Więc IrDA została zainstalowana.
Opisany tu sposób konfiguracji połączenia przez GPRS został zaczerpnięty z dokumentu Mikko Rapeliego pt.: "Of Linux, GPRS Phones, Serial Cable, IrDA, Bluetooth and USB" (http://www.iki.fi/mikko.rapeli/linux_gprs.html) i zmodyfikowany na potrzeby połączenia z siecią Era przez telefon Nokia 6310i. W plikach pozostawiono angielskie komentarze autora, żeby ułatwić ich dostosowanie do innych konfiguracji (np. Plus GSM, telefony Siemensa itd). Thank you, Mikko. Good job.
Żeby skonfigurować program pppd w celu obsługi systemu GPRS należy stworzyć 4 pliki:
Plik /etc/ppp/peers/gprs o zawartości:
# File: gprs # # Description: # Serial cable, IrDA, Bluetooth and USB pppd options for GPRS phones. # Keep pppd attached to the terminal: # Comment this to get daemon mode pppd #nodetach updetach # Opcja updatach oznacza, ze pppd odlaczy sie od terminala dopiero # gdy zostanie nawiazane polaczenie. # Debug info from pppd: # Comment this off, if you don't need more info debug # Show password in debug messages show-password # Connect/Disconnect scripts: connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs-connect-chat" disconnect "/usr/sbin/chat -v -f /etc/chatscripts/gprs-disconnect-chat" # Serial device to which the GPRS phone is connected: # /dev/ttyS0 for serial port (COM1 in Windows), /dev/ircomm0 # /dev/ircomm0 for IrDA, # /dev/ttyUB0 for Bluetooth (Bluez with rfcomm running) and # /dev/ttyUSB0 for USB #/dev/ttyS0 # serial port one #/dev/ttyS1 # serial port two #/dev/ircomm0 # IrDA serial port one #/dev/rfcomm0 # Bluetooth serial port one #/dev/ttyUSB0 # USB serial device, for example Orange SPV # Serial port line speed #115200 # fast enough 57600 # perhaps usefull with IrDA # Hardware flow control: # Use hardware flow control with cable, Bluetooth and USB but not with IrDA. #crtscts # serial cable, Bluetooth and USB nocrtscts # IrDA # Ignore carrier detect signal from the modem: local # IP addresses: # - accept peers idea of our local address and set address peer as 10.0.0.1 # (any address would do, since IPCP gives 0.0.0.0 to it) # - if you use the 10. network at home or something and pppd rejects it, # change the address to something else :10.0.0.1 # pppd must not propose any IP address to the peer! noipdefault # Accept peers idea of our local address ipcp-accept-local # Add the ppp interface as default route to the IP routing table defaultroute # DNS servers from the phone: # some phones support this, some don't. usepeerdns novj nobsdcomp novjccomp nopcomp noaccomp # The phone is not required to authenticate: noauth # Username and password: # If username and password are required by the APN, put here the username # and put the username-password combination to the secrets file: # /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP # authentication. See pppd man pages for details. # Example, Radiolinja operator pap-secrets: # "rlnet" * "internet" * user "erainternet" # Asyncmap: # some phones may require this option. #asyncmap 0xa0000 # No magic: # some phones may require this option. #nomagic # Require PAP authentication: # some phones may require this option. #require-pap
Plik /etc/chatscripts/gprs-connect-chat o następującej treści:
Uwaga! Pod treścią skryptu jest kilka słów wyjaśnienia. Przeczytać koniecznie!
Zawartość pliku:
# File: gprs-connect-chat # # Description: # # Set PDP context CID=1, protocol=IP, APN=internet: # AT+CGDCONT=1,"IP","internet","",0,0 # # Set CID=1 QoS requirements from the network, not supported by Nokia: # AT+CGQREQ=1,0,0,0,0,0 # # Set CID=1 minimum acceptable QoS parameters, not supported by Nokia: # AT+CGQMIN=1,0,0,0,0,0 # # 'Call' CID=1 (activate PDP context one, perform GPRS attach): # ATD*99***1# # # Some phones like the Orange SPV (yes, the Microsoft Smartphone) use this # dial string to start GPRS connection: # ATD*99# # # The actual chat script: TIMEOUT 5 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' \rAT TIMEOUT 12 SAY "Press CTRL-C to close the connection at any stage!" SAY "\ndefining PDP context...\n" OK ATH OK ATE1 OK 'AT+CGDCONT=1,"IP","erainternet"' OK ATD*99***1# TIMEOUT 22 SAY "\nwaiting for connect...\n" CONNECT "" SAY "\nConnected." SAY "\nIf the following ppp negotiations fail,\n" SAY "try restarting the phone.\n"
Uwaga! W skrypcie powyżej występuje następująca linia:
OK 'AT+CGDCONT=1,"IP","erainternet"'Jest ona specyficzna tylko dla oparatora ERA (nazwa APN to "erainternet"). Należy ją zmienić w przypadku innych operatorów. Ustawienia dla polskich operatorów są następujące:
Plus APN: "www.plusgsm.pl" (użytkownik: brak, hasło: brak)
Idea APN: "www.idea.pl" (użytkownik: ppp, hasło: ppp)
Era APN: "erainternet" (użytkownik: erainternet, hasło: erainternet)
Poniższa linia to wywołanie odpowiedniego numeru GPRS:
OK ATD*99***1#Ogólna składnia polecenia wygląda następująco:
ATD*99[*APN[*Protocol[*CID]]]#gdzie zarówno "APN", "Protocol" jak i "CID" są opcjonalne (przyjmują wówczas wartości domyślne). Wartości "Protocol" nie należy ustawiać nigdy - domyślne "PPP" jest jak najbardziej OK. Składnia minimalna wygląda następująco:
ATD*99#Jest to jednak składnia niezalecana przez niektórych producentów telefonów, szczególnie tych, które wspierają możliwość wpisania więcej niż jednego aktywnego punktu dostępu (APN-a). Każdy taki punkt jest wpisany w telefonie pod określoną pozycją (1, 2, ..) - ta pozycja to jest właśnie CID (connection ID). Niektórzy operatorzy wpisują swoje ustawienia w sprzedawanych telefonach, zwykle trzeba to jednak zrobić ręcznie. Najbezpieczniejszą składnią jest taka jak zaproponowano w pliku powyżej:
OK ATD*99***1#czyli domyślny (lub ustawiony wcześniej komendą AT+CGDCONT) APN, protokół PPP i CID o numerze 1. Czasami jednak CID=1 może być zarezerwowany dla np. WAP-u po GPRS-ie (a nie pełnego, modemowego dostępu po Internetu). Wówczas może być konieczne ustawienie CID=2 lub CID=3, np.
OK ATD*99***2#
Plik /etc/chatscripts/gprs-disconnect-chat o zawartości:
# File: gprs-disconnect-chat # # send break exec /usr/sbin/chat -V -s -S ABORT "BUSY" ABORT "ERROR" ABORT "NO DIALTONE" SAY "\nSending break to the modem\n" "" "\K" "" "+++ATH" SAY "\nPDP context detached\n"
Plik /etc/ppp/chap-secrets o zawartości:
# Secrets for authentication using PAP # client server secret IP addresses "erainternet" * "erainternet" *
Plik /etc/ppp/ip-up.local o zawartości:
mv /etc/resolv.conf /etc/resolv.conf-pppbackup cp -f /etc/ppp/resolv.conf /etc/resolv.conf chmod a+r /etc/resolv.conf
Plik /etc/ppp/ip-down.local o zawartości:
mv /etc/resolv.conf-pppbackup /etc/resolv.conf
Uwaga! W przypadku telefonów Nokia 6310/6310i (może też innych?) stwierdziliśmy objaw zrywania połączenia GPRS po ok. dwóch minutach. Żeby się go pozbyć należy otworzyć plik /etc/ppp/options i sprawdzić czy w pliku jest następująca linia (lub podobna):
lcp-echo-failure 4Jeśli jest - należy ją usunąć albo wykomentować. Należy się również upewnić czy opcji tej nie ma w innych plikach odczytywanych przy połączeniu, można to sprawdzić np. programem grep:
grep -r lcp-echo-failure /etc/ppp
Teraz czas na przetestowanie połączenia. Wywołanie komendy:
pppd call gprsspowoduje odczytanie przez pppd pliku /etc/ppp/peers/gprs i uruchomienie zawartych tam instrukcji. Na wyjściu powinniśmy otrzymać komunikaty drukujące kolejne fazy połączenia: komendy AT, wybieranie numeru i otrzymanie adresu IP. Powinny nam zostać również przesłane adresy IP serwerów DNS (ostatni komunikat przed odłączeniem się od terminala). Za obsługą opcja adresów IP serwerów DNS stoi opcja usepeerdns, dzięki kórej adresy IP zostaną umieszczone w pliku /etc/ppp/resolv.conf a następnie przekopiowane przez nasz skrypt /etc/ppp/ip-up.local do /etc/resolv.conf Zakończenie połączenia następuje przez wywołanie:
killall pppdTa barbarzyńska z pozoru metoda zakończenia połączenia sprawuje się wyśmienicie, w tym wywołuje skrypty /etc/ppp/if-down i /etc/ppp/if-down.local (czyli zamyka połączenie w sposób jaki byśmy oczekiwali).
W przypadku połączenia GPRS istotna jest ilość wysłanych i odebranych bajtów. Informację tę można zdobyć wywołując komendę pppstats (przed zakończeniem połączenia!).
W tym podrozdziale zostanie opisana instalacja modemow GPRS Sony Ericsson GC75 i GC75e oraz konfiguracja pppd dla połączenia GPRS IDEA.
Obie karty PCMCIA są standardowo wykrywane jako modemy.Instalacja obu modeli sprowadza się do odpowiedniej konfiguracji jądra.
I tak dla:
Jąder serii 2.4 :
General setup --->
[*] Support for hot-pluggable devices
PCMCIA/CardBus support --->
[M] PCMCIA/CardBus support
[*] CardBus support
[*] Databook TCIC host bridge support
[ ] i82092 compatible bridge support
[*] i82365 compatible bridge support
Character devices --->
PCMCIA character devices --->
[M] PCMCIA serial device support
[ ] SyncLink PC Card supportJąder serii 2.6 :
General setup --->
[*] Support for hot-pluggable devices
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
[M] PCCard (PCMCIA/CardBus) support
[ ] Enable PCCARD debugging
[ ] Enable obsolete PCCARD code
[M] 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
[M] CardBus yenta-compatible bridge support
[ ] Cirrus PD6729 compatible bridge support
[M] i82092 compatible bridge support
[M] i82365 compatible bridge support
[ ] Databook TCIC host bridge support
Device Drivers --->
Character devices --->
Serial drivers --->
[*] 8250/16550 and compatible serial support
[*] Console on 8250/16550 and compatible serial port
[M] 8250/16550 PCMCIA device support
[ ] 8250/16550 device discovery via ACPI namespace Przy tak skonfigurowanym jądru po wsunięciu karty pcmcia do slotu powinniśmy zobaczyc komunikat wygladający mniej wiecej tak:
ttyS0 at I/O 0x3f8 (irq = 3) is a 16550AJeśli korzystamy z X'ow możemy skorzystać z polecenia dmesg.
W tym momencie nasz modem pcmcia jest gotowy do pracy. Została nam jeszcze konfiguracja pppd.
Instalacja Sony Ericsson GC89 mozna podzielic na dwie czesci: modułu wlan i modemu edge/gprs.
Aby zainstalować modem edge/gprs musimy posiadać odpowiednio skonfigurowane jądro. Możemy skorzystać z opisu dla reszty kart pcmcia Sony Ericsson z poprzedniego rozdziału Sekcja 7.13.14.3. Po poprawnym skonfigurowaniu jądra i włożeniu karty pcmcia do gniazda powinniśmy zobaczyć podobny komunikat:
ttyS14 at I/O 0x4000 (irq = 21) is a 16550ANa rożnych komputerach może być to odpowiednio ttyS6, ttyS4, irq = 169, itp... . Następnym krokiem jest upewnienie się, że istnieje dowiązanie /dev/ttyS14, a jeśli go nie ma powinniśmy je utworzyć mknod'em (tak trzeba zrobic w przypadku Debian for Szarp).
# mknod /dev/ttyS14 c 4 78Następnie musimy zainstalować setserial, w przypadku Debiana możemy posłużyć się apt-get.
# apt-get install setserialNasza karta jest "dość wybredna" jeśli chodzi o predkości z jaką bedzie chciala z nami rozmawiać. Mamy dwie możliwośći (bynajmniej tyle udalo sie znaleźć). Podam je odrazu z przykładem konfiguracji portu szeregowego:
# setserial /dev/ttyS14 spd_shi # setserial /dev/ttyS14 baud_base 460800Teraz nasz port szeregowy powinien rozmawiać z predkością 38400 (standardowo ustawiona w minicomie).
# setserial /dev/ttyS14 baud_base 460800Teraz nasz port szeregowy powinien rozmawiać z predkością 230400 (jednak nie zawsze działa, czasami zależy od wersji karty pcmcia, czasami od jądra)
Aby uruchomić moduł wlan, musimy skorzystać z ndiswrapper'a. Dokładny opis instalacji ndiswrappera znajdziemy w Sekcja 7.12.2. Nasze drivery znajdziemy na dołączonej płycie do SE GC89 (Wlan-2k/semwl5.inf).
Konfiguracja pppd dla blueconnect znajduje się w paczce edge-gprs udostępnianej przez Praterm S.A. Po zainstalowaniu jej musimy wypelnić pole z naszym numerem pin w pliku /etc/chatscripts/blueconnect-chat, i sprawdzić czy wszystkie dane w /etc/ppp/peers/blueconnect są poprawne, jak scieżka do modemu i jego predkość. Dla tych którzy nie mają Debiana, poniżej znajduje się zestaw plików do pppd.
/etc/ppp/peers/blueconnect
updetach #debug connect "chat -v -f /etc/chatscripts/blueconnect-chat" 38400 /dev/ttyS14 crtscts local noipdefault defaultroute usepeerdns novj nobsdcomp nopcomp noaccomp #noauth user "erainternet"/etc/chatscripts/blueconnect-chat
ABORT "NO DIALTONE" ABORT "NO ERROR" ABORT "NO ANSWER" ABORT "BUSY" TIMEOUT 60 "" "AT" OK "AT?F" #W miejscu "?" powinien być ampersand, z pewnych względów nie moglem go użyć. OK "AT+CPIN=TWOJ_NUMER_PIN" OK "AT+CMEE=1d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\" OK 'AT+CGDCONT=1,"IP","erainternetd\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\"' OK "ATDT*99***1#"Musimy jeszcze pamietać o wpisaniu do /etc/ppp/pap-secrets
erainternet * erainternetTeraz możemy już wpisać pppd call blueconnect.
Praterm S.A udostępnia pakiet, "edge-gprs_1.0.0-1_i386.deb", który zawiera gotwy zestaw plików konfiguracyjnych pppd. Dla tych którzy nie korzystają z debów, pomocny może być poniższy opis. Pierwszym etapem jest zalogowanie sie do sieci GSM. Mozemy do tego celu użyć programu minicom, lub dopisac te dwie linijki do "chatscript'a". NP.
minicom --noinit /dev/ttyS0A nastepnie po pojawieniu się okienka wpisujemy.
AT+CFUN=1,1 AT+CPIN=YOUR_SIM_CARD_PINPozostalo nam juz tylko nawiązanie połączenia GPRS (EDGE). Powinniśmy stworzyć nastepujące pliki np:
Plik /etc/ppp/peers/edge-gprs
# Debug info from pppd: # You can comment this off, if you don't need more info debug # Path to modem, you should change this line if your modem is connected to /dev/ttySX # and it isn't linked to /dev/modem. See dmesg after put your modem to socket. /dev/modem # Max speed 115200 # Use hardware flow control crtscts # Don't keep pppd attached to the terminal: updetach # Connection options nodeflate noauth user ppp # Path to chat script connect/disconnect connect "/usr/sbin/chat -v -f /etc/chatscripts/edge-gprs-connect-chat" disconnect "/usr/sbin/chat -v -f /etc/chatscripts/edge-gprs-disconnect-chat" # IP address configuration :20.0.0.1 noipdefault usepeerdns novj novjccomp nobsdcomp defaultroute
Plik /etc/chatscripts/edge-gprs-connect-chat Dla wszystkich modelów Sony Ericsson:
# You have to change the line "AT+CPIN="YOUR_SIM_CARD_PIN" # If you use minicom to logged to gsm network delete all "\d", and line # OK 'AT+CFUN=1,1' and OK 'AT+CPIN="YOUR_SIM_CARD_PIN"' # TIMEOUT 5 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' SAY "Press CTRL-C to close the connection at any stage!" TIMEOUT 30 '' '\rAT' OK 'AT+CFUN=1,1' OK 'AT+CPIN="YOUR_SIM_CARD_PIN"' OK 'ATE1\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d' SAY "\nWaiting for logged to gsm network..." SAY "\ndefining PDP context...\n" OK '\d\d\d\d\d\d\d\d\d\d\dAT+CGDCONT=1,"IP","www.idea.pl","",0,0' OK 'AT+CBST=81,0,1;+CHSN=6,0,0,0' OK 'ATD*99***1#' TIMEOUT 10 SAY "\nwaiting for connect...\n" CONNECT "" SAY "\nConnected." SAY "\nIf the following ppp negotiations fail,\n" SAY "try again. Sometimes the waiting time to logged to gsm network is to short.\n"
Pojedyńczy znak "\d", wywoluje uspienie pppd na 1 sekunde.Użyta ilość "\d" powinna wystarczyc na zalogowanie sie do sieci gsm, jednak w niektorych przypadkach (slaby zasieg) ten czas moze okazac sie za krotki, mozemy wtedy dopisac jeszcze kilka "\d".
Teraz możemy już wywołać polecenie pppd call edge-gprs.
| Poprzedni | Spis treści | Następny |
| Konfiguracja połączenia PLIP | Początek rozdziału | Diagnozowanie problemów z pppd |