Artykuî ten postanowiîem napisaê po tym, gdy pewnego piëknego dnia, gdy byîem szaleïczo zajëty kompilacjâ paru programów, na IRCu pewien osobnik (zainteresowani wiedzâ o kogo chodzi) truî mi D w sprawie modemów. Tak wiëc mam nadziejë, ûe tekst ten bëdzie wystarczajâcym (jak na poczâtek) úródîem wiedzy, dla takich jak on, a moûe i nie tylko.

Oczywiôcie pewien poziom wiedzy jest wymagany - nie bëdë mówiî jak podîâczyê modem do Amigi - no moûe tylko, ûe moûna podîâczyê kaûdy modem zewnëtrzny przez zîâcze szeregowe, albo co oznacza 8N1 - no w kaûdym razie tak ma byê... - to temat na inny - o wiele dîuûszy artykuî dotyczâcy oprogramowania, jak to mówiâ - to juû inna bajka.

Do niedawna jeszcze wybranie rodzaju modemu byîo doôê proste - moûna byîo wybraê modem 300, 1200 lub 2400 bps (bodów na sekundë) i wszystkie byîy zgodne ze standardem Hayes Smartmodems, no ale czasy sië zmieniajâ... Dziô modemy nie tylko sâ duûo szybsze, ale zostaîy wyposaûone w kompresjë danych i korekcjë bîëdów, fontanne i lâdowisko dla helikoptera. Wîaônie przez to nazwa modemu dziô jest rozszerzona o róûne takie V.32, V.32bis, V.42, V.42bis, MNP4, MNP5, LAP-M, itd. itd. I CO TO DO DIABÎA NIBY MA ZNACZYÊ???

Na dobrâ sprawë aby zrozumieê te wszystkie krzaczki naleûy zaczâê od rozróûnienia protokoîów. Dzielimy je na:
a) protokoîy modulacji
b) protokoîy korekcji bîëdów
c) protokoîy kompresji danych

Czy zastanawialiôcie sië kiedyô co w ogóle oznacza MODEM? To oczywiôcie skrót (bo amerykanie wszystko lubiâ skracaê) od MOdulator/DEModulator. Modem konwertuje sygnaî cyfrowy otrzymywany z komputera na sygnaî analogowy, który moûe byê przesyîany liniami telefonicznymi (lub oczywiôcie na odwrót).

Specyficzne techniki uûywane do kodowania sygnaîu cyfrowego sâ nazywane protokoîami modulacji. Definiujâ one metody kodowania i prëdkoôê transmisji danych. Obecnie modemy umoûliwiajâ z korzystania wiëcej niû jednego protokoîu modulacji - stâd moûliwoôê îâczenia sië modemów np. 2400 i 19200 (oczywiôcie w prëdkoôci dostëpnej dla wolniejszego)

Podstawowa prëdkoôê modemu (bez kompresji danych) zaleûy ôciôle od protokoîów jakie on zna. Za szybkie modemy (High-Speed Modems) uwaûa sië modemy, które umoûliwiajâ poîâczenia w prëdkoôciach 9600 bodów lub wyûej. Modemy 2400, które posiadajâ kompresjë danych niekiedy mogâ mieê osiâgi plasujâce je w okolicach 9600 (np. przy ôciâganiu tekstu ascii), lecz nawet wtedy nie moûna o nich powiedzieê, ûe sâ High Speed.

Modemy 2400 zgodne ze standardem Hayesa zwykle sâ zgodne z nastëpujâcymi protokoîami modulacji: Bell 103 (300 bps standard w stanach) Bell 212A (1200 bps standard w stanach) CCITT V.22 (1200 bps standard poza stanami) CCITT V.22bis (2400 bps standard miëdzynarodowy)

Niektóre z nich sâ zgodne takûe z: CCITT V.21 (300 bps standard poza stanami) CCITT V.23 (1200/75 and 75/1200 bps, uûywany w Europie)

W przeszîoôci (zamierzchîej;) wiëkszoôê modemów 2400 nie miaîa korekcji bîëdów, ani kompresji danych. Dzisiaj modemy 2400 juû wychodzâ z uûycia (i sië nie dziwië - 1MB ôciâga sië.... GODZINË!). Co prawda niektóre firmy jeszcze produkujâ ten rodzaj sprzëtu, lecz dodajâ im juû i korekcjë bîëdów i kompresjë danych, a niektóre produkujâ modemy kompatybilne z faksem... Tylko co to za faks - 6 (!!!) razy wolniejszy od oryginaîu, a poza tym TROCHE mniej wygodny.

