Kommandouppsättning för Hayes-modemHä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ättningEn stor bokstav följd av en siffra. Till exempel, M1.Utökad kommandouppsättningEn & (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ättningInleds 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.RegisterkommandonSr=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.ATTalar 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).^MSkickar det avslutande returtecknet till modemet. Det här är en styrkod som den flesta kommunikationsprogram tolkar som vagnretur.Den grundläggande Hayes kommandouppsättningenI alfabetisk ordning
Grundläggande Hayes kommandouppsättningKommandoBeskrivningKommentarerA0 eller ASvara på inkommande samtalA/Upprepa senaste kommandoSkriv inte AT innan. Nyrad avbryter oftast.B0 eller BSamtalsförhandlingV32-läge/CCITT-svarssekvensB1SamtalsförhandlingBell 212A svarssekvensB2SamtalsförhandlingPratig/tyst vid svarDUppringningRing följande nummer och förhandla i ursprungsläge.PUppringning med pulsvalTUppringning med tonvalWVä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.LRing upp senaste nummerE0 eller EInget ekoEkar inte kommandon till datornE1EkoEkar kommandon till datorn (så att man kan se vad man skriver)H0Status för lurenPålagd - lägg påH1Status för lurenInte pålagd - luren lyftI0 eller IEfterforskning, information eller förfråganDet 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 LLjudstyrka i högtalare. Modem med volymkontrollknappar har inte de här alternativen.Av eller låg volymL1Låg volymL2Medelhög volymL3Stark eller hög volymM0 eller MHögtalaren avstängdM3 är också vanlig, men olika för olika märkenM1Högtalaren på till fjärrbärvågen har upptäckts (dvs. till det andra modemet hörs)M2Högtalaren är alltid på (dataljud hörs efter CONNECT)N0 eller NFörhandlingshastighetFörhandla bara med hastighet i S37N1Förhandla bara med högsta hastighet större än S37O0 eller OÅtergå till uppkopplat lägeSe också X1 eftersom detektering av samtalston kan vara aktiverad.O1Återgå till uppkopplat läge efter en sekvens för att lära upp tonkontrollenQ0 eller Q1Tyst lägeAv - Visar resultatkoder, användaren ser kommandosvar (t.ex. OK)Q1Tyst lägePå - Resultatkoder undertrycks, användaren ser inte svar.Sn?Fråga efter innehållet i S-register nSn=rLagraLagra värdet av r i S-register nV0 eller VPratigNumeriska resultatkoderV1Resultatkoder på engelska (t.ex. CONNECT, BUSY, NO CARRIER etc.)X0 eller XSmartmodemHayes Smartmodem 300 resultatkoderX1Lägger oftast till anslutningshastighet till de grundläggande resultatkoderna (t.ex. CONNECT 1200)X2Lägger ofta till detektering av samtalston (som förhindrar uppringning i blindo och ibland AT0)X3Lägger ofta till detektering av upptagettonX4Lägger ofta till detektering av både samtalston och upptagettonZ0 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ättningenKommandoBeskrivningKommentarer&B0 eller &BUpplärningsparametrarStäng av den automatiska upplärningsfunktionen&B1UpplärningsparametrarAktivera den automatiska upplärningsfunktionen&B2UpplärningsparametrarAktivera automatiska upplärning, men koppla ner om ingen förbättring på linjen inträffar styrt av S7&C0 eller &C1BärvågsdetekteringSignalen är alltid på&C1BärvågsdetekteringAnger fjärrbärvåg (normalt föredraget förval)&D0 eller &DData Terminal Ready (DTR)Signalen ignoreras (Det här är modemspecifikt, du måste titta i din handbok för information om det här!)&D1Data Terminal Ready (DTR)Om DTR går från på till av så går modemet till kommandoläge (enbart vissa modem)&D2Data 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)&D3Data Terminal Ready (DTR)Lägg på, återställ modemet, och återgå till kommandoläge vid DTR&F0 eller &FFabriksinställningarGenerella 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.&F1FabriksinställningarFabriksinställningar anpassade för användare av IBM PC&F2FabriksinställningarFabriksinställningar anpassade för en Mac med programvaruflödeskontroll&F3FabriksinställningarFabriksinställningar anpassade för en Mac med programvaruflödeskontroll&G0 eller &GVakttonerStäng av vakttoner&K0 eller &KLokal flödeskontrollStäng av lokal flödeskontroll&K1Lokal flödeskontrollAktivera RTS/CTS hårdvaruflödeskontroll&K2Lokal flödeskontrollAktivera XON/XOFF lokal flödeskontroll med programvara&K3Lokal flödeskontrollAktivera RTS/CTS hårdvaruflödeskontroll&K4Lokal flödeskontrollAktivera XON/XOFF lokal flödeskontroll med programvara&L0 eller &LUppringningslägeVälj uppringningsläge&M0 eller &MFelkontrollägeVälj asynkront icke-EC läge (samma som &Q0)&P0 eller &PPulsvalshastighetU.S.A./Kanada pulsvalsuppringning 39% sluten / 61% öppen förhållande&P1PulsvalshastighetStorbrittanien./Hong Kong pulsvalsuppringning 33% sluten / 67% öppen förhållande&Q0 eller &QFelkontrollägeAsynkront icke-EC läge. Ingen databuffring. ASB avstängd.&Q5FelkontrollägeVälj V.42 EC-användning (kräver flödeskontroll)&Q6FelkontrollägeAsynkront läge med ASB (kräver flödeskontroll)&Q8FelkontrollägeVälj alternativt EC protokoll (MNP)&Q9FelkontrollägeVillkorlig datakomprimering: V.42bis = ja, MNP5 = nej.&S0 eller &SDSR-åtgärdsvalAlltid på (förvalt)&S1DSR-åtgärdsvalFöljer EIA-specifikationen (Aktiv följer bärvågstonen, tills bärvågen förloras).&T0 eller &TSjälvtestModellspecifik självtest för vissa modem&U0 eller &UTrelliskod-modulationAktivera V.32 TCM&U1Trelliskod-modulationStäng av V.32 TCM&V0 eller &V1Visa aktiv(och ofta lagrad) inställningsprofil (eller ATI4)&W0 eller &WLagra profilI NVRAM (&W0, &W1 etc. för flera profiler) Vissa inställningar kan inte lagras. Dessa visas ofta inte med &V eller ATI4&Y0 eller &YVälj inställningar som laddades vid uppstartLadda profil 0 (förvald)&Y1Välj inställningar som laddades vid uppstartLadda profil 1&Zn=xMjuk återställning och ladda lagrad profil nummer nObservera att alla tecken efter &Z på kommandoraden ignoreras
Bakstreck- och procentkommandon
Bakstreck- och procentkommandonKommandoBeskrivningKommentarer\A0 eller \AMaximalt antal tecken för MNP-blockstorlekMaximalt 64 tecken\A1Maximalt antal tecken för MNP-blockstorlekMaximalt 128 tecken\A2Maximalt antal tecken för MNP-blockstorlekMaximalt 192 tecken\A3Maximalt antal tecken för MNP-blockstorlekMaximalt 256 tecken%C0 eller %CAktivera eller stäng av datakomprimeringAvstängd%C1Aktivera eller stäng av datakomprimeringMNP5 aktiverad%C2Aktivera eller stäng av datakomprimeringV.42bis (BTLZ) aktiverad%C3Aktivera eller stäng av datakomprimeringMNP5 & V.42bis (BTLZ) aktiverade%D0 eller %DDatakomprimering512 BLTZ katalogstorlek%D1Datakomprimering1024 BLTZ katalogstorlek%D2Datakomprimering2048 BLTZ katalogstorlek%D3Datakomprimering4096 BLTZ katalogstorlek%E0 eller %E1Metod för att avbrytaAvbryt avstängd%E1Metod för att avbryta+++AT-metoden (förvald)%E2Metod för att avbrytaBreak, AT-metoden%E3Metod för att avbrytaBåda metoderna aktiverade%E4Metod för att avbrytaStäng av OK för +++%E5Metod för att avbrytaAktivera OK för +++\J0 eller \JDTE automatisk hastighetsjusteringAvstängd\J1DTE automatisk hastighetsjusteringDTE-hastigheten justeras för att passa bärvågsfrekvensen.\N0 eller \NAnslutningstypNormal anslutning (se nedan för definitioner)\N1AnslutningstypDirektanslutning\N2AnslutningstypMNP automatiskt tillförlitlig anslutning\N3AnslutningstypAutomatiskt tillförlitlig anslutning\N4AnslutningstypV.42bis tillförlitlig länk med fasdetektering\N5AnslutningstypV.42bis automatiskt tillförlitlig länk med fasdetektering\N6AnslutningstypV.42 tillförlitlig länk med fasdetektering\N7AnslutningstypV.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-registerRegisterIntervallFörvalFunktionS00-255 ringsignaler1-2Svara på ringsignal. Svara inte om 0S10-255 ringsignaler0Om S0 är större än 0 räknar det här registret inkommande ringsignaler.S20-127 ASCII43 +Tecken för avbryt till kommandolägeS2>127Avbryt inteS30-127 ASCII13 CRReturteckenS40-127 ASCII10 LFNyradsteckenS50-32, 127 ASCII8 BSBackstegsteckenS62-255 sekunder2Väntetid på samtalston (uppringning i blindo, se Xn)S71-255 sekunder30-60Väntetid för fjärrbärvågS80-255 sekunder2Paustiden för kommatecken som används vid uppringningS91-255 1/10-dels sekund6Tid för upptäckt av bärvåg som krävs för att känna igen denS101-255 1/10-dels sekund7-14Tid mellan förlust av bärvåg och att lägga påS1150-255 millisekunder70-95Längd och mellanrum för toner med tonvalS120-255 1/50-dels sekunder50Vakttid för paus omkring +++ kommandosekvensenS36Reservalternativ när en länk med felrättning slutar fungera:0 - Koppla ner3 - Upprätta en direktförbindelse3 - Upprätta en normal förbindelse4 - Upprätta en MNP-anslutning om möjligt, annars koppla ner5 - Upprätta en MNP-anslutning om möjligt, annars en direktanslutning7 - Upprätta en MNP-anslutning om möjligt, annars en normal anslutning7Hantering av förhandlingsfelS371 = 300 bps5 = 1200 bps6 = 2400 bps7 = 1200/75 bps (v.23-läge)8 = 4800 bps9 = 9600 bps10 = 12000 bps11 = 14400 bps12 = 7200 bps0Fö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. ATS10S1? 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.)