Kommandouppsättning för Hayes-modem 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: ATM0 -- till sist, tystnad! 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. 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 AT-kommandon). Hayes kommandouppsättning kan delas upp i fyra grupper: Grundläggande kommandouppsättning En stor bokstav följd av en siffra. Till exempel, M1. Utökad kommandouppsättning En & (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 &M1. Observera att M1 skiljer sig från &M1. Tillverkarspecifik kommandouppsättning Inleds oftast antingen med ett bakstreck (\), eller ett procenttecken (%), och varierar mycket mellan olika modemtillverkare. Av den anledningen anges bara ett fåtal av dessa kommandon nedan. Registerkommandon Sr=n där r är numret på registret som ska ändras, och n är det nya värdet som tilldelas. Ett register ä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 variabel (alfanumerisk information) som används av modemet och kommunikationsprogramvaran. Kommandot S7=60 talar till exempel om för din dator att den ska sätta register nummer 7 till värdet 60. Även om de flesta kommandon definieras med en kombination av bokstav och siffra (L0, L1 osv.), är användningen av en nolla valfri. I det här exemplet är L0 samma sak som enbart L. Kom ihåg detta när du läser tabellen nedan! Här är några av de viktigaste tecken som kan finnas i modeminitieringssträngen. De här tecknen ska normalt inte ändras. AT Talar om för modemet att modemkommandon kommer efteråt. Det här måste inleda varje rad med kommandon. Z Återställer modemet till det förinställda läget , (ett kommatecken) gör att programvaran gör en paus på en sekund. Du kan använda mer än ett , i rad. Till exempel ,,,, anger att programvaran ska vänta i fyra sekunder (Pausens längd styrs av värdet i register S8). ^M Skickar det avslutande returtecknet till modemet. Det här är en styrkod som den flesta kommunikationsprogram tolkar som vagnretur. Den grundläggande Hayes kommandouppsättningen I alfabetisk ordning Grundläggande Hayes kommandouppsättning Kommando Beskrivning Kommentarer A0 eller A Svara på inkommande samtal A/ Upprepa senaste kommando Skriv inte AT innan. Nyrad avbryter oftast. B0 eller B Samtalsförhandling V32-läge/CCITT-svarssekvens B1 Samtalsförhandling Bell 212A svarssekvens B2 Samtalsförhandling Pratig/tyst vid svar D Uppringning Ring följande nummer och förhandla i ursprungsläge. P Uppringning med pulsval T Uppringning med tonval W Vänta på andra samtalstonen , Vänta den tid som anges i registret S8 (oftast 2 sekunder) ; Bli kvar i kommandoläge efter uppringning. ! Lägg på en halv sekund, som när ett samtal kopplas vidare. L Ring upp senaste nummer E0 eller E Inget eko Ekar inte kommandon till datorn E1 Eko Ekar kommandon till datorn (så att man kan se vad man skriver) H0 Status för luren Pålagd - lägg på H1 Status för luren Inte pålagd - luren lyft I0 eller I Efterforskning, information eller förfrågan Det här kommandot är mycket modellberoende. I0 returnerar ofta ett nummer eller en kod, medan högre siffror ofta ger mycket mer användbar information. L0 eller L Ljudstyrka i högtalare. Modem med volymkontrollknappar har inte de här alternativen. Av eller låg volym L1 Låg volym L2 Medelhög volym L3 Stark eller hög volym M0 eller M Högtalaren avstängd M3 är också vanlig, men olika för olika märken M1 Högtalaren på till fjärrbärvågen har upptäckts (dvs. till det andra modemet hörs) M2 Högtalaren är alltid på (dataljud hörs efter CONNECT) N0 eller N Förhandlingshastighet Förhandla bara med hastighet i S37 N1 Förhandla bara med högsta hastighet större än S37 O0 eller O Återgå till uppkopplat läge Se också X1 eftersom detektering av samtalston kan vara aktiverad. O1 Återgå till uppkopplat läge efter en sekvens för att lära upp tonkontrollen Q0 eller Q1 Tyst läge Av - Visar resultatkoder, användaren ser kommandosvar (t.ex. OK) Q1 Tyst läge På - Resultatkoder undertrycks, användaren ser inte svar. Sn? Fråga efter innehållet i S-register n Sn=r Lagra Lagra värdet av r i S-register n V0 eller V Pratig Numeriska resultatkoder V1 Resultatkoder på engelska (t.ex. CONNECT, BUSY, NO CARRIER etc.) X0 eller X Smartmodem Hayes Smartmodem 300 resultatkoder X1 Lägger oftast till anslutningshastighet till de grundläggande resultatkoderna (t.ex. CONNECT 1200) X2 Lägger ofta till detektering av samtalston (som förhindrar uppringning i blindo och ibland AT0) X3 Lägger ofta till detektering av upptagetton X4 Lägger ofta till detektering av både samtalston och upptagetton Z0 eller Z Återställ Återställer modemet till den lagrade inställningen. Använd Z0, Z1 etc., för flera profiler. Det här är samma sak som &F för fabriksinställningar för modem utan NVRAM (ickeflyktigt minne)
Den utökade Hayes kommandouppsättningenKommandon med och-tecken Den utökade Hayes kommandouppsättningen Kommando Beskrivning Kommentarer &B0 eller &B Upplärningsparametrar Stäng av den automatiska upplärningsfunktionen &B1 Upplärningsparametrar Aktivera den automatiska upplärningsfunktionen &B2 Upplärningsparametrar Aktivera automatiska upplärning, men koppla ner om ingen förbättring på linjen inträffar styrt av S7 &C0 eller &C1 Bärvågsdetektering Signalen är alltid på &C1 Bärvågsdetektering Anger fjärrbärvåg (normalt föredraget förval) &D0 eller &D Data Terminal Ready (DTR) Signalen ignoreras (Det här är modemspecifikt, du måste titta i din handbok för information om det här!) &D1 Data Terminal Ready (DTR) Om DTR går från på till av så går modemet till kommandoläge (enbart vissa modem) &D2 Data Terminal Ready (DTR) Vissa modem lägger på när DTR går från på till av (Det här är förvalet att föredra) &D3 Data Terminal Ready (DTR) Lägg på, återställ modemet, och återgå till kommandoläge vid DTR &F0 eller &F Fabriksinställningar Generella förvalda inställningar som passar ihop med Hayes Det här är ofta en bra sak att använda i din initieringssträng, eftersom &F1-&F3 inställningarna kan variera bland modem, och de kan verkligen vara orsaken till anslutningsproblem (Eftersom du aldrig vet säkert vad &F2 kommandot verkligen ändrar för märket X).Å 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 &F2 eller liknande. Om du håller på att skapa en initieringssträng, är det bäst att börja med ett enkelt &F, och inte använda de anpassade sorternas förval. &F1 Fabriksinställningar Fabriksinställningar anpassade för användare av IBM PC &F2 Fabriksinställningar Fabriksinställningar anpassade för en Mac med programvaruflödeskontroll &F3 Fabriksinställningar Fabriksinställningar anpassade för en Mac med programvaruflödeskontroll &G0 eller &G Vakttoner Stäng av vakttoner &K0 eller &K Lokal flödeskontroll Stäng av lokal flödeskontroll &K1 Lokal flödeskontroll Aktivera RTS/CTS hårdvaruflödeskontroll &K2 Lokal flödeskontroll Aktivera XON/XOFF lokal flödeskontroll med programvara &K3 Lokal flödeskontroll Aktivera RTS/CTS hårdvaruflödeskontroll &K4 Lokal flödeskontroll Aktivera XON/XOFF lokal flödeskontroll med programvara &L0 eller &L Uppringningsläge Välj uppringningsläge &M0 eller &M Felkontrolläge Välj asynkront icke-EC läge (samma som &Q0) &P0 eller &P Pulsvalshastighet U.S.A./Kanada pulsvalsuppringning 39% sluten / 61% öppen förhållande &P1 Pulsvalshastighet Storbrittanien./Hong Kong pulsvalsuppringning 33% sluten / 67% öppen förhållande &Q0 eller &Q Felkontrolläge Asynkront icke-EC läge. Ingen databuffring. ASB avstängd. &Q5 Felkontrolläge Välj V.42 EC-användning (kräver flödeskontroll) &Q6 Felkontrolläge Asynkront läge med ASB (kräver flödeskontroll) &Q8 Felkontrolläge Välj alternativt EC protokoll (MNP) &Q9 Felkontrolläge Villkorlig datakomprimering: V.42bis = ja, MNP5 = nej. &S0 eller &S DSR-åtgärdsval Alltid på (förvalt) &S1 DSR-åtgärdsval Följer EIA-specifikationen (Aktiv följer bärvågstonen, tills bärvågen förloras). &T0 eller &T Självtest Modellspecifik självtest för vissa modem &U0 eller &U Trelliskod-modulation Aktivera V.32 TCM &U1 Trelliskod-modulation Stäng av V.32 TCM &V0 eller &V1 Visa aktiv (och ofta lagrad) inställningsprofil (eller ATI4) &W0 eller &W Lagra profil I NVRAM (&W0, &W1 etc. för flera profiler) Vissa inställningar kan inte lagras. Dessa visas ofta inte med &V eller ATI4 &Y0 eller &Y Välj inställningar som laddades vid uppstart Ladda profil 0 (förvald) &Y1 Välj inställningar som laddades vid uppstart Ladda profil 1 &Zn=x Mjuk återställning och ladda lagrad profil nummer n Observera att alla tecken efter &Z på kommandoraden ignoreras
Bakstreck- och procentkommandon Bakstreck- och procentkommandon Kommando Beskrivning Kommentarer \A0 eller \A Maximalt antal tecken för MNP-blockstorlek Maximalt 64 tecken \A1 Maximalt antal tecken för MNP-blockstorlek Maximalt 128 tecken \A2 Maximalt antal tecken för MNP-blockstorlek Maximalt 192 tecken \A3 Maximalt antal tecken för MNP-blockstorlek Maximalt 256 tecken %C0 eller %C Aktivera eller stäng av datakomprimering Avstängd %C1 Aktivera eller stäng av datakomprimering MNP5 aktiverad %C2 Aktivera eller stäng av datakomprimering V.42bis (BTLZ) aktiverad %C3 Aktivera eller stäng av datakomprimering MNP5 & V.42bis (BTLZ) aktiverade %D0 eller %D Datakomprimering 512 BLTZ katalogstorlek %D1 Datakomprimering 1024 BLTZ katalogstorlek %D2 Datakomprimering 2048 BLTZ katalogstorlek %D3 Datakomprimering 4096 BLTZ katalogstorlek %E0 eller %E1 Metod för att avbryta Avbryt avstängd %E1 Metod för att avbryta +++AT-metoden (förvald) %E2 Metod för att avbryta Break, AT-metoden %E3 Metod för att avbryta Båda metoderna aktiverade %E4 Metod för att avbryta Stäng av OK för +++ %E5 Metod för att avbryta Aktivera OK för +++ \J0 eller \J DTE automatisk hastighetsjustering Avstängd \J1 DTE automatisk hastighetsjustering DTE-hastigheten justeras för att passa bärvågsfrekvensen. \N0 eller \N Anslutningstyp Normal anslutning (se nedan för definitioner) \N1 Anslutningstyp Direktanslutning \N2 Anslutningstyp MNP automatiskt tillförlitlig anslutning \N3 Anslutningstyp Automatiskt tillförlitlig anslutning \N4 Anslutningstyp V.42bis tillförlitlig länk med fasdetektering \N5 Anslutningstyp V.42bis automatiskt tillförlitlig länk med fasdetektering \N6 Anslutningstyp V.42 tillförlitlig länk med fasdetektering \N7 Anslutningstyp V.42 automatiskt tillförlitlig länk med fasdetektering
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. 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. 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). 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.
S-register S-register Register Intervall Förval Funktion S0 0-255 ringsignaler 1-2 Svara på ringsignal. Svara inte om 0 S1 0-255 ringsignaler 0 Om S0 är större än 0 räknar det här registret inkommande ringsignaler. S2 0-127 ASCII 43 + Tecken för avbryt till kommandoläge S2 >127 Avbryt inte S3 0-127 ASCII 13 CR Returtecken S4 0-127 ASCII 10 LF Nyradstecken S5 0-32, 127 ASCII 8 BS Backstegstecken S6 2-255 sekunder 2 Väntetid på samtalston (uppringning i blindo, se Xn) S7 1-255 sekunder 30-60 Väntetid för fjärrbärvåg S8 0-255 sekunder 2 Paustiden för kommatecken som används vid uppringning S9 1-255 1/10-dels sekund 6 Tid för upptäckt av bärvåg som krävs för att känna igen den S10 1-255 1/10-dels sekund 7-14 Tid mellan förlust av bärvåg och att lägga på S11 50-255 millisekunder 70-95 Längd och mellanrum för toner med tonval S12 0-255 1/50-dels sekunder 50 Vakttid för paus omkring +++ kommandosekvensen S36 Reservalternativ när en länk med felrättning slutar fungera: 0 - Koppla ner 3 - Upprätta en direktförbindelse 3 - Upprätta en normal förbindelse 4 - Upprätta en MNP-anslutning om möjligt, annars koppla ner 5 - Upprätta en MNP-anslutning om möjligt, annars en direktanslutning 7 - Upprätta en MNP-anslutning om möjligt, annars en normal anslutning 7 Hantering av förhandlingsfel S37 1 = 300 bps 5 = 1200 bps 6 = 2400 bps 7 = 1200/75 bps (v.23-läge) 8 = 4800 bps 9 = 9600 bps 10 = 12000 bps 11 = 14400 bps 12 = 7200 bps 0 Förhandlingshastighet (inledande förhandling)
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 ATSn=N, och visas med ATSn? (t.ex. AT S10 S1? 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.)