Istnieje kilka protokoîów obsîugujâcych przez modemy High-Speed: sâ to V.32, V.32bis i V.34 (a takûe inne, lecz ich niestety nie znam :() wszystkie sâ ustanowione przez fhransuskie CCITT.

Pierwszy z nich jest standardem dla modemów pracujâcych w prëdkoôciach 9600 (i 4800) bodów. Standard ten zostaî przyjëty przez CCITT juû w 1984 roku, lecz dopiero na poczâtku lat 90-tych modemy uûywajâce tego standardu weszîy na rynek. Wynikaîo to z szalonych kosztów (modemy te byîy KILKNASTOKROTNIE droûsze od modemów raptem 2-4 krotnie wolniejszych). Obecnie praktycznie wszystkie modemy 9600 bps (lub szybsze) posiadajâ emulacjë tego standardu. Staî sië on wîaôciwie standardem ogólnoôwiatowym i nawet modemy U.S. Robotics b. czësto znajâ go.

Drugi zostaî ustanowiony na poczâtku 91 roku jako standard dla modemów 14400 (taki jak mój :) ). Oczywiôcie modemy obsîugujâce V.32bis mogâ dziaîaê w niûszych prëdkoôciach (12000, 9600, 7200, 4800), poza tym jest zgodny z V.32 (ale tylko w jednâ stronë - z oczywistych wzglëdów).

Trzeci z nich powstaî w 93 jako standard dla modemów 28800. Chyba nie muszë mówiê, ûe jest zgodny z poprzednikami.

O ile przy modemach 2400 wszyscy byli zgodni co do tego, ûe V22bis jest tym co tygrysy lubiâ najbardziej i praktycznie wszyscy producenci go zaimplementowali, o tyle przy szybszych modelach powstaîy przynajmniej 3 (!!!) konkurencyjne standardy - V32.bis ustanowiony przez CCITT, HST ustanowiony przez U.S. Robotics i PEP Telebita.

Poczâtkowo standard HST byî przeznaczony (w 86 roku) dla modemów 9600 bodów U.S. Robotics poprawiîa go jednak rozszerzajâc go o prëdkoôc 14400 bodów w 89, 16800 w 92 i 19200 w 93. U.S.Robotics produkuje obecnie swoje modemy w trzech rodzajach:
- Courier HST (który obsîuguje TYLKO standard HST)
- Courier V.32bis (TYLKO V.32bis)
- Courier HST Dual Standard (oba) - szczerze polecam

Nie muszë chyba mówiê, ûe jeôli mieszkasz w Europie to nie powinieneô kupowaê tego pierwszego - standard ten jest stosowany praktycznie tylko w stanach, a najlepiej kupowaê ten trzeci rodzaj - wtedy bëdziesz mógî bez trudu podîâczyê sië i z jednym i z drugim...

W 1985 Telebit wprowadziî nowy protokóî nazwany PEP (Packetized Ensemble Protocol), poczâtkowo zdobyî duûe uznanie wôród uûytkowników UNIXa gdyû wersja Plus tego protokoîu byîa zgodna z protokoîem g UUCP, a poza tym protokóî ten doskonale sië sprawowaî przy duûych szumach na linii (czyli coô dla nas). Jednakûe protokóî ten zostaî wyparty przez inne gdyû jego prëdkoôê nie wykracza poza 14400, co obecnie nie jest szczytem marzeï, a tylko standardem. Jako godny uwagi moûna uznaê model Telebit WorldBlazer, który podobnie jak Courier HST Dual Standard obsîuguje poza swoim "rodzimym" protokoîem (PEP) takûe V.32bis, tymniemniej nie dorównuje konkurentowi popularnoôciâ.

Nieco póúniej na rynek modemów HS wszedî, co dziwne, Hayes (jakby nie patrzeê renomowana firma zwiâzana z modemami), gdyû dopiero w 1987 wprowadziî serië V Smartmodemów 9600. Model ten uûywaî protokoîu Express 96, jednakûe nie byî to produkt tak udany jak modemy U.S. Robotics czy Telebita.

Po Hayesie na rynku zawitaî w 1991 CompuCom, ze swoim SpeedModem Champ. Byî to modem o prëdkoôci 9600 bps pracujâcy w protokole CSP (CompuCom Speed Protocol). Byî to jedyny model 9600, który byî TAÏSZY od analogicznych modemów pracujâcych w V.32bis. Ponadto byî czëôciowo kompatybilny z Hayesem, tzn. îâczyî sië z nim w prëdkoôci 2400 obsîugujâc MNP2-MNP4, oraz MNP5.

