# Hayesov skup modemskih naredbi

Sledi opis Hayesovog skupa naredbi. Većina modema se u velikoj meri odziva na ovaj skup naredbi. Ako ste izgubili priručnik za modem, ili ga nikad niste ni imali, ovaj popis će vam dobro doći. Pisac ovih redova je, na primer, saznao kako da isključi zvučnik modema: `ATM0` — napokon tišina!

Pripremna niska modema sastoji se od niza naredbi. Njome se modem priprema za komunikaciju, postavljajući takve mogućnosti kao što su režim pozivanja, čekanje, otkrivanje signala zauzeća, i mnoge druge. Noviji programi za modemsku komunikaciju sastavljaju pripremnu nisku mesto vas, prema opcijama menija koje izaberete, mogućnostima koje uključite, itd.

Hayesovi modemi bili su standard mnogo godina. Pošto se broj proizvođača modema proširio, većina se, barem donekle, priklonila Hayesovom standardu. Sledi delimični spisak Hayesovog skupa naredbi, poznatih kao AT naredbe. Može se podeliti u četiri grupe:

osnovni skup naredbi

- Veliko slovo iza kojeg dolazi broj. Na primer, `M1`.

prošireni skup naredbi

- & (ampersand) i veliko slovo iza kojeg sledi broj. Ovo je proširenje osnovnog skupa naredbi. Na primer, `&M1`. Primetite da se `M1` razlikuje od `&M1`.

vlasnički skup naredbi

- Ove naredbe obično počinju ili kontrakrozom (\) ili znakom procenta (%), i prilično se razlikuju od proizvođača do proizvođača. Zato će kasnije biti naveden samo manji broj njih.

registarske naredbe

- `S`r`=`n`` gde je `r` broj registra koji treba izmeniti, a `n` nova vrednost koja se dodeljuje.

  „Registar“ je računarski izraz za specifičnu fizičku lokaciju u memoriji. Modemi na sebi imaju malu količinu memorije. Ovaj četvrti skup naredbi koristi se za unošenje vrednosti u određene registre (lokacije u memoriji). Jedan registar skladišti određenu „promenljivu“ (alfa‑numerički podatak), koju koriste modem i softver za komunikaciju. Na primer, `S7=60` upućuje računar da „postavi registar br. 7 na vrednost 60“.

Mada je većina naredbi definisana kombinacijom slovo‑broj (`L0`, `L1`, itd.), nula je opciona. U ovom primeru, `L0` je isto kao samo `L`. Imajte ovo na umu dok čitate donju tabelu!

Evo nekih od najvažnijih znakova koji se mogu pojaviti u pripremnoj niski modema. Normalno ih ne bi trebalo menjati.

`AT`

- Govori modemu da sledi modemska naredba. Ovim mora počinjati svaki red naredbi.

`Z`

- Resetuje modem na podrazumevano stanje.

`,` (zarez)

- Čini da softver sačeka jednu sekundu. Možete izdati više od jedne `,` u nizu. Na primer, `,,,,` govori softveru da sačeka četiri sekunde. (Trajanjem pauze određuje vrednost u registru `S8`.)

`^M`

- Šalje modemu okončavajući znak povratka reda. Ovo je kontrolni kô̂d koji većina komunikacionog softvera prevodi kao „povratak reda“.

## Hayesov osnovni skup naredbi

Azbučno:

## Hayesov osnovni skup naredbi

