Zbiór poleceń modemu w standardzie Hayes Niniejszy tekst zawiera opis poleceń modemowych w standardzie Hayes. Większość dostępnych na rynku modemów obsługuje dużą część tych poleceń. Jeżeli instrukcja modemu jest niedostępna (lub np. wcale jej nie było) to niniejszy opis na pewno się przyda. Można na przykład dowiedzieć się jak wyłączyć głośnik w modemie: wystarczy wpisać ATM0 i ..... nareszcie cisza !!! Ciąg znaków inicjujących pracę modemu, zawiera zbiór poleceń. Jego zadaniem jest przygodowanie modemu do celów komunikacji, ustawiając takie opcje jak: tryb dzwonienia, czasy oczekiwania, cechy sygnału zajętości oraz wiele innych. Współczesne oprogramowanie komunikacyjne ustawia polecenia inicjujące modem, w zależności od opcji konfiguracyjnych ustawianych przez użytkownika w menu, oknach dialogowych, itp. Przez wiele lat, modemy firmy Hayes były standardem. Jeżeli nowe firmy rozpoczynały produkcję i sprzedaż modemów, to w dużej mierze stosowały się do standardu firmy Hayes. Poniżej znajduje się lista wybranych poleceń standardu Hayes (nazywanych też poleceniami AT). Zbiór poleceń standardu Hayes może być podzielony na cztery grupy: Polecenia podstawowe Duża litera z następującą po niej liczbą, np.: M1. Polecenia rozszerzone Znak & (ampersand) oraz duża litera z następującą po niej cyfrą. Jest to rozszerzenie standardowego zestawu poleceń, na przykład &M1. Należy zwrócić uwagę, iż polecenie M1 to nie to samo, co polecenie: &M1. Polecenia specyficzne dla producenta Rozpoczynają się albo od ukośnika (\), lub znaku procent (%), Polecenia te są zróżnicowane w modemach różnych producentów, z tego powodu omówione zostaną jedynie niektóre z nich. Polecenia obsługi rejestrów Postaci Sr=n gdzie r jest numerem rejestru, który ma zostać zmieniony, a n jest wartością, którą należy do tego rejestru wpisać. Rejestr jest informatycznym określeniem określonej lokalizacji w pamięci. Modemy posiadają wbudowaną niewielką pamięć, do której można zapisywać określone wartości z wykorzystaniem tego zestawu poleceń. Rejestry mogą przechowywać zmienne (informacje alfanumeryczne) które są wykorzystywane przez modem i oprogramowanie komunikacyjne. Na przykład, polecenie: S7=60 instruuje modem, abyZapisać w rejestrze numer #7 wartość 60. Chociaż większość poleceń definiowana jest za pomocą kombinacji liter i cyfr (L0, L1 &etc;), to użycie cyfry zero, jest opcjonalne, tzn. w przykładzie polecenie L0 jest tożsama z poleceniem L. Należy o tym pamiętać, podczas czytania poniższej tabeli! Poniżej znajdują się niektóre z najważniejszych znaków, które powinny pojawić się w ciągu inicjującym modem. Te fragmenty ciągu nie powinny być zmieniane. AT Stanowi informację dla modemu, że zostaną przesłane polecenia sterujące. Znaki AT muszą rozpoczynać każdą linię poleceń dla modemu. Z Zeruje modem do ustawień standardowych. , (przecinek) powoduje, iż oprogramowanie oczekuje przez moment. Można wpisać więcej niż jedną poleceń , w wierszu. Na przykład zapis: ,,,, instruuje modem do wprowadzenia przerwy długości 4 sekund (Czas trwania przerwy jest zdeterminowany przez zawartość rejestru S8. ^M Przesyła kod sterujący oznaczający powrót karetki (CR - Carriage Return ) Podstawowy zestaw poleceń Hayes'a w porządku alfabetycznym: Polecenia podstawowe Komenda Opis Komentarz A0 lub A Odbierz połączenie przychodzące A/ Powtórz ostatnią poleceń Nie należy ich poprzedzać ciągiem AT. Klawisz Enter z reguły przerywa operację. B0 lub B Sposób negocjacji parametrów połączenia Standard negocjacji V32 Mode/CCITT B1 Sposób negocjacji parametrów połączenia Standard negocjacji Bell 212A B2 Sposób negocjacji parametrów połączenia Tryb gadatliwy lub cichy przy odbieraniu D Zadzwoń Dzwoni na podany numer i przekazuje sterowanie do aplikacji P Wybieranie impulsowe T Wybieranie tonowe W Poczekaj na drugi sygnał wybierania , Przewij na czas określony w rejestrze S8 (wartość domyślna to najczęściej 2 sekundy) ; Po realizacji polecenia dzwoń, pozostań w trybie komend ! Obsługa mechanizmu przenoszenia połączenia (odłożenie słuchawki przez wpisaniem numeru docelowego) L Zadzwoń pod ostatnio wybierany numer E0 lub E Brak echa Nie będzie powtarzać poleceń przekazywanych przez komputer E1 Echo Modem będzie powtarzać polecenia przekazywane przez komputer (użytkownik będzie widział co pisze w oknie terminala) H0 Ustawienie stanu słuchawki Opuszczona na widełki H1 Ustawienie stanu słuchawki Podniesiona I0 lub I Żądanie informacji o możliwościach modemu Jest to polecenie w dużej części zależna od sprzętu, polecenie I0 z reguły zwraca kod lub liczbę, wyższe numery mogą spowodować przesłanie dużo większej liczby użytecznych informacji o sprzęcie. L0 lub L Poziom głośności. Modemy z ręczną regulacją głośności, nie obsługują poniższych opcji. Wyłączenie głosu lub bardzo cichy dźwięk. L1 Cicho L2 Średnio głośno L3 Głośno lub bardzo głośno M0 lub M Wyłączenie głośnika Często stoduje się też poleceń M3, lecz może ona różnie działać w zależności od producenta modemu. M1 Głośnik włączony dopóki modem nie wykryje sygnału nośnej (tzn. do chwili pojawienia się dźwięku z drugiego modemu) M2 Głośnik jest włączony cały czas, nawet po połączeniu (słyszalne są sygnały przesyłanych danych) N0 lub N Szybkość negocjacji parametrów Negocjuj z wykorzystaniem tylko z prędkości zdefiniowanych w rejestrze S37 N1 Rozpocznij negocjację od największej dostępnej prędkości, większej od wartości zdefiniowanej w rejestrze: S37 O0 lub O Wróć do stanu - Połączony Należy zwrócić uwagę na poleceń X1, jako że wykrywanie sygnału wybierania może być aktywne. O1 Wróć do stanu połączony, po zdefiniowanym czasie działania funkcji Retrain Q0 lub Q1 Tryb cichy Wyłączony - powoduje wyświetlanie odpowiedzi modemu na polecenia użytkownika (np: OK) Q1 Tryb cichy Włączony - Odpowiedzi modemu na polecenia użytkownika są wyłączone Sn? Wyświetla zawartość rejestru S modemu, o numerze: n Sn=r Zapisz Zapisz wartość: r w rejestrze S-o numerze: n V0 lub V Tryb gadatliwy Kody stanu modemu zwracane w postaci liczbowej V1 Kody stanu zwracane przez modem jako słowa w języku angielskim (⪚ CONNECT, BUSY, NO CARRIER &etc;) X0 lub X Standard Smartmodem Kody stanu zgodne ze standardem Hayes Smartmodem 300 X1 Powoduje zwykle dodanie informacji o prędkości połączenia, do kodów rezultatu (np: CONNECT 1200 X2 Powoduje uaktywnienie wykrywania sygnału wywołania (wyłączając możliwość "ślepego" dzwonienia) i wyłączenie działania polecenia AT0) X3 Włącza opcję wykrywania sygnału zajętości X4 Włącza opcję wykrywania sygnału zajętości oraz sygnału wybierania Z0 lub Z Zerowanie Zeruje stan modemu i uaktywnia zachowaną konfigurację. Użycie poleceń Z0, Z1 itp. umożliwia korzystanie z różnych profili konfiguracji. Komenda ta działa identycznie jak &F dla przywrócenia ustawień fabrycznych w modemach bez pamięci NVRAM (pamięć nieulotna).
Rozszerzony zbiór poleceń standardu HayesPolecenia rozszerzone Rozszerzony zbiór poleceń standardu Hayes Komenda Opis Komentarz &B0 lub &B Parametry funkcji Retrain Wyłączenie automatycznego działania Retrain &B1 Parametry funkcji Retrain Włączenie automatycznego działania retrain &B2 Parametry funkcji Retrain Włączenie funkcji auto retrain, jednak modem rozłączy się, jeżeli stan linii nie poprawi się w ciągu okresu ustawionego w rejestrze S7 &C0 or &C1 Wykrywanie sygnału nośnej Sygnał zawsze włączony &C1 Wykrywanie sygnału nośnej Detekcja nośnej zdalnego modemu (najczęściej jest to wartość domyślna) &D0 lub &D Sygnał gotowości terminala (DTR) Ten sygnał jest ignorowany (Działanie jest uzależnione od sprzętu, należy sprawdzić w dokumentacji sposób reakcji na ten sygnał!) &D1 Sygnał gotowości terminala (DTR) Po zmianie stanu sygnału DTR (z włączony na wyłączony) modem przechodzi w tryb przyjmowania poleceń (dotyczy tylko niektórych modemów) &D2 Sygnał gotowości terminala (DTR) Pewne modemy po zmianie stanu sygnału DTR (z włączony na wyłączony) rozłączają się. (Działanie takie preferowane jest jako domyślne) &D3 Sygnał gotowości terminala (DTR) Powoduje rozłączenie, zerowanie modemu i powrót do trybu poleceń po otrzymaniu sygnału DTR &F0 lub &F Ustawienia fabryczne Typowe wartość domyślne w standardzie Hayes Nieraz wykorzystanie tych ustawień do definiowania ciągów połączeniowych może być przydatne, gdyż ustawienia parametrów &F1-&F3 mogą się różnić między modemami, co może powodować problemy z połączeniami (jako że nie wiadomo jakiej marki dotyczy polecenie &F2)Niejednokrotnie, wiele problemów może być rozwiązanych poprzez zastąpienie skomplikowanego ciągu poleceń, prostym poleceniem &F2, jeżeli jednak niezbędne jest utworzenie skoplikowanego ciągu poleceń, najlepiej rozpocząć od prostego: &F, unikając stosowania dostosowanych ustawień domyślnych. &F1 Ustawienia fabryczne Ustawienia fabryczne dopasowane do komputerów kompatybilnych z IBM PC. &F2 Ustawienia fabryczne Ustawienia fabryczne dla komputerów typu Mac z obsługą programowej negocjacji parametrów połączenia &F3 Ustawienia fabryczne Ustawienia fabryczne dla komputerów typu Mac ze sprzętową obsługą negocjacji parametrów połączenia &G0 lub &G Sygnał Guard Tone Wyłączenie sygnału Guard Tone &K0 lub &K Lokalna kontrola przepływu Wyłącza lokalną kontrolę przepływu &K1 Lokalna kontrola przepływu Włącza lokalną sprzętową kontrolę przepływu typu RTS/CTS &K2 Lokalna kontrola przepływu Włącza programową kontrolę przepływu XON/XOFF &K3 Lokalna kontrola przepływu Włącza lokalną sprzętową kontrolę przepływu typu RTS/CTS &K4 Lokalna kontrola przepływu Włącza programową kontrolę przepływu XON/XOFF &L0 lub &L Tryb dzwonienia Wybierz tryb połączenia &M0 lub &M Tryb kontroli błędów Włącz tryb asynchroniczny bez kontroli błędów (tak samo jak polecenie&Q0)) &P0 lub &P Parametry wybierania impulsowego Stosunek sygnału do przerwy dla U.S./Canada (39% impuls / 61% przerwa) &P1 Parametry wybierania impulsowego Stosunek sygnału do przerwy dla U.K./Hong Kong (33% impuls / 67% przerwa) &Q0 lub &Q Tryb kontroli błędów Tryb asynchroniczny bez korekcji błędów. Brak buforowania danych. ASB wyłączone. &Q5 Tryb kontroli błędów Korekcja błędów zgodna ze standardem V.42 (wymaga włączonej kontroli przepływu) &Q6 Tryb kontroli błędów Tryb asynchroniczny z włączonym ASB (wymaga włączonej kontroli przepływu) &Q8 Tryb kontroli błędów Alternatywny protokół korekcji błędów (MNP) &Q9 Tryb kontroli błędów Warunkowa kompresja danych: V.42bis = tak, MNP5 = nie. &S0 lub &S Starowanie sygnałem DSR Zawsze włączony (wartość domyślna) &S1 Starowanie sygnałem DSR Zachowanie zgodne ze specyfikacją EIA (Sygnał aktywny po uzyskaniu sygnału wybierania, nieaktywny po zerwaniu połączenia) &T0 lub &T Test modemu Działanie uzależnione od typu i producenta modemu. Występuje w niektórych modelach. &U0 lub &U Modulacja Trellis (TCM - Trellis code modulation) Włącz V.32 TCM &U1 Modulacja Trellis (TCM - Trellis code modulation) Wyłącz V.32 TCM &V0 lub &V1 Wyświetla aktywne (i często przechowywane w pamięci) skonfigurowane profile ustawień (lub polecenie ATI4 &W0 lub &W Zapisz profil W pamięci NVRAM (można stosować polecenia &W0, &W1 itp. dla wielu profili) Część ustawień nie może być zapisana, informacje o nich dostępne są po wywołaniu komend &V lub ATI4 &Y0 lub &Y Wybierz konfigurację ładowaną podczas uruchamiania Załaduj profil numer 0 (wartość domyślna) &Y1 Wybierz konfigurację ładowaną podczas uruchamiania Załaduj profil numer 1 &Zn=x Wyzeruj modem i załaduj zachowany profil o numerze n Należy podkreślić, iż wszelkie znaki w linii następujące po komendzie &Z są ignorowane
Polecenia z ukośnikiem i znakiem procent Polecenia z ukośnikiem i znakiem procent Komenda Opis Komentarz \A0 lub \A Maksymalny rozmiar bloku MNP w znakach maksymalnie 64 znaki \A1 Maksymalny rozmiar bloku MNP w znakach maksymalnie 128 znaków \A2 Maksymalny rozmiar bloku MNP w znakach maksymalnie 192 znaki \A3 Maksymalny rozmiar bloku MNP w znakach maksymalnie 256 znaków %C0 lub %C Włączenie/wyłączenie kompresji danych Wyłączona %C1 Włączenie/wyłączenie kompresji danych Włączona kompresja MNP5 %C2 Włączenie/wyłączenie kompresji danych Włączona kompresja V.42bis (BTLZ) %C3 Włączenie/wyłączenie kompresji danych Włączona kompresja MNP5 oraz V.42bis (BTLZ) %D0 lub %D Kompresja danych Rozmiar słownika BLTZ: 512 %D1 Kompresja danych Rozmiar słownika BLTZ: 1024 %D2 Kompresja danych Rozmiar słownika BLTZ: 2048 %D3 Kompresja danych Rozmiar słownika BLTZ: 512 %E0 lub %E1 Metoda wyjścia do trybu poleceń Wyjście do trybu poleceń wyłączone %E1 Metoda wyjścia do trybu poleceń Metoda +++AT (domyślna) %E2 Metoda wyjścia do trybu poleceń Metoda: Break AT %E3 Metoda wyjścia do trybu poleceń Obie metody równocześnie %E4 Metoda wyjścia do trybu poleceń Wyłącz wyświetlanie tekstu OK po znakach +++ %E5 Metoda wyjścia do trybu poleceń Włącz wyświetlanie tekstu OK po znakach +++ \J0 lub \J Automatyczne ustawianie szybkości DTE Wyłączona \J1 Automatyczne ustawianie szybkości DTE Szybkość portu szeregowego (DTE) jest dopasowywana do szybkości połączenia. \N0 lub \N Rodzaj zastosowanego algorytmu korekcji błędów Połączenie zwykłe (poniżej znajdują się definicje) \N1 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie bezpośrednie - bez korekcji \N2 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie niezawodne-automatyczne w standardzie MNP \N3 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie niezawodne-automatyczne \N4 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie niezawodne w standardzie V.42bis z detekcją fazy \N5 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie niezawodne-automatyczne w standardzie V.42bis auto z detekcją fazy \N6 Rodzaj zastosowanego algorytmu korekcji błędów Połączenie niezawodne w standardzie V.42 z detekcją fazy \N7 Rodzaj zastosowanego algorytmu korekcji błędów Połączanie niezawodne-automatyczne w standardzie V.42 auto z detekcją fazy
Połączenie bezpośrednie, jest najprostszym rodzajem połączenia bez korekcji błędów lub kompresji danych. Dla tego rodzaju połączenia, prędkość połączenia komputer-modem i modem-modem musi być identyczna. Zwykłe połącznie wykorzystuje kontrolę przepływu (sprzętową lub programową) buforując dane wysyłane i otrzymywane, co pozwala na przesyłanie danych z prędkością inną niż w relacji komputer<—>modem. Na przykład, komputer wysyła dane z prędkością 57kbps, jednak wykorzystanie kompresji, powoduje iż modem w rzeczywistości przesyła dane z prędkością 28,8kbps. Ten typ połączenia jest wykorzystywany przez większość modemów. Połączenie niezawodne, jest podobne w połączenia zwykłego, jeżeli jednak z jakichś powodów tryb kompresji danych i korekcji błędów nie może być uruchomiony i utrzymany, połączenie zostaje zerwane. (W tym trybie, modem zapewnia iż każda transmisja będzie niezawodna, jeżeli jest to niemożliwe połączenie musi zostać zerwane) Podobnie jak wyżej, połączenie niezawodne-automatyczne jest prawie identyczne, różni się jedynie tym iż modem będzie ponawiał próby wynegocjowania algorytmu kompresji lub korekcji błędów, aby powrócić do trybu niezawodnego połączenia. Ten tryb jest najczęściej wykorzystywany.
Rejestry S Rejestry S Rejestr Zakres Wartość domyślna Funkcja S0 0-255 dzwonków 1-2 Liczba dzwonków po którym zostanie odebrane połączenie. Nie odpowiadaj jeżeli 0 S1 0-255 dzwonków 0 Jeżeli wartość zapisana w rejestrze S0 jest większa niż 0 to odliczane są dzwonki przed odebranie połączenia. S2 0-127 ASCII 43 + Kod znaku przejścia do trybu poleceń (ESC) S2 >127 brak zdefiniowania kodu ESC S3 0-127 ASCII 13 CR Kod znaku powrotu karetki S4 0-127 ASCII 10 LF Kod znaku przejścia do następnej linii S5 0-32, 127 ASCII 8 BS Kod znaku usuwania S6 2-255 sekund 2 Czas oczekiwania na sygnał wybierania (informacje o wybieraniu "ślepym" znajdują się tutaj:Xn S7 1-255 sekund 30-60 Czas oczekiwania na sygnał zdalnego modemu S8 0-255 sekund 2 Długość przerwy określonej przecinkiem w numerze telefonu S9 1-255 1/10-ta sekundy 6 Czas wymagany na wykrycie i rozpoznanie nośnej S10 1-255 1/10-ta sekundy 7-14 Czas pomiędzy utratą nośnej i rozłączeniem S11 50-255 milisekund 70-95 Długość i odsŧępy między sygnałami w wybieraniu tonowym. S12 0-255 1/50-te sekundy 50 Dodatkowa przerwa otaczająca sekwencję +++. S36 Określa zachowanie modemu jeżeli połączenie z korekcją błędów nie powiedzie się 0 - Rozłączenie 1 - Ustanowienie połączenia bezpośredniego 3 - Ustanowienie połączenia normalnego 4 - Ustanowienie połączenia typu MNP lub rozłączenie jeżeli jest to niemożliwe 5 - Ustanowienie połączenia typu MNP lub połączenie bezpośrednie jeżeli jest to niemożliwe 7 - Ustanowienie połączenia typu MNP lub połączenie normalne jeżeli jest to niemożliwe 7 Szybkość ustawiana przy nieudanej negocjacji S37 1 = 300 bps 5 = 1200 bps 6 = 2400 bps 7 = 1200/75 bps (tryb v.23) 8 = 4800 bps 9 = 9600 bps 10 = 12000 bps 11 = 14400 bps 12 = 7200 bps 0 Prędkość negocjacji parametrów (wartość początkowa przy rozpoczynaniu negocjacji)
Wiele modemów posiada kilkadziesiąt lub kilkaset rejestrów S, jednak tylko kilkanaście pierwszych stanowi nieformalny standard. Można zmieniać ich zawartość za pomocą polecenia: ATSn=N, zaś sprawdzać ich aktualne ustawienie za pomocą polecenia: ATSn? (np: polecenie AT S10 S1? spowoduje, iż modem będzie oczekiwał 7 sekund na odpowiedź zdalnego modemu, oraz zwróci informację o ostatniej liczbie dzwonków.)