Oczywiôcie istnieje jeszcze wiele innych protokoîów modulacji, jednakûe wymienienie ich wszystkich w tym miejscu mijaîoby sië z celem, gdyû ich iloôci modemów ich obsîugujâcych sâ wrëcz ôladowe.


Dwa modemy mogâ sië poîâczyê tylko wtedy gdy obydwa posiadajâ taki sam protokóî modulacji. Aby mogîy poîâczyê sië w duûych prëdkoôciach, muszâ posîugiwaê sië takim samym protokoîem, dlatego niektóre modemy, pomimo tego, ûe majâ napisane np. 14400 na opakowaniu, mogâ nie îâczyê sië w maksymalnej prëdkoôci, a np. w 2400 (V.22bis jest juû praktycznie wszëdzie dodawany). I tak np. posiadacz Courier HST nie bëdzie mógî sië poîâczyê z posiadaczem Courier V.32bis w prëdkoôciach przekraczajâcych 2400 pomimo, ûe obydwaj uûytkownicy posiadajâ modemy TEGO SAMEGO PRODUCENTA.

W obecnej chwili jest rzeczâ bardzo nierozsâdnâ kupowanie modemu, który nie jest zgodny ze standardem V.32bis (lub choêby V.32), gdyû praktycznie wyklucza to taki modem z uûytkowania (umówmy sië, ûe 2400 czyli V.22bis to juû przeszîoôê do której sië nie wraca i stara sië o niej jak najszybciej zapomnieê).

Rzeczâ wskazanâ byîoby, kupienie modemów jeszcze szybszych (16800+) posiadajâcych protokóî V.34 lub pochodne, i/lub teû modemy z serii "Dual", bo jak wiadomo - im szybciej tym lepiej

Myôlë, ûe juû wiadomo co oznacza toto V.32/V32bis ;), wiëc zostawmy juû protokoîy modulacji i przejdúmy do protokoîów korekcji bîëdów.

W chwili obecnej wszystkie modemy HS posiadajâ specjalne protokoîy odpowiedzialne za korekcjë bîëdów i kompresjë danych. Moûe ktoô spytaê: po co w ogóle sprawdzaê dane... Hmmmm.... Choêby po to, aby móc pogadaê z ludúmi na IRCu wysyîajâc im w miarë zrozumiaîe sîowa, a nie niekontrolowany beîkot (choê niektórym sam MNP nie wystarczy ;) )

W chwili obecnej sâ uûywane wîaôciwie tylko 2 protokoîy kontroli bîëdów - sâ to: V.42 i MNP4. Protokoîy z serii MNP (Microcom Networking Protocol) powstaîy w firmie Microcom. MNP2 do MNP4 sâ to protokoîy korekcji bîëdów, zaô MNP5 jest protokoîem kompresji danych o którym bëdë pisaî niûej. V.42 zostaî przyjëty przez CCITT i jako taki jest bardzo ciekawym tworem, gdyû posiada jakby dwa rodzaje korekcji: pierwszy - LAP-M (Link Acces Procedure for Modems) jako gîówny i dodatkowo jest zamieszczony MNP4 (!!!), dziëki czemu jest moûliwe poîâczenie modemu posiadajâcego MNP4 z modemem posiadajâcym V.42 w trybie wîâczonej korekcji bîëdów.

Modemy z V.42 (lub MNP2-4) automatycznie odfiltrowywujâ szumy linii i automatycznie retransmitujâ dane które ulegîy uszkodzeniu podczas poîâczenia. Spróbuj kiedyô poîâczyê sië z modemem, który NIEMA MNP (np. na Politechnice Wrocîawskiej niektóre modemy tego nie majâ) - momentalnie otrzymasz na ekranie chaos nic nie znaczâcych znaków (no chyba, ûe byîeô wyjâtkowo grzeczny, dzwonisz w nocy i umyîeô zëby po kolacji).

Proces filtrowania danych przez V.42 (i MNP2-4) jest zbliûony do procesu sprawdzania poprawnoôci danych przez protokoîy transmisji (takie jak Xmodem, Ymodem, Zmodem, etc.), oba modemy uûywajâ tego samego algorytmu aby sprawdziê, czy otrzymane dane aby na pewno zgadzajâ sië z wysîanymi. Jeôli wystâpiâ róûnice dane sâ wysyîane jeszcze raz. Tzn. przed wysîaniem modem z którego wysyîane sâ dane liczy sumë kontrolnâ, wysyîa dane, wysyîa sumë - modem docelowy odbiera dane, odbiera sumë, zlicza sumë kontrolnâ i jeôli sumy sië nie zgadzajâ prosi o powtórzenie transmisji.