naredba | opis | komentari
`A0` ili `A` | Odgovori na dolazni poziv |
`A/` | Ponovi poslednju naredbu | Ne stavljajte `AT` ispred. Enter obično obustavlja.
`B0` ili `B` | Pregovaranje poziva | Sekvenca odgovora za CCITT V.32.
`B1` | Pregovaranje poziva | Sekvenca odgovora za Bell 212A.
`B2` | Pregovaranje poziva | Opširno/tiho pri odgovoru
`D` | Pozovi | Poziva sledeći broj, zatim sledi rukovanje u prvobitnom režimu. `P` Pozovi pulsno `T` Pozovi s dodirnim tonom `W` Čekaj na sledeći pozivni ton `,` Sačekaj vreme zadato registrom `S8` (obično 2 sekunde) `;` Ostani u naredbenom režimu nakon pozivanja. `!` Trgni viljušku (spušta slušalicu pola sekunde, kao pri prenosu poziva) `L` Pozovi poslednji broj
`E0` ili `E` | Bez odjeka | Neće ispisivati naredbe nazad računaru.
`E1` | Odjek | Ispisivaće naredbe nazad računaru (tako da možete videti šta kucate).
`H0` | Stanje viljuške | Na viljušci (slušalica spuštena).
`H1` | Stanje viljuške | Van viljuške (slušalica podignuta).
`I0` ili `I` | Upit, informacija ili ispitivanje | Ova naredba veoma zavisi od modela modema. `I0` obično vraća broj ili kô̂d, dok viši brojevi često pružaju mnogo korisnije informacije.
`L0` ili `L` | Glasnost zvučnika. Modemi s dugmadima za jačinu zvuka neće imati ove opcije. | Glasnost isključena ili mala
`L1` |  | Glasnost mala
`L2` |  | Glasnost srednja
`L3` |  | Glasnost velika ili najjača
`M0` ili `M` | Isključi zvučnik | `M3` je takođe česta, ali različita na mnogim markama
`M1` |  | Zvučnik uključen do otkrivanja udaljenog nosača (npr. dok se ne začuje drugi modem).
`M2` |  | Zvučnik uvek uključen (zvuci podataka čuju se posle CONNECT).
`N0` ili `N` | Brzina rukovanja | Rukovanje samo pri brzini u `S37`.
`N1` |  | Rukovanje pri najvećoj brzini većoj od `S37`.
`O0` ili `O` | Vrati se na vezu | Pogledajte i `X1`, jer može biti aktivno otkrivanje slobodne linije.
`O1` |  | Vraća se na vezu posle sekvence preobučavanja ekvilajzera.
`Q0` ili `Q1` | Tihi režim | Isključeno — prikazuje kodove rezultata, korisnik vidi odzive naredbi (npr. `OK`).
`Q1` | Tihi režim | Uključeno — kodovi rezultata su suzbijeni, korisnik ne vidi odzive.
`S`n`?` |  | Upit za sadržaj S‑registra `n`
`S`n`=`r`` | Uskladišti | Skladišti vrednost `r` u S‑registar `n`.
`V0` ili `V` | Opširno | Brojevni kodovi rezultata.
`V1` |  | Kodovi rezultata na engleskom (npr. `CONNECT`, `BUSY`, `NO CARRIER`, itd.)
`X0` ili `X` | Pametni modem | Kodovi rezultata saglasni Hayesovom Smartmodemu 300
`X1` |  | Obično dodaje brzinu povezivanja osnovnom kodu rezultata (npr. `CONNECT 1200`).
`X2` |  | Obično dodaje otkrivanje tona slobodne linije (sprečavajući slepo pozivanje, a ponekad i naredbu `AT0`).
`X3` |  | Obično dodaje otkrivanje signala zauzeća.
`X4` |  | Obično dodaje i otkrivanje signala zauzeća i tona slobodne linije.
`Z0` ili `Z` | Resetuj | Resetuje modem na uskladištenu postavu. Koristite `Z0`, `Z1`, itd. za višestruke profile. Ovo je isto kao `&F` za fabrički podrazumevano na modemima bez NVRAM‑a (postojane memorije).

## Hayesov prošireni skup naredbi

Naredbe s ampersandom

## Hayesov prošireni skup naredbi

