Hayesi modemikäsustik Siin kirjeldatakse Hayesi käsustikku. Enamik modemeid järgib suurel määral siintoodud käske. Kui oled oma modemi käsiraamatu kaotanud või kui sul seda polegi olnud, võib siinne lisa päris kasuks tulla. Mina näiteks leidsin siit, kuidas oma modemi heli välja lülitada: ATM0 -- ja lõpuks ometi valitses vaikus! Modemi initsialiseerimisstring koosneb reast käskudest. See valmistab modemi ette suhtlemiseks, määrates selliseid asju, nagu helistamisrežiim, ooteajad, hõivatud signaali tuvastamine ja veel palju muud. Uuemad modemikommunikatsiooni rakendused lähtestavad initsialisatsioonistringi juba sinu eest vastavalt sellele, millise menüüvõimaluse valid, mille sisse lülitad &etc;. Aastaid kujutasid Hayesi modemid endast standardit. Kuigi modemite tootjaid on tunduvalt juurde tulnud, rakendab enamik siiski vähemalt osaliselt Hayesi standardit. Siin toome ära kõige olulisema osa Hayesi käskudest (neid nimetatakse ka AT käskudeks). Hayesi käsustikku võib jagada neljaks: Elementaarkäsustik Suurtäht ja sellele järgnev number, näiteks M1. Laiendatud käsustik & (ampersand) ja suurtäht ning number. See kujutab endast elementaarkäsustiku laiendust. Näide: &M1. Pane tähele, et M1 ja &M1 ei ole mitte üks ja sama. Tootjate käsustik Tavaliselt algavad längkriipsu (\) või protsendimärgiga (%). Need käsud erinevad tugevasti vastavalt modemite tootjate suvale, mistõttu siin on neist ära toodud vaid mõned. Registrikäsud Sr=n, kus r on muudetava registri number ja n omistatav uus väärtus. Register tähendab arvutiinimeste keeles spetsiaalset füüsilist asukohta mälus. Modemitel on tavaliselt natuke omaenda mälu. Seda käsustikku kasutatakse väärtuste sisestamiseks konkreetsesse registrisse (ehk paika mälus). Register salvestab erilise muutuja, mida kasutab modem ja kommunikatsioonitarkvara. Näiteks S7=60 annab arvutile korralduse Määra register #7 väärtuseks 60. Kuigi suurem osa käskudest on defineeritud tähe ja numbri kombinatsiooniga (L0, L1 &etc;), on nulli kasutamine lisavõimalus. Toodud näite korral on L0 sama, mis L. Pea seda alltoodud tabelit uurides hästi meeles! Nüüd mõningad kõige tähtsamad märgid, mis modemi initsialiseerimisstringis esineda võivad. Üldjuhul ei tuleks neid muuta. AT Teatab modemile, et järgneb modemikäsk. See peab seisma iga käsurea alguses. Z Taastab modemi vaikeväärtused , (koma) Sunnib tarkvara sekundiks pausi tegema. Käsku , võib anda ka mitu korda järjest. Näiteks ,,,, sunnib tarkvara tegema neljasekundilise pausi. (Pausi kestvust valitseb register S8). ^M Saadab modemile lõpetava kelgu tagastamise märgi. See on juhtkood, mida enamik kommunikatsioonitarkvarast tõlgendab kelgu tagastamisena. Hayesi elementaarkäsustik Tähestiku järjekorras: Hayesi elementaarkäsustik Käsk Kirjeldus Kommentaarid A0 või A Vastab sissetulevale kõnele A/ Kordab viimast käsku Selle ette ei käi AT. B0 või B Kõneläbirääkimised V32 Mode/CCITT vastusejada B1 Kõneläbirääkimised Bell 212A vastusejada B2 Kõneläbirääkimised Selgitav/vaikne režiim vastamisel D Helistab Helistab järgnevale numbrile ja alustab läbirääkimisi. P Pulssvalimine T Toonvalimine W Ootab teist kutsumistooni , Paus registris S8 määratud ajaks (tavaliselt 2 sekundit) ; Jääb pärast valimist käsurežiimi. ! Ümberlülitus (toru ärapanek pooleks sekundiks nagu kõne suunamisel). L Valib viimase numbri E0 või E Ilma kajata Vastuste kaja ei saadeta arvutile E1 Kaja Saadab käsud ka arvutile (nii et kasutaja näeb, mida kirjutab) H0 Hargilolek Hargil - lahutatud H1 Hargilolek Hargilt ära I0 või I Info või päring See käsk sõltub väga tugevasti mudelist. I0 tagastab tavaliselt numbri või koodi, suuremad numbrid sageli ka huvitavamat infot. L0 või L Valjuhääldi helitugevus. Helitugevuse reguleerimise nuppudega modemitel neid võimalusi ei kasutata. Väljas või nõrk heli L1 Nõrk heli L2 Keskmine heli L3 Vali heli M0 või M Valjuhääldi väljas M3 on ka üsna levinud paljudel brändidel M1 Valjuhääldi sees kuni kaugpartneri tuvastamiseni (&ie; teise modemi kuulmiseni) M2 Valjuhääldi on alati sees (andmete heli on kuulda pärast signaali CONNECT) N0 või N Tagasiside kiirus Tagasiside ainult S37 määratud kiirusel N1 Tagasiside suurima kiirusega, mis on suurem kui S37 määratu O0 või O Naaseb võrgurežiimi Vaata ka X1, sest valimistooni tuvastus võib olla aktiveeritud. O1 Naaseb võrgurežiimi pärast taandamisjada Q0 või Q1 Vaikne režiim Väljas - näidatakse tulemuskoode, kasutaja näeb vastuseid käskudele (⪚ OK) Q1 Vaikne režiim Sees - tulemuskoode ei näidata, kasutaja vastuseid ei näe. Sn? Registri Sn sisu päring Sn=r Salvestab Salvestab väärtuse r registris Sn V0 või V Selgitav režiim Tulemuskoodid arvudena V1 Tulemuskoodid inglise keeles (⪚ CONNECT, BUSY, NO CARRIER &etc;) X0 või X Smartmodem Hayes Smartmodem 300 ühilduvad tulemuskoodid X1 Tavaliselt lisab elementaarsetele tulemuskoodidele ühenduskiiruse, ⪚ CONNECT 1200 X2 Tavaliselt lisab kõnetooni tuvastamise (väldib pimevalimist ja vahel väldib AT0) X3 Tavaliselt lisab hõivatud signaali tuvastamise X4 Tavaliselt lisab nii hõivatud signaali kui kõnetooni tuvastamise Z0 või Z Lähtestab Lähtestab modemi salvestatud väärtustele. Mitme profiili puhul kasuta vastavalt Z0, Z1 &etc; See on sama, mis &F tehase vaikeväärtus modemitel, millel puudub NVRAM ("non-volatile" mälu ehk selline mälu, mis hoiab andmeid ka voolu all olemata)
Hayesi laiendatud käsustikAmpersand-käsud Hayesi laiendatud käsustik Käsk Kirjeldus Kommentaarid &B0 või &B Taandamisparameetrid Keelab automaattaandamise funktsiooni &B1 Taandamisparameetrid Lubab automaattaandamise funktsiooni &B2 Taandamisparameetrid Lubab automaattaandamise, kuid lahutab kõne, kui liin ei parane registris S7 määratud aja jooksul &C0 või &C1 Kandja tuvastamine Signaal on alati sees &C1 Kandja tuvastamine Märgib kaugkandjat (tavaliselt vaikimisi sees) &D0 või &D Data Terminal Ready (DTR) Signaali ignoreeritakse (see sõltub modemist, igatahes tuleks selle kohta otsida lisainfot oma modemi käsiraamatust!) &D1 Data Terminal Ready (DTR) Kui DTR läheb sisselülitatud olekust väljalülitatud olekusse, läheb modem käsurežiimi (ainult mõne modemi puhul) &D2 Data Terminal Ready (DTR) Mõned modemid lahutavad, kui DTR läheb sisselülitatud olekust väljalülitatud olekusse (tavaliselt on see vaikimisi sees) &D3 Data Terminal Ready (DTR) Lahutab, lähtestab modemi ja naaseb käsurežiimi DTR järgi &F0 või &F Tehase vaikeväärtused Üldised Hayesiga ühilduvad vaikeväärtused. Tavaliselt on seda kasulik initsialiseerimisstringis tarvitada, sest &F1-&F3 seadistused võivad modemiti erineda ning tõeliselt suuri ühendusprobleeme tekitada (sest sa ei tea kunagi täpselt, mida õigupoolest teeb tootja X &F2).Teisalt maksab proovida ka teisi allpool toodud võimalusi: paljud probleemid lahenevad, kui lisada initsialiseerimisstringi lihtsalt &F2 või midagi sellist. Kui sa aga alles lood initsialiseerimisstringi, on parem alustada lihtsalt käsuga &F ja mitte kasutada kohandatud vaikeväärtuste vormi. &F1 Tehase vaikeväärtused Tehase vaikeväärtused IBM PC-ga ühilduvale kasutajale &F2 Tehase vaikeväärtused Tehase vaikeväärtused Macile tarkvaralise tagasisidega &F3 Tehase vaikeväärtused Tehase vaikeväärtused Macile riistvaralise tagasisidega &G0 või &G Valvetoonid Keelab valvetoonid &K0 või &K Kohalik vookontroll Keelab kohaliku vookontrolli &K1 Kohalik vookontroll Lubab RTS/CTS riistvaralise kohaliku vookontrolli &K2 Kohalik vookontroll Lubab XON/XOFF tarkvaralise kohaliku vookontrolli &K3 Kohalik vookontroll Lubab RTS/CTS riistvaralise kohaliku vookontrolli &K4 Kohalik vookontroll Lubab XON/XOFF tarkvaralise kohaliku vookontrolli &L0 või &L Helistamisrežiim Valib helistamisrežiimi &M0 või &M Veakontrolli režiim Valib asünkroonse mitte-EC režiimi (sama, mis &Q0) &P0 või &P Pulssvalimise suhe USA/Kanada pulssvalimine, suhe 39%/61% &P1 Pulssvalimise suhe Briti/Hongkongi pulssvalimine, suhe 33%/67% &Q0 või &Q Veakontrolli režiim Asünkroonne mitte-EC režiim. Andmeid ei puhverdata. ASB on keelatud. &Q5 Veakontrolli režiim Valib V.42 EC operatsiooni (nõuab vookontrolli) &Q6 Veakontrolli režiim Asünkroonne režiim ja ASB (nõuab vookontrolli) &Q8 Veakontrolli režiim Valib alternatiivse EC protokolli (MNP) &Q9 Veakontrolli režiim Tingimuslik andmetihendus: V.42bis = jah, MNP5 = ei. &S0 või &S DSR tegevus on valitud Alati sees (vaikimisi) &S1 DSR tegevus on valitud Järgib EIA spetsifikatsiooni (aktiivne kandja tooni järgimine, kuni kandja kaob) &T0 või &T Enesetest Mudelipõhine enesetest mõne modemi puhul &U0 või &U Trellis-koodi modulatsioon Lubab V.32 TCM &U1 Trellis-koodi modulatsioon Keelab V.32 TCM &V0 või &V1 Vaatab aktiivseid (ja sageli salvestatud) seadistusprofiili seadistusi (või ATI4) &W0 või &W Salvestab profiili NVRAM korral (&W0, &W1 erinevate profiilide puhul). Mõningaid seadistusi ei saa salvestada. Neid sageli ei näita &V või ATI4 &Y0 või &Y Valib voolu sisselülitamisel laaditava seadistuse Laadib profiili 0 (vaikimisi) &Y1 Valib voolu sisselülitamisel laaditava seadistuse Laadib profiili 1 &Zn=x Tarkvaraline lähtestamine ja salvestatud profiili n laadimine Arvesta, et kõike real pärast käsku &Z asuvat ignoreeritakse
Längkriipsu- ja protsendikäsud Längkriipsu- ja protsendikäsud Käsk Kirjeldus Kommentaarid \A0 või \A Märkides MNP bloki maksimaalne suurus 64-märgiline maksimum \A1 Märkides MNP bloki maksimaalne suurus 128-märgiline maksimum \A2 Märkides MNP bloki maksimaalne suurus 192-märgiline maksimum \A3 Märkides MNP bloki maksimaalne suurus 256-märgiline maksimum %C0 või %C Andmetihenduse lubamine/keelamine Keelatud %C1 Andmetihenduse lubamine/keelamine MNP5 lubatud %C2 Andmetihenduse lubamine/keelamine V.42bis (BTLZ) lubatud %C3 Andmetihenduse lubamine/keelamine MNP5 & V.42bis (BTLZ) lubatud %D0 või %D Andmetihendus 512 BTLZ sõnastiku suurus %D1 Andmetihendus 1024 BTLZ sõnastiku suurus %D2 Andmetihendus 2048 BTLZ sõnastiku suurus %D3 Andmetihendus 4096 BTLZ sõnastiku suurus %E0 või %E1 Paomeetod KEELATUD %E1 Paomeetod +++AT meetod (vaikimisi) %E2 Paomeetod Break AT meetod %E3 Paomeetod MÕLEMAD meetodid lubatud %E4 Paomeetod Keelab OK +++ jaoks %E5 Paomeetod Lubab OK +++ jaoks \J0 või \J DTE automaatmäära kohendamine Keelatud \J1 DTE automaatmäära kohendamine DTE määr kohendatakse kandjale vastavaks. \N0 või \N Ühenduse tüüp Normaalne ühendus (vaata kirjeldust allpool) \N1 Ühenduse tüüp Otseühendus \N2 Ühenduse tüüp MNP automaatselt usaldusväärne ühendus \N3 Ühenduse tüüp Automaatselt usaldusväärne ühendus \N4 Ühenduse tüüp V.42bis usaldusväärne ühendus faasituvastusega \N5 Ühenduse tüüp V.42bis automaatselt usaldusväärne ühendus faasituvastusega \N6 Ühenduse tüüp V.42 usaldusväärne ühendus faasituvastusega \N7 Ühenduse tüüp V.42 automaatselt usaldusväärne ühendus faasituvastusega
Otseühendus ongi lihtsalt otsene ühendus ilma igasuguse veaparanduse või andmetihenduseta. Sellisel juhul peaksid õigupoolest arvuti-modemi ja modemi-modemi kiirus olema ühesugused. Normaalne ühendus kasutab (tark- või riistvaralist) vookontrolli saadetavate või vastuvõetavate andmete puhverdamiseks, et modem saaks andmeid saata teistsuguse kiirusega, kui neid saadab või võtab vastu arvuti. Näiteks arvuti võib saata andmeid kiirusega 57 kbps, kuid tihendust kasutades saadab modem vaid 28,8 kbps. Nii töötab enamik modemeid. Usaldusväärne ühendus on normaalse ühenduse alaliik: kui mingil põhjusel ei saa andmetihendust või vookontrolli rakendada, ühendus katkestatakse (selles mõttes tagab taoline modem, et kõik ühendused on usaldusväärsed, sest kui nad seda ei ole, siis ühendus ju katkestatakse!) Automaatselt usaldusväärne ühendus on enam-vähem sama, ainult et modem püüab usaldusväärse ühenduse loomiseks vajadusel uuesti läbi rääkida. Ka seda kasutab enamik modemeid.
S-registrid S-registrid Register Vahemik Vaikeväärtus Funktsioon S0 Helinad 0-255 1-2 Vastab helina numbrile. Ei vasta, kui on 0 S1 Helinad 0-255 0 Kui S0 on suurem kui 0, siis see register loendab sissetulevaid helinaid. S2 0-127 ASCII 43 + Paomärk käsurežiimi S2 >127 Ilma paomärgita S3 0-127 ASCII 13 CR Kelgu tagastamise (CR) märk S4 0-127 ASCII 10 LF Reavahetuse (LF) märk S5 0-32, 127 ASCII 8 BS Backspace märk S6 2-255 sekundit 2 Kõnetooni ooteaeg (pimehelistamine, vaata Xn) S7 1-255 sekundit 30-60 Kaugkandja ooteaeg S8 0-255 sekundit 2 Helistamisel kasutatava komapausi aeg S9 1-255 kümnendiksekundit 6 Tunnustamiseks nõutav kandja tuvastamise aeg S10 1-255 kümnendiksekundit 7-14 Aeg kandja kaotamise ja lahutamise vahel S11 50-255 millisekundit 70-95 Toonide kestvus ja vahe toonvalimisel S12 0-255 kümnendiksekundit 50 Pausi valveaeg +++ käsujadal S36 Tagasilanguse võimaluse, kui veaparandus ebaõnnestub: 0 - lahutab 1 - rajab otseühenduse 3 - rajab normaalse ühenduse 4 - rajab MNP ühenduse, kui võimalik, vastasel korral lahutab 5 - rajab MNP ühenduse, kui võimalik, vastasel korral otseühenduse. 7 - rajab MNP ühenduse, kui võimalik, vastasel korral normaalse ühenduse 7 Läbirääkimiste ebaõnnestumise käsitlemine S37 1 = 300 bps 5 = 1200 bps 6 = 2400 bps 7 = 1200/75 bps (v.23 režiim) 8 = 4800 bps 9 = 9600 bps 10 = 12000 bps 11 = 14400 bps 12 = 7200 bps 0 Läbirääkimiste kiirus (esialgne tagasiside)
Enamikul modemitel on kümneid või isegi sadu S-registreid, kuid ainult esimesed paarkümmend on enam-vähem standardsed. Neid muudetakse selliste käskudega, nagu ATSn=N ja uuritakse selliste käskudega, nagu ATSn? (⪚ AT S10 S1? ütleb modemile, et lahutada ei tule 7 sekundi jooksul, kui teist modemit ei kuulda vastamas, ja tagastab viimati helistatud kordade arvu).