No dobra, ale w takim razie po co MNP, skoro taki Zmodem i tak poprawia bîëdy (i tu uûywajâc najczëôciej CRC-32)? Otóû po to, ûe Zmodem jest wîâczany TYLKO podczas transmisji danych (upload/download), a gdy np. czytasz pocztë, czy siedzisz na IRCu, to jest wyîâczony... a wtedy.... budzâ sië demony...

Niekiedy dziëki MNP moûesz przyspieszyê swój transfer i to bez ûadnych specjalnych sztuczek. Jak to zrobiê? To proste... Normalnie wiëkszoôê BBSów pracuje w Zmodemie, który jest naprawdë ôwietnym i uniwersalnym protokoîem transmisji danych, lecz który wykonuje "drugi raz" tâ samâ robotë co MNP, wiëc jeôli jesteô pewien, ûe poîâczyîeô sië z wîâczonâ korekcjâ bîëdów moûesz skorzystaê z protokoîu Ymodem-g, który w wiëkszoôci jest szybszy od Zmodemu miëdzy innymi dlatego, ûe NIE POSIADA ÛADNEJ wewnëtrznej kontroli bîëdów.

Jeôli jednak chcesz byê 100% pewien przesîanych danych, to korzystaj z Zmodemu, który uûywa CRC do korekcji. Poza tym jeôli podczas transmisji np. Twoja mîodsza siostra podniesie sîuchawkë to Ymodem-g zerwie transmisjë, zaô Zmodem poczeka, aû jâ zatîuczesz, odîoûysz sîuchawkë na wideîki i zacznie ôciâgaê od miejsca w którym skoïczyî. Poza tym, jeôli siostra okaûe sië silniejsza i bëdziesz musiaî jednak sië rozîâczyê to przy ponownym poîâczeniu Zmodem pozwoli Ci ôciâgnâê tylko të czëôê pliku, która sië nie ôciâgnëîa ostatnio (i sam poîâczy oba pliki - stary i nowy).

Dodatkowo modem posiadajâcy MNP2-4 niejako sam z siebie przyspiesza transmisjë danych o okoîo 20%. Jak to sië dzieje? Otóû normalnie 1 bajt danych przy przesyîaniu zajmuje nie 8 a 10 bitów, zaô modemy posiadajâce V.42 (MNP2-4) przesyîajâ bajt jako 8 bitów i tylko sprawdzajâ czy caîy pakiet (najczëôciej sâ to pakiety 1, 2... 8 KB) dotarî bez bîëdów.

Dodatkowymi protokoîami mogâcymi zwiëkszyê szybkoôê przesyîania danych sâ MNP5 i V.42bis. Sâ to protokoîy kompresji danych i sâ one implementowane we wszystkich obecnie produkowanych modemach. Posiadanie przez modem protokoîu MNP5 (lub V.42bis) oznacza, ûe wszystkie dane, jakie przez niego przechodzâ sâ od razu pakowane i dopiero póúniej wysyîane. Po odebraniu na miejscu sâ rozpakowywane i dopiero póúniej przesyîane do docelowego komputera.

Warto tu zaznaczyê, ûe nie spotyka sië modemów, które posiadaîyby protokoîy kompresji danych, a nie posiadalyby protokoîów korekcji bîëdów, z resztâ (jak podobno wynika ze specyfikacji) MNP5 wymaga obecnoôci MNP4, a V.42bis obecnoôci V.42. Warte teû odnotowania jest, ûe o ile V.42 zawieraîo w sobie MNP2-4 o tyle V.42bis nie jest zgodne z MNP5, jednakûe znakomita wiëkszoôê modemów posiadajâcych V.42bis posiada takûe MNP5.