naredba | opis | komentari
`&B0` ili `&B` | Preobuči parametre | Isključuje automatsko preobučavanje.
`&B1` | Preobuči parametre | Uključuje automatsko preobučavanje.
`&B2` | Preobuči parametre | Uključuje automatsko preobučavanje, ali prekida vezu ako nema poboljšanja tokom perioda zadatog u `S7`.
`&C0` ili `&C1` | Otkrij nosač | Signal uvek uključen.
`&C1` | Otkrij nosač | Ukazuje na udaljeni nosač (obično poželjno kao podrazumevano).
`&D0` ili `&D` | Terminal podataka spreman (DTR) | Signal se ignoriše (ovo zavisi od modema, moraćete da pogledate u njegov priručnik).
`&D1` | Terminal podataka spreman (DTR) | Ako DTR pređe sa uključenog na isključeno, modem prelazi u naredbeni režim (samo neki modemi).
`&D2` | Terminal podataka spreman (DTR) | Neki modemi prekidaju vezu pri prelazu DTR‑a sa uključenog na isključeno (obično poželjno kao podrazumevano).
`&D3` | Terminal podataka spreman (DTR) | Prekida vezu, resetuje modem i vraća u naredbeni režim na DTR.
`&F0` ili `&F` | Fabrički podrazumevano | Generičke podrazumevanosti saglasne s Hayesom. Obično je dobro upotrebiti ovo u pripremnoj niski, pošto postavke `&F1` do `&F3` mogu da variraju između modema, i zapravo budu uzrok problema pri povezivanju. (Nikad se ne zna šta `&F2` marke NN stvarno menja.) S druge strane, isplati se isprobati druge opcije dole; mnogi problemi mogu se rešiti zamenom složene pripremne niske jednostavnom `&F2` ili tako nečim. Međutim, ako sastavljate sopstvenu pripremnu nisku, najbolje je početi prostom `&F` i ne koristiti „prilagođene“ podrazumevanosti.
`&F1` | Fabrički podrazumevano | Fabričke podrazumevanosti prilagođene su računarima saglasnim IBM‑ovom PC‑u.
`&F2` | Fabrički podrazumevano | Fabričke podrazumevanosti za .Mac, sa softverskim rukovanjem.
`&F3` | Fabrički podrazumevano | Fabričke podrazumevanosti za .Mac, sa hardverskim rukovanjem.
`&G0` ili `&G` | Zaštitni tonovi | Isključuje zaštitne tonove.
`&K0` ili `&K` | Lokalna kontrola toka | Isključuje lokalnu kontrolu toka.
`&K1` | Lokalna kontrola toka | Uključuje hardversku lokalnu kontrolu toka (`RTS/CTS`).
`&K2` | Lokalna kontrola toka | Uključuje softversku lokalnu kontrolu toka (`XON/XOFF`).
`&K3` | Lokalna kontrola toka | Uključuje hardversku lokalnu kontrolu toka (`RTS/CTS`).
`&K4` | Lokalna kontrola toka | Uključuje softversku lokalnu kontrolu toka (`XON/XOFF`).
`&L0` ili `&L` | Režim pozivanja | Bira režim modemskog pristupa.
`&M0` ili `&M` | Režim kontrole grešaka | Asinhroni režim bez kontrole grešaka (isto što i `&Q0`).
`&P0` ili `&P` | Odnos pulsnog pozivanja | SAD/Kanada pulsno pozivanje, odnos prekida 39%/61%.
`&P1` | Odnos pulsnog pozivanja | UK/Hong Kong pulsno pozivanje, odnos prekida 33%/67%.
`&Q0` ili `&Q` | Režim kontrole grešaka | Asinhrono bez korekcije grešaka, bez baferisanja podataka (isključeno ASB).
`&Q5` | Režim kontrole grešaka | Postupak korekcije grešaka tipa V.42 (zahteva kontrolu toka).
`&Q6` | Režim kontrole grešaka | Asinhroni režim sa ASB‑om (zahteva kontrolu toka).
`&Q8` | Režim kontrole grešaka | Alternativni protokol korekcije grešaka (MNP).
`&Q9` | Režim kontrole grešaka | Uslovna kompresija podataka: V.32bis da, MNP‑5 ne.
`&S0` ili `&S` | Izbor radnje na DSR | Uvek uključeno (podrazumevano).
`&S1` | Izbor radnje na DSR | Sledi specifikaciju EIA‑a (aktivno praćenje tona nosača, i dok se nosač ne izgubi).
`&T0` ili `&T` | Samoproba | Samoproba posebna po modelu na nekim modemima.
`&U0` ili `&U` | Trelaž-kodirana modulacija | Uključuje TCM za V.32.
`&U1` | Trelaž-kodirana modulacija | Isključuje TCM za V.32.
`&V0` ili `&V1` | Prikaži aktivne | ...(i često uskladištene) postavke postavnog profila (ili `ATI4`).
`&W0` ili `&W` | Uskladišti profil | ...u NVRAM (`&W0`, `&W1`, itd, za više profila). Neke postavke se ne mogu uskladištiti. One se često ne pokazuju na `&V` ili `ATI4`.
`&Y0` ili `&Y` | Izbor postave koja se učitava po paljenju. | Učitaj profil 0 (podrazumevano)
`&Y1` | Izbor postave koja se učitava po paljenju. | Učitaj profil 1
`&Z`n`=`x`` | Meko resetuj i učitaj uskladišteni profil br. `n`. | Primetite da se u komandnoj liniji ignorišu sve stavke posle `&Z`.

