Hayesi modemikäsustikSiin 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äsustikSuurtä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äsustikTavaliselt 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äsudSr=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.ATTeatab modemile, et järgneb modemikäsk. See peab seisma iga käsurea alguses.ZTaastab 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).^MSaadab modemile lõpetava kelgu tagastamise märgi. See on juhtkood, mida enamik kommunikatsioonitarkvarast tõlgendab kelgu tagastamisena.Hayesi elementaarkäsustikTähestiku järjekorras:
Hayesi elementaarkäsustikKäskKirjeldusKommentaaridA0 või AVastab sissetulevale kõneleA/Kordab viimast käskuSelle ette ei käi AT.B0 või BKõneläbirääkimisedV32 Mode/CCITT vastusejadaB1KõneläbirääkimisedBell 212A vastusejadaB2KõneläbirääkimisedSelgitav/vaikne režiim vastamiselDHelistabHelistab järgnevale numbrile ja alustab läbirääkimisi.PPulssvalimineTToonvalimineWOotab 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).LValib viimase numbriE0 või EIlma kajataVastuste kaja ei saadeta arvutileE1KajaSaadab käsud ka arvutile (nii et kasutaja näeb, mida kirjutab)H0HargilolekHargil - lahutatudH1HargilolekHargilt äraI0 või IInfo või päringSee käsk sõltub väga tugevasti mudelist. I0 tagastab tavaliselt numbri või koodi, suuremad numbrid sageli ka huvitavamat infot.L0 või LValjuhääldi helitugevus. Helitugevuse reguleerimise nuppudega modemitel neid võimalusi ei kasutata.Väljas või nõrk heliL1Nõrk heliL2Keskmine heliL3Vali heliM0 või MValjuhääldi väljasM3 on ka üsna levinud paljudel brändidelM1Valjuhääldi sees kuni kaugpartneri tuvastamiseni (&ie; teise modemi kuulmiseni)M2Valjuhääldi on alati sees (andmete heli on kuulda pärast signaali CONNECT)N0 või NTagasiside kiirusTagasiside ainult S37 määratud kiiruselN1Tagasiside suurima kiirusega, mis on suurem kui S37 määratuO0 või ONaaseb võrgurežiimiVaata ka X1, sest valimistooni tuvastus võib olla aktiveeritud.O1Naaseb võrgurežiimi pärast taandamisjadaQ0 või Q1Vaikne režiimVäljas - näidatakse tulemuskoode, kasutaja näeb vastuseid käskudele (⪚ OK)Q1Vaikne režiimSees - tulemuskoode ei näidata, kasutaja vastuseid ei näe.Sn?Registri Sn sisu päringSn=rSalvestabSalvestab väärtuse r registris SnV0 või VSelgitav režiimTulemuskoodid arvudenaV1Tulemuskoodid inglise keeles (⪚ CONNECT, BUSY, NO CARRIER &etc;)X0 või XSmartmodemHayes Smartmodem 300 ühilduvad tulemuskoodidX1Tavaliselt lisab elementaarsetele tulemuskoodidele ühenduskiiruse, ⪚ CONNECT 1200X2Tavaliselt lisab kõnetooni tuvastamise (väldib pimevalimist ja vahel väldib AT0)X3Tavaliselt lisab hõivatud signaali tuvastamiseX4Tavaliselt lisab nii hõivatud signaali kui kõnetooni tuvastamiseZ0 või ZLähtestabLä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äsustikKäskKirjeldusKommentaarid&B0 või &BTaandamisparameetridKeelab automaattaandamise funktsiooni&B1TaandamisparameetridLubab automaattaandamise funktsiooni&B2TaandamisparameetridLubab automaattaandamise, kuid lahutab kõne, kui liin ei parane registris S7 määratud aja jooksul&C0 või &C1Kandja tuvastamineSignaal on alati sees&C1Kandja tuvastamineMärgib kaugkandjat (tavaliselt vaikimisi sees)&D0 või &DData Terminal Ready (DTR)Signaali ignoreeritakse (see sõltub modemist, igatahes tuleks selle kohta otsida lisainfot oma modemi käsiraamatust!)&D1Data 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)&D2Data Terminal Ready (DTR)Mõned modemid lahutavad, kui DTR läheb sisselülitatud olekust väljalülitatud olekusse (tavaliselt on see vaikimisi sees)&D3Data Terminal Ready (DTR)Lahutab, lähtestab modemi ja naaseb käsurežiimi DTR järgi&F0 või &FTehase 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.&F1Tehase vaikeväärtusedTehase vaikeväärtused IBM PC-ga ühilduvale kasutajale&F2Tehase vaikeväärtusedTehase vaikeväärtused Macile tarkvaralise tagasisidega&F3Tehase vaikeväärtusedTehase vaikeväärtused Macile riistvaralise tagasisidega&G0 või &GValvetoonidKeelab valvetoonid&K0 või &KKohalik vookontrollKeelab kohaliku vookontrolli&K1Kohalik vookontrollLubab RTS/CTS riistvaralise kohaliku vookontrolli&K2Kohalik vookontrollLubab XON/XOFF tarkvaralise kohaliku vookontrolli&K3Kohalik vookontrollLubab RTS/CTS riistvaralise kohaliku vookontrolli&K4Kohalik vookontrollLubab XON/XOFF tarkvaralise kohaliku vookontrolli&L0 või &LHelistamisrežiimValib helistamisrežiimi&M0 või &MVeakontrolli režiimValib asünkroonse mitte-EC režiimi (sama, mis &Q0)&P0 või &PPulssvalimise suheUSA/Kanada pulssvalimine, suhe 39%/61%&P1Pulssvalimise suheBriti/Hongkongi pulssvalimine, suhe 33%/67%&Q0 või &QVeakontrolli režiimAsünkroonne mitte-EC režiim. Andmeid ei puhverdata. ASB on keelatud.&Q5Veakontrolli režiimValib V.42 EC operatsiooni (nõuab vookontrolli)&Q6Veakontrolli režiimAsünkroonne režiim ja ASB (nõuab vookontrolli)&Q8Veakontrolli režiimValib alternatiivse EC protokolli (MNP)&Q9Veakontrolli režiimTingimuslik andmetihendus: V.42bis = jah, MNP5 = ei.&S0 või &SDSR tegevus on valitudAlati sees (vaikimisi)&S1DSR tegevus on valitudJärgib EIA spetsifikatsiooni (aktiivne kandja tooni järgimine, kuni kandja kaob)&T0 või &TEnesetestMudelipõhine enesetest mõne modemi puhul&U0 või &UTrellis-koodi modulatsioonLubab V.32 TCM&U1Trellis-koodi modulatsioonKeelab V.32 TCM&V0 või &V1Vaatab aktiivseid(ja sageli salvestatud) seadistusprofiili seadistusi (või ATI4)&W0 või &WSalvestab profiiliNVRAM korral (&W0, &W1 erinevate profiilide puhul). Mõningaid seadistusi ei saa salvestada. Neid sageli ei näita &V või ATI4&Y0 või &YValib voolu sisselülitamisel laaditava seadistuseLaadib profiili 0 (vaikimisi)&Y1Valib voolu sisselülitamisel laaditava seadistuseLaadib profiili 1&Zn=xTarkvaraline lähtestamine ja salvestatud profiili n laadimineArvesta, et kõike real pärast käsku &Z asuvat ignoreeritakse
Längkriipsu- ja protsendikäsud
Längkriipsu- ja protsendikäsudKäskKirjeldusKommentaarid\A0 või \AMärkides MNP bloki maksimaalne suurus64-märgiline maksimum\A1Märkides MNP bloki maksimaalne suurus128-märgiline maksimum\A2Märkides MNP bloki maksimaalne suurus192-märgiline maksimum\A3Märkides MNP bloki maksimaalne suurus256-märgiline maksimum%C0 või %CAndmetihenduse lubamine/keelamineKeelatud%C1Andmetihenduse lubamine/keelamineMNP5 lubatud%C2Andmetihenduse lubamine/keelamineV.42bis (BTLZ) lubatud%C3Andmetihenduse lubamine/keelamineMNP5 & V.42bis (BTLZ) lubatud%D0 või %DAndmetihendus512 BTLZ sõnastiku suurus%D1Andmetihendus1024 BTLZ sõnastiku suurus%D2Andmetihendus2048 BTLZ sõnastiku suurus%D3Andmetihendus4096 BTLZ sõnastiku suurus%E0 või %E1PaomeetodKEELATUD%E1Paomeetod+++AT meetod (vaikimisi)%E2PaomeetodBreakAT meetod%E3PaomeetodMÕLEMAD meetodid lubatud%E4PaomeetodKeelab OK+++ jaoks%E5PaomeetodLubab OK+++ jaoks\J0 või \JDTE automaatmäära kohendamineKeelatud\J1DTE automaatmäära kohendamineDTE määr kohendatakse kandjale vastavaks.\N0 või \NÜhenduse tüüpNormaalne ühendus (vaata kirjeldust allpool)\N1Ühenduse tüüpOtseühendus\N2Ühenduse tüüpMNP automaatselt usaldusväärne ühendus\N3Ühenduse tüüpAutomaatselt usaldusväärne ühendus\N4Ühenduse tüüpV.42bis usaldusväärne ühendus faasituvastusega\N5Ühenduse tüüpV.42bis automaatselt usaldusväärne ühendus faasituvastusega\N6Ühenduse tüüpV.42 usaldusväärne ühendus faasituvastusega\N7Ühenduse tüüpV.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-registridRegisterVahemikVaikeväärtusFunktsioonS0Helinad 0-2551-2Vastab helina numbrile. Ei vasta, kui on 0S1Helinad 0-2550Kui S0 on suurem kui 0, siis see register loendab sissetulevaid helinaid.S20-127 ASCII43 +Paomärk käsurežiimiS2>127Ilma paomärgitaS30-127 ASCII13 CRKelgu tagastamise (CR) märkS40-127 ASCII10 LFReavahetuse (LF) märkS50-32, 127 ASCII8 BSBackspace märkS62-255 sekundit2Kõnetooni ooteaeg (pimehelistamine, vaata Xn)S71-255 sekundit30-60Kaugkandja ooteaegS80-255 sekundit2Helistamisel kasutatava komapausi aegS91-255 kümnendiksekundit6Tunnustamiseks nõutav kandja tuvastamise aegS101-255 kümnendiksekundit7-14Aeg kandja kaotamise ja lahutamise vahelS1150-255 millisekundit70-95Toonide kestvus ja vahe toonvalimiselS120-255 kümnendiksekundit50Pausi valveaeg +++ käsujadalS36Tagasilanguse võimaluse, kui veaparandus ebaõnnestub:0 - lahutab1 - rajab otseühenduse3 - rajab normaalse ühenduse4 - rajab MNP ühenduse, kui võimalik, vastasel korral lahutab5 - rajab MNP ühenduse, kui võimalik, vastasel korral otseühenduse.7 - rajab MNP ühenduse, kui võimalik, vastasel korral normaalse ühenduse7Läbirääkimiste ebaõnnestumise käsitlemineS371 = 300 bps5 = 1200 bps6 = 2400 bps7 = 1200/75 bps (v.23 režiim)8 = 4800 bps9 = 9600 bps10 = 12000 bps11 = 14400 bps12 = 7200 bps0Lä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? (⪚ ATS10S1? ütleb modemile, et lahutada ei tule 7 sekundi jooksul, kui teist modemit ei kuulda vastamas, ja tagastab viimati helistatud kordade arvu).