Maksymalny stopieï kompresji (oczywiôcie czysto hipotetyczny) w wypadku MNP5 wynosi 2:1. Oznacza to, ûe modem 9600 wyposaûony w ten protokóî moûe osiâgaê prëdkoôci transmisji jak 19200 (przy peîni ksiëûyca i wiatrze w plecy). Maksymaly stopieï kompresji w wypadku V.42bis wynosi 4:1. Juû chyba jasne dlaczego niektóre modemy posiadajâce V.32 (9600) mogîy mieê osiâgi jak 38400. Nie naleûy tu oczywiôcie popadaê w skrajny optymizm. Podane stopnie kompresji sâ czysto hipotetyczne i w rzeczywistoôci raczej sporadycznie spotkamy sië z takimi gwaîtownymi przyspieszeniami. O wiele czëôciej MNP5 (v.42bis) bëdzie SPOWALNIAÎ transfer. Bëdzie to sië dziaîo za kaûdym razem gdy bëdziemy przesyîaê plik JUÛ skompresowany (np. FatAgnus.LZX) - MNP nie doôê ûe nie nic skompresuje to jeszcze WYDÎUÛY dane. Dlatego czasem warto WYÎÂCZYÊ kompresjë. Programy sîuûâce do kompresji sâ obecnie duûo bardziej wydajne niû MNP5 i V.42bis.

Czasem, jeôli przesyîasz plik tekstowy, to na prëdkoôê przesyîania ma wpîyw teû prëdkoôê portu szeregowego (no bo co z tego, ûe modem ma 64 kbps jeôli port dziaîa w prëdkoôci np. 9600 bps). Dlatego naleûy prëdkoôê portu ustawiê ZAWSZE na moûliwie najwyûszâ (a najlepiej 38400 - przy korzystaniu z modemów V.32/V.42bis).

Powstaje jednak nowy problem. Gdy komputer przesyîa wiëcej danych niû modem jest w stanie przesîaê musi on wiedzieê, w którym momencie przestaê, aby dane nie byîy tracone. Jest kilka metod kontroli przesyîania danych miëdzy modemem a komputerem.

Modemy HS najczëôciej posiadajâ dwie z nich:
- sprzëtowâ (CTS/RTS)
- programowâ (XON/XOFF) Oczywiôcie nie muszë chyba mówiê, ûe ta pierwsza jest lepsza.

W sumie to kontrola przesyîania danych musi wystëpowaê trzykrotnie:
- przy przesyîaniu z komputera do modemu
- przy przesyîaniu miëdzy modemami
- przy przesyîaniu z modemu do docelowego komputera

RTS/CTS i XON/XOFF sâ uûywane tylko w pierwszym i trzecim wypadku. Sprzëtowa kontrola (kontrolë przesyîu danych po angielsku nazwano to HANDSHAKING) sprowadza sië do tego, ûe sygnaîy RTS (Request To Send) i CTS (Clear To Send) charakteryzujâ sië róûnymi sygnaîami (poziomami napiëcia) wysyîanymi do RS232, dziëki czemu komputer "wie" czy moûe wysyîaê nastëpny pakiet. Dzieje sië tak gdyû modem, gdy jest gotowy do odbioru nowych danych wysyîa do komputera sygnaî CTS, gdy bufor modemu jest juû zapeîniony (zakîadam, ûe modem jest wolniejszy od îâcza modem-komputer), wtedy CTS przestaje byê wysyîany i komputer oczekuje aû znowu sië pojawi. Sygnaî RTS jest uûywany przez komputer, gdy nie jest wstanie "przetrawiê" tak szybko informacji jak podaje mu modem. Wtedy wysyîa sygnaî RTS do modemu, a modem "prosi" o wstrzymanie transmisji do czasu aû komputer bëdzie w stanie odebraê dane, które juû doszîy. Wyîâczenie RTS powoduje wznowienie transmisji.

XON/XOFF jest programowâ metodâ uzyskania dokîadnie tego samego co RTS/CTS. Uzyskuje sië to przez to, ûe wysyîane sâ specjalne bajty (XON ctrl-Q, XOFF cltr-S - UNIX rzondzi...) odpowiedzialne za wstrzymanie/uruchomienie transmisji. Przy tej metodzie mogâ powstaê pewne problemy, jeôli przesyîany plik zawiera te kombinacje (np. pliki binarne). Wtedy moûe dojôê nawet to zawieszena transmisji, jednak wiëkszoôê programów obsîugujâcych XON/XOFF ma wîasne dodatkowe zabezpieczenia majâce na celu wyeliminowanie moûliwoôci powstania takich sytuacji.

Teraz moûe przejdë do tematu doôê czësto poruszanego przez przyszîych uûytkowników modemów. Mianowicie: "Jaki kupiê modem? "

Odpowiedú jak zwykle nie jest prosta. Przede wszystkim naleûy zadaê sobie pytanie, ile moûemy wydaê na tâ zabawkë. Wolne modemy sâ obecnie wrëcz przekomicznie tanie i taki 2400 z MNP2-5 moûna juû kupiê za 100 zl. Inna sprawa, ûe koszt uûytkowania takiego modemu jest straszny (1MB danych kosztuje tak circa about 3 nzî i to w sprzyjajâcych warunkach). Dlatego w dniu dzisiejszym kupowanie modemu wolniejszego od 9600 caîkowicie mija sië z celem (przy modemie 28800 koszt 1MB to 25 gr - oczywiôcie wszystko przy poîâczeniach lokalnych).