## Naredbe sa kontrakroz i procentom

naredba | opis | komentari
`\A0` ili `\A` | Najveća veličina MNP bloka u znakovima | maksimum 64 znaka
`\A1` | Najveća veličina MNP bloka u znakovima | maksimum 128 znakova
`\A2` | Najveća veličina MNP bloka u znakovima | maksimum 192 znaka
`\A3` | Najveća veličina MNP bloka u znakovima | maksimum 256 znakova
`%C0` ili `%C` | Uključi/isključi kompresiju podataka | Isključena.
`%C1` | Uključi/isključi kompresiju podataka | Uključena MNP‑5.
`%C2` | Uključi/isključi kompresiju podataka | Uključena V.42bis (BTLZ).
`%C3` | Uključi/isključi kompresiju podataka | Uključena MNP‑5 i V.42bis (BTLZ)
`%D0` ili `%D` | Kompresija podataka | veličina BTLZ rečnika 512
`%D1` | Kompresija podataka | veličina BTLZ rečnika 1024
`%D2` | Kompresija podataka | veličina BTLZ rečnika 2048
`%D3` | Kompresija podataka | veličina BTLZ rečnika 4096
`%E0` ili `%E1` | Metod izbegavanja | Izbegavanje isključeno.
`%E1` | Metod izbegavanja | Metod `+++AT` (podrazumevano).
`%E2` | Metod izbegavanja | Metod `Break` `AT`.
`%E3` | Metod izbegavanja | Oba metoda uključena.
`%E4` | Metod izbegavanja | Isključeno `OK` pri `+++`.
`%E5` | Metod izbegavanja | Uključeno `OK` pri `+++`.
`\J0` ili `\J` | DTE automatsko podešavanje protoka | Isključena.
`\J1` | DTE automatsko podešavanje protoka | DTE protok se podešava da odgovara protoku nosača.
`\N0` ili `\N` | Tip veze | Normalna veza (vidi definicije ispod).
`\N1` | Tip veze | Usmerena veza.
`\N2` | Tip veze | MNP automatski pouzdana veza.
`\N3` | Tip veze | Automatski pouzdana veza.
`\N4` | Tip veze | V.42bis pouzdana veza sa otkrivanjem faze
`\N5` | Tip veze | V.42bis automatski pouzdana veza sa otkrivanjem faze
`\N6` | Tip veze | V.42 pouzdana veza sa otkrivanjem faze
`\N7` | Tip veze | V.42 automatski pouzdana veza sa otkrivanjem faze

