<para>Här är en beskrivning av Hayes kommandouppsättning. De flesta modem följer den här kommandouppsättningen i stor utsträckning. Om du har förlorat handboken för ditt modem, eller aldrig haft en, kan den här referensen vara praktisk. Jag fick till exempel till slut reda på hur jag ska stänga av högtalaren på modemet: <command>ATM0</command> -- till sist, tystnad!</para>
<para>Modeminitieringssträngen består av ett antal kommandon. Det förbereder modemet för kommunikation, ställer in funktioner som uppringningsläge, väntetider, upptäckt av upptagetton och många andra inställningar. Nyare modemkommunikationsprogram återställer initieringssträngen åt dig beroende på vilka menyalternativ du väljer, vilka funktioner du aktiverar, etc.</para>
<para>I många år har Hayes-modem varit standard. Medan floran av modemtillverkare har växt, har de flesta hållit sig till Hayes-standarden åtminstone i någon mån. Följande är en lista med en delmängd av Hayes kommandouppsättning (som kallas <quote>AT</quote>-kommandon). Hayes kommandouppsättning kan delas upp i fyra grupper:</para>
<listitem><para>En <quote>&</quote> (och-tecken) och en stor bokstav följd av en siffra. Det här är en utökning av den grundläggande kommandouppsättningen, till exempel <command>&M1</command>. Observera att <command>M1</command> skiljer sig från <command>&M1</command>.</para></listitem>
<listitem><para>Inleds oftast antingen med ett bakstreck (<quote>\</quote>), eller ett procenttecken (<quote>%</quote>), och varierar mycket mellan olika modemtillverkare. Av den anledningen anges bara ett fåtal av dessa kommandon nedan.</para></listitem>
<listitem><para><command>S<replaceable>r</replaceable>=<replaceable>n</replaceable></command> där <replaceable>r</replaceable> är numret på registret som ska ändras, och <replaceable>n</replaceable> är det nya värdet som tilldelas.</para>
<para>Ett <quote>register</quote> är datorspråk för en speciell fysisk plats i minnet. Modem har en liten mängd minne inbyggt. Den här fjärde gruppen av kommandon används för att skriva in värden i ett specifikt register (minnescell). Registret lagrar en speciell <quote>variabel</quote> (alfanumerisk information) som används av modemet och kommunikationsprogramvaran. Kommandot <command>S7=60</command> talar till exempel om för din dator att den ska <quote>sätta register nummer 7 till värdet 60</quote>.</para></listitem>
<note><para>Även om de flesta kommandon definieras med en kombination av bokstav och siffra (<command>L0</command>, <command>L1</command> osv.), är användningen av en nolla valfri. I det här exemplet är <command>L0</command> samma sak som enbart <command>L</command>. Kom ihåg detta när du läser tabellen nedan!</para></note>
<listitem><para>gör att programvaran gör en paus på en sekund. Du kan använda mer än ett <command>,</command> i rad. Till exempel <command>,,,,</command> anger att programvaran ska vänta i fyra sekunder (Pausens längd styrs av värdet i register <varname>S8</varname>).</para></listitem>
<listitem><para>Skickar det avslutande returtecknet till modemet. Det här är en styrkod som den flesta kommunikationsprogram tolkar som <quote>vagnretur</quote>.</para></listitem></varlistentry>
<entry><command>E0</command> eller <command>E</command></entry>
<entry>Inget eko</entry>
<entry>Ekar inte kommandon till datorn</entry>
</row>
<row>
<entry><command>E1</command></entry>
<entry>Eko</entry>
<entry>Ekar kommandon till datorn (så att man kan se vad man skriver)</entry>
</row>
<row>
<entry><command>H0</command></entry>
<entry>Status för luren</entry>
<entry>Pålagd - lägg på</entry>
</row>
<row>
<entry><command>H1</command></entry>
<entry>Status för luren</entry>
<entry>Inte pålagd - luren lyft</entry>
</row>
<row>
<entry><command>I0</command> eller <command>I</command></entry>
<entry>Efterforskning, information eller förfrågan</entry>
<entry>Det här kommandot är mycket modellberoende. <command>I0</command> returnerar ofta ett nummer eller en kod, medan högre siffror ofta ger mycket mer användbar information.</entry>
</row>
<row>
<entry><command>L0</command> eller <command>L</command></entry>
<entry>Ljudstyrka i högtalare. Modem med volymkontrollknappar har inte de här alternativen.</entry>
<entry>Av eller låg volym</entry>
</row>
<row>
<entry><command>L1</command></entry>
<entry></entry>
<entry>Låg volym</entry>
</row>
<row>
<entry><command>L2</command></entry>
<entry></entry>
<entry>Medelhög volym</entry>
</row>
<row>
<entry><command>L3</command></entry>
<entry></entry>
<entry>Stark eller hög volym</entry>
</row>
<row>
<entry><command>M0</command> eller <command>M</command></entry>
<entry>Högtalaren avstängd</entry>
<entry><command>M3</command> är också vanlig, men olika för olika märken</entry>
</row>
<row>
<entry><command>M1</command></entry>
<entry></entry>
<entry>Högtalaren på till fjärrbärvågen har upptäckts (dvs. till det andra modemet hörs)</entry>
</row>
<row>
<entry><command>M2</command></entry>
<entry></entry>
<entry>Högtalaren är alltid på (dataljud hörs efter CONNECT)</entry>
</row>
<row>
<entry><command>N0</command> eller <command>N</command></entry>
<entry>Förhandlingshastighet</entry>
<entry>Förhandla bara med hastighet i <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>N1</command></entry>
<entry></entry>
<entry>Förhandla bara med högsta hastighet större än <link linkend="hayes-s37"><varname>S37</varname></link></entry>
</row>
<row>
<entry><command>O0</command> eller <command>O</command></entry>
<entry>Återgå till uppkopplat läge</entry>
<entry>Se också <link linkend="hayes-basic-x1"><command>X1</command></link> eftersom detektering av samtalston kan vara aktiverad.</entry>
</row>
<row>
<entry><command>O1</command></entry>
<entry></entry>
<entry>Återgå till uppkopplat läge efter en sekvens för att lära upp tonkontrollen</entry>
</row>
<row>
<entry><command>Q0</command> eller <command>Q1</command></entry>
<entry>Tyst läge</entry>
<entry>Av - Visar resultatkoder, användaren ser kommandosvar (t.ex. <computeroutput>OK</computeroutput>)</entry>
</row>
<row>
<entry><command>Q1</command></entry>
<entry>Tyst läge</entry>
<entry>På - Resultatkoder undertrycks, användaren ser inte svar.</entry>
<entry>Lagra värdet av <replaceable>r</replaceable> i S-register <replaceable>n</replaceable></entry>
</row>
<row>
<entry><command>V0</command> eller <command>V</command></entry>
<entry>Pratig</entry>
<entry>Numeriska resultatkoder</entry>
</row>
<row>
<entry><command>V1</command></entry>
<entry></entry>
<entry>Resultatkoder på engelska (t.ex. <computeroutput>CONNECT</computeroutput>, <computeroutput>BUSY</computeroutput>, <computeroutput>NO CARRIER</computeroutput> etc.)</entry>
</row>
<row>
<entry><command>X0</command> eller <command>X</command></entry>
<entry>Lägger oftast till anslutningshastighet till de grundläggande resultatkoderna (t.ex. <computeroutput>CONNECT 1200</computeroutput>)</entry>
</row>
<row>
<entry><command>X2</command></entry>
<entry></entry>
<entry>Lägger ofta till detektering av samtalston (som förhindrar uppringning i blindo och ibland <command>AT0</command>)</entry>
</row>
<row>
<entry><command>X3</command></entry>
<entry></entry>
<entry>Lägger ofta till detektering av upptagetton</entry>
</row>
<row>
<entry><command>X4</command></entry>
<entry></entry>
<entry>Lägger ofta till detektering av både samtalston och upptagetton</entry>
</row>
<row>
<entry><command>Z0</command> eller <command>Z</command></entry>
<entry>Återställ</entry>
<entry>Återställer modemet till den lagrade inställningen. Använd <command>Z0</command>, <command>Z1</command> etc., för flera profiler. Det här är samma sak som <command>&F</command> för fabriksinställningar för modem utan <acronym>NVRAM</acronym> (ickeflyktigt minne)</entry>
<entry><command>&B0</command> eller <command>&B</command></entry>
<entry>Upplärningsparametrar</entry>
<entry>Stäng av den automatiska upplärningsfunktionen</entry>
</row>
<row>
<entry><command>&B1</command></entry>
<entry>Upplärningsparametrar</entry>
<entry>Aktivera den automatiska upplärningsfunktionen</entry>
</row>
<row>
<entry><command>&B2</command></entry>
<entry>Upplärningsparametrar</entry>
<entry>Aktivera automatiska upplärning, men koppla ner om ingen förbättring på linjen inträffar styrt av <link linkend="hayes-s7"><varname>S7</varname></link></entry>
<entry>Lägg på, återställ modemet, och återgå till kommandoläge vid <acronym>DTR</acronym></entry>
</row>
<row>
<entry><command>&F0</command> eller <command>&F</command></entry>
<entry>Fabriksinställningar</entry>
<entry><para>Generella förvalda inställningar som passar ihop med Hayes </para><para>Det här är ofta en bra sak att använda i din initieringssträng, eftersom <command>&F1</command>-<command>&F3</command> inställningarna kan variera bland modem, och de kan verkligen vara orsaken till anslutningsproblem (Eftersom du aldrig vet säkert vad <command>&F2</command> kommandot verkligen ändrar för märket X).</para><para>Å andra sidan lönar det sig att försöka med övriga alternativ nedan. Många problem som finns kan lösas genom att byta ut en komplicerad initieringssträng med ett enkelt <command>&F2</command> eller liknande. Om du håller på att skapa en initieringssträng, är det bäst att börja med ett enkelt <command>&F</command>, och inte använda de <quote>anpassade</quote> sorternas förval.</para></entry>
</row>
<row>
<entry><command>&F1</command></entry>
<entry>Fabriksinställningar</entry>
<entry>Fabriksinställningar anpassade för användare av IBM <acronym>PC</acronym></entry>
</row>
<row>
<entry><command>&F2</command></entry>
<entry>Fabriksinställningar</entry>
<entry>Fabriksinställningar anpassade för en Mac med programvaruflödeskontroll</entry>
</row>
<row>
<entry><command>&F3</command></entry>
<entry>Fabriksinställningar</entry>
<entry>Fabriksinställningar anpassade för en Mac med programvaruflödeskontroll</entry>
</row>
<row>
<entry><command>&G0</command> eller <command>&G</command></entry>
<entry>Vakttoner</entry>
<entry>Stäng av vakttoner</entry>
</row>
<row>
<entry><command>&K0</command> eller <command>&K</command></entry>
<entry>Stäng av V.32 <acronym>TCM</acronym></entry>
</row>
<row>
<entry><command>&V0</command> eller <command>&V1</command></entry>
<entry>Visa aktiv</entry>
<entry>(och ofta lagrad) inställningsprofil (eller <command>ATI4</command>)</entry>
</row>
<row>
<entry><command>&W0</command> eller <command>&W</command></entry>
<entry>Lagra profil</entry>
<entry>I <acronym>NVRAM</acronym> (<command>&W0</command>, <command>&W1</command> etc. för flera profiler) Vissa inställningar kan inte lagras. Dessa visas ofta inte med <command>&V</command> eller <command>ATI4</command></entry>
</row>
<row>
<entry><command>&Y0</command> eller <command>&Y</command></entry>
<entry>Välj inställningar som laddades vid uppstart</entry>
<entry>Ladda profil 0 (förvald)</entry>
</row>
<row>
<entry><command>&Y1</command></entry>
<entry>Välj inställningar som laddades vid uppstart</entry>
<para>En direktanslutning är en enkel rakt genomgående anslutning utan feldetektering eller datakompression. I det här fallet måste hastigheterna från dator till modem och från modem till modem vara identiska.</para>
<para>En normal anslutning använder flödeskontroll (antingen i programvara eller hårdvara) för att buffra data som skickas eller tas emot, så att modemet kan skicka data i en annan hastighet än datorn verkligen skickar eller tar emot det med. En dator kan till exempel skicka data med 57 kbps, men med kompression skickar modemet egentligen bara 28,8 kbps. Det här är läget som används av de flesta modem.</para>
<para>En tillförlitlig anslutning är en sorts normal anslutning, men om datakomprimering eller felkorrigering av någon anledning inte kan upprättas eller underhållas, så kopplas förbindelsen ner (I huvudsak garanterar ett sådant modem att alla förbindelser är tillförlitliga, eftersom det lägger på om förbindelsen inte är det).</para>
<para>På samma sätt, är en automatiskt tillförlitlig länk nästan samma sak, utom att modemet försöker förhandla om förbindelsen för att upprätta en tillförlitlig förbindelse. Återigen, detta är det läge som de flesta modem använder.</para>
<para>Många modem har dussintal, till och med hundratals, S-register, men bara det första dussinet är någorlunda standardiserade. De ändras med kommandon som <command>ATS<replaceable>n</replaceable>=<replaceable>N</replaceable></command>, och visas med <command>ATS<replaceable>n</replaceable>?</command> (t.ex. <userinput><command>AT</command> <command>S10</command><option>=70</option> <command>S1?</command></userinput> skulle tala om för modemet att inte lägga på förrän efter sju sekunder om det inte hör ett modem som svarar, och returnera antal gånger som telefonen ringde senast.)</para>