Dlatego gdy kupujesz modem zwróc uwagë czy jest zgodny z V.32 i/lub V.32bis. Jest to chyba najwaûniejsza cecha. Oczywiôcie, jeôli nie chcesz wydaê 300 zî na szybszy model to kup 2400, ale wtedy zwróê uwagë czy jest zgodny z V.22bis. Kupowanie modemów niezgodnych z powyûszymi protokoîami jest nierozsâdne, gdyû moûe sië okazaê, ûe pomimo, ûe masz superhiperczad maszynë to i tak sië z nikim nie poîâczysz. W sumie najlepiej jest kupowaê modele "DUAL", lecz jak dotâd nie widziaîem jeszcze takich we Wrocîawiu, a i chyba w Polsce nie wystëpujâ zbyt czësto.

Jeôli nadal sâdzisz, ûe 2400 z MNP5 (V.42bis) to dobry pomysî, to sië mylisz. Obecnie modemy wolniejsze od 9600 to zdecydowanie przeûytek. Niektóre BBS nawet nie pozwalajâ na poîâczenie sië w tak niewielkich prëdkoôciach.

Przy kupnie uwaûaj, gdyû niektóre modemy, które posiadajâ V.32bis nie posiadajâ ani MNP ani V.42, na caîe szczëôcie jest ich coraz mniej, ale moûesz znaleúê modele które:

1. nie majâ ani MNP2-4 (V.42) ani MNP5 (V.42bis)
2. majâ MNP2-5, ale nie majâ V.42/V.42bis
3. majâ jakieô wîasne protokoîy zamiast MNP i V.42
4. majâ V.42 ale nie V.42bis (MNP2-4, ale nie MNP5)

Niektórzy mogâ mówiê, ûe dany model "osiâga prëdkoôci" 38400 bps. Moûe (ale nie musi) oznaczaê to ûe jest to V.32/V.32bis z V.42bis i po rozpakowaniu okazuje sië, ûe zamiast modemu np. 28800 mamy 9600. Jeôli bëdâ mówiê ûe modem osiâga 9600 bps to moûe znaczyê, ûe kupujemy wîaônie 2400 z V.42bis. Tak wiëc uwaga na "zalety".


Kiedy juû kupisz modem (zakîadam, ûe kupiîeô 9600+ z V.42bis najrozsâdniejszy wybór moim zdaniem) to naleûy go skonfigurowaê. Podane niûej przykîady obejmujâ modemy, które nie posiadajâ wîasnej pamiëci w której mogîyby skîadowaê konfiguracjë. Moûemy powiedzieê, ûe modem jest poprawnie skonfigurowany gdy:
- modem poprawnie sië inicjalizuje (po ATZ odpowiada OK)
- da sië gdzieô tym modemem poîâczyê

W jaki sposób skonfigurowaê modem? W sumie to naleûy:
1. Wîâczyê V.42bis (kompresja danych)
2. Wîâczyê V.42 (korekcja bîëdów)
3. Ustawiê w poprawny sposób obsîugë DTR (Data Terminal Ready) i CD (Carrier Detect)

Ustawia sië to w róûny sposób i tu odsyîam wszystkich chëtnych do podrëcznika uûytkownika po szczegóîy i nie gwarantujë, ûe sposób podany niûej bëdzie dziaîaî. Poza tym wiëkszoôê modemów fabrycznie jest tak ustawiona, ûeby moûna byîo z nimi pracowaê (np. sâ ustawione w ten sposób, aby po wîâczeniu pracowaîy z wîâczonym V.42bis, jeôli jednak tak nie jest to komenda AT&F2 to zmieni).

Co do DTR i CD to prawie na pewno trzeba bëdzie trochë pozmieniaê (chociaû niekoniecznie - zaleûy od modemu), gdyû wiëkszoôê modemów (szczególnie tych starszych) jest ustawionych w trybie &C0&D0, ze wzglëdu na niektóre programy komunikacyjne (oczywiôcie na grzybie). &D0 powoduje, ûe modem ignoruje wszelkie zmiany w DTR, a &C0 powoduje, ûe modem narzuca ciâgîy sygnaî CONNECTION DETECT, nawet jeôli jest odîâczony z sieci. I niech ktoô powie, ûe to ma sens.