Direktna veza je prosto prosleđujuće povezivanje bez ikakve korekcije grešaka ili kompresije podataka. U ovom slučaju, brzine od računara ka modemu i od modema ka modemu moraju biti iste.

Normalna veza koristi kontrolu toka (softversku ili hardversku) da baferiše podatke koji se primaju i šalju, tako da modem može da prenosi podatke različitom brzinom od one kojom ih računar šalje i prima. Na primer, računar može da šalje podatke brzinom 57 kb/s, dok, upotrebom kompresije, modem zapravo šalje samo 28,8 kb/s. Ovo je režim u kojem radi većina modema.

Pouzdana veza je vrsta normalne veze. Ako se, iz nekog razloga, kompresija podataka ili korekcija grešaka ne mogu uspostaviti ili održavati, veza će biti prekinuta. (U osnovi, ovakav modem osigurava da su sve veze pouzdane, jer će prekinuti svaku koja nije takva.)

Automatski pouzdana veza je gotovo ista, osim što će modem pokušati ponovno pregovaranje da bi uspostavio pouzdanu vezu. Ovo je opet režim koji koristi većina modema.

## S‑registri

registar | opseg | podrazumevano | funkcija
`S0` | prstenovi 0-255 | 1-2 | Odgovor na zvonjenje. Ne odgovara ako je 0.
`S1` | prstenovi 0-255 | 0 | Ako je `S0` veći od 0, ovaj registar broji dolazeće prstenove.
`S2` | ASCII 0-127 | 43 + | Znak izlaska u naredbeni režim.
`S2` | >127 |  | Bez izlaska.
`S3` | ASCII 0-127 | 13 CR | Znak za povratak reda
`S4` | ASCII 0-127 | 10 LF | Znak za uvod reda
`S5` | ASCII 0-32, 127 | 8 BS | Znak kontrarazmaka
`S6` | 2-255 sekundi | 2 | Vreme čekanja na slobodnu liniju (slepo pozivanje, pogledajte X`n`)
`S7` | 1-255 sekundi | 30-60 | Vreme čekanja na udaljeni nosač.
`S8` | 0-255 sekundi | 2 | Vreme pauze na zarez pri pozivanju.
`S9` | 1-255 desetinki | 6 | Vreme otkrivanja nosača potrebno za prepoznavanje.
`S10` | 1-255 desetinki | 7-14 | Vreme između gubitka nosača i prekida veze.
`S11` | 50-255 milisekundi | 70-95 | Trajanje i razmak tonova pri tonskom pozivanju.
`S12` | 0-255 pedesetinki | 50 | Zaštitno vreme za pauzu oko naredbenog niza `+++`.
`S36` | Opcije spadanja kad padne veza korekcije grešaka: 0 — prekini vezu 1 — uspostavi direktnu vezu 3 — uspostavi normalnu vezu 4 — uspostavi MNP vezu ako može, inače prekini 5 — uspostavi MNP vezu ako može, inače direktnu 7 — uspostavi MNP vezu ako može, inače normalnu | 7 | Postupak pri neuspehu pregovora
`S37` | 1 = 300 b/s 5 = 1200 b/s 6 = 2400 b/s 7 = 1200/75 b/s (režim V.23) 8 = 4800 b/s 9 = 9600 b/s 10 = 12000 b/s 11 = 14400 b/s 12 = 7200 b/s | 0 | Brzina pregovaranja (početno rukovanje)

Mnogi modemi imaju desetine, pa i stotine, S‑registara, ali je samo prvih desetak prilično standardno. Menjaju se naredbom poput `ATS`n`=`N``, a očitavaju pomoću `ATS`n`?` (npr. ``AT` `S10``=70` `S1?`` govori modemu da sedam sekundi ne prekida vezu ako ne čuje pozvani modem, i vrati koliko je puta telefon zazvonio.)