Wiëkszoôê programów wymaga ustawienia &C1&D2, co oznacza, ûe modem bëdzie uwzglëdniaî zmiany w DTR i sprawdzaî, czy rzeczywiôcie byîo poîâczenie. O ile &C1 jest ustawieniem praktycznie zawsze poûâdanym, o tyle NIEKIEDY zamiast &D2 naleûy pozostawiê &D0.

Przykîadowy ciâg inicjujâcy modem mógîby wyglâdaê nastëpujâco:

AT&F2&C1&D2

oczywiôcie NIE MUSI on tak wyglâdaê.

Niektóre programy uûywajâ dîuûszych/krótszych ciâgów i jeôli one dziaîajâ, to nie wiedzâc co robisz, NIE ZMIENIAJ ICH. Byê moûe w innym artykule opiszë (z grubsza) komendy ATI, ûeby byîo wiadomo, która komenda co oznacza.

Jeôli jednak nie moûesz nigdzie sië poîâczyê to rzeczywiôcie powinieneô coô pozmieniaê. Troubleshooting:

Przypadek 1. Dzwonisz do BBSu i juû sîyszysz charakterystyczny pisk i... disconnect... i tak za kaûdym razem po XX sekundach. Wynika to z tego, ûe niektóre modemy majâ ustawiony standardowo czas oczekiwania na poîâczenie na XX sekund i po prostu do poîâczenia nie dochodzi - modem rozîâcza sië na parë sekund PRZED poîâczeniem

Rozwiâzanie: Naleûy ustawiê rejestr 7 na wiëkszâ wartoôê (np. 90 sekund). Przykîad:

AT&F2&C1&D2S7=90

Osobiôcie nie spotkaîem sië z przypadkiem, kiedy poîâczenie nastëpowaîo po wiëcej niû 30-60 sekundach, no ale...

Przypadek 2: Nie moûesz sië poîâczyê przy wîâczonym MNP5 (V.42bis), natomiast przy wîâczonym MNP4 (V.42) wszystko jest OK. Albo chcesz w ogóle odîâczyê MNP5, ûeby szybciej przesyîaê dane.

Rozwiâzanie: Wyîâczyê MNP5? Nic prostszego:

AT&F1&U0

Przypadek 3: Czasem nie moûna korzystaê z RTS/CTS z winy modemu - jak wiëc wyîâczyê RTS/CTS na rzecz XON/XOFF.

Rozwiâzanie: Wyîâczenie odbywa sië przez &K4 np.

AT&F2&K4&C1&D2


Moûe jednak wspomnë trochë o ATI. Jest to rodzaj jëzyka rozpoznawany przez modem. Gîównym rozkazem jest AT - oznacza on dla modemu, ûe ciâg który otrzymaî jest rozkazem, który ma wykonaê. Po AT mogâ wystâpiê trzy rodzaje rozkazów:
- znak "&" i litera z cyfrâ np. &M1
- litera i cyfra np. M1 (UWAGA! &M1 i M1 to nie to samo! &M1 oznacza pracë asynchronicznâ modemu, a M1 oznacza wîâczenie dúwiëku do czasu uzyskania poîâczenia).

Np. ATZ powoduje reset modemu.

- Sr=n gdzie "r" oznacza numer rejestru modemu do zmiany a "n" nowâ jego wartoôê.

Po uzyskaniu poîâczenia gdy juû chcesz coô ôciâgnâê/wysîaê program spyta sië o rodzaj protokoîu (File Transfer Protocol), który ma zostaê uûyty. Majâ one na celu bezbîëdne przesîanie danych. Jeôli wystâpi jakiô bîâd w którymô z przesyîanych pakietów to automagicznie poproszâ o powtórzenie danych. Protokoîów tych jest bardzo duûo, lecz postaram sië przybliûyê te najbardziej popularne:

1. ASCII

Zostaî wymyôlony do transmisji plików ASCII. W sumie to do wysyîania plików tego typu nie potrzeba ûadnego protokoîu, lecz niekiedy jest to bardzo uûyteczne (np. gdy posyîamy komuô emailowy list, który napisaliômy juû wczeôniej)

2. Xmodem

Naleûy do najbardziej rozpowszechnionych protokoîów. Uûywa pakietów po 128 bajtów, do których doîâcza sumë kontrolnâ (w póúniejszej odmianie XmodemCRC zastâpiono prosty algorytm liczenia sumy na CRC (Cyclic Redundancy Check)). Obecnie Xmodem stara sië wysyîaê najpierw CRC i dopiero gdy odbiorca nie umie go rozkodowaê wysyîa uproszczonâ sumë kontrolnâ.

3. Xmodem-1K

Jest to przeróbka z XmodemCRC w której to zmieniono wielkoôê pakietu na 1KB. Niekiedy jest mylony z Ymodemem.

4. Ymodem

Jest to wîaôciwie Xmodem-1K tyle ûe pozwala na transmisjë wiëcej niû jednego pliku jeden po drugim. Niekiedy nazywany Ymodem Batch

5. Ymodem-g

Jest to jedna z wersji Ymodemu. Zostaîa zaprojektowana dla modemów, które posiadajâ korekcjë bîëdów. Po prostu nie posiada wîasnej. Wysyîa po kolei pakiety 1KB nie baczâc na sumy kontrolne. Jednakûe jeôli którykolwiek blok zostaî uszkodzony caîa transmisja jest zatrzymywana.

6. Zmodem

Jest to chyba najlepszy protokóî jaki zostaî wymyôlony (choê niektórzy wolâ hydrë), jest bardzo szybki a jednoczeônie jest odporny na uszkodzenia danych podczas transmisji. Poza tym, ûe kaûdy z bloków moûe zostaê powtórzony, to dodatkowo, jeôli transmisja zostaîa przerwana (np. rodzice podnieôli sîuchawkë od telefonu) to po ponownym poîâczeniu moûna rozpoczâê transmisjë od miejsca w którym zostaîa zerwana.

7. Hydra

Doôê popularny protokóî wôród Amigowskiej braci - pozwala na jednoczesne wysyîanie i odbieranie plików, lub transfer pliku i jednoczeônie np. chat z sysopem. Osobiôcie jakoô za nim nie przepadam - wydaje mi sië wolniejszy od poprzedniego, a poza tym nie spotkaîem, jeszcze biblioteki xpr obsîugujâcej ten protokóî (i ciekawe czy programy typu Terminusa czy Ncomma w ogóle by "ruszyîy").

8. Kermit

Zostaî wymyôlony na Columbia University. Chodziîo o stworzenie standardowego protokoîu do uûytku pomiëdzy róûnymi typami komputerów. Jest powszechnie montowany w systemach UNIXopodobnych. Jednakûe jest bardzo (wg. mnie) userhostile, co powoduje, ûe jest coraz czëôciej wypierany przez Zmodem (sz/rz - send zmodem/receive zmodem)

Osobiôcie najchëtniej korzystam z Zmodemu, gdyû îâczy szybkoôê i niezawodnoôê, zaô z pozostaîych protokoîów tylko gdy NAPRAWDË muszë.


Zamiast podsumowania parë dobrych rad:

- Jeôli masz modem z V.42bis na pewno chcesz uzyskaê maksymalny przepîyw danych. W tym celu ustaw w programie transmisjë na moûliwie duûâ. I tak np. przy modemie 9600 i V.42bis ustaw jâ na 38400, przy 9600 i MNP5 na 19200. Chodzi o to, ûe jeôli bëdzie zbyt niska to pomimo potencjalnie wyûszych osiâgów nie bëdziemy wstanie ich nigdy osiâgnâê.

- Innâ sprawâ jest ustawienie prëdkoôci prez port szeregowy. Nie wolno o niej zapomnieê gdyû wtedy wiëkszoôê czasu modem bëdzie traciî na przesîanie danych do komputera.

- Naleûy korzystaê kiedy tylko moûliwe z RTS/CTS, jest to szybsze niû XON/XOFF i o wiele mniej zawodne.

- Ustawiaj S7 na 60 lub wiëcej.

- Uûywaj (o ile jest to u Ciebie moûliwe) wybierania tonowego (komenda ATDT zamiast ATDP).

- Jeôli dzwonisz za miasto nie zapominaj o czekaniu na sygnaî ("W") np. dzwoniâc z Wrocîawia do Warszawy uûywaj: ATDT 0W22 numer_telefonu. Ostatnio co prawda czëôê central zrezygnowaîo z sygnaîu centrali (jest gîucho), wiëc moûna (w sumie chyba nawet trzeba) wstawiaê zamiast "W" np. "+++"

- Uûywaj ustawienia 8-N-1, FULL DUPLEX i jako terminala ANSI (dla PC i innych) lub VT100, VT102 (Amiga, UNIX)

I to tyle...

Na podstawie przeróûnistych materiaîów sieciowych, instrukcji modemu i wîasnych doôwiadczeï...

MIron


miron@sun10.ci.pwr.wroc.pl