# Ensemble des commandes Hayes pour modem

Voici une description de l'ensembles des commandes Hayes. La plupart des modems utilisent cet ensemble de commandes et plus. Si vous avez perdu le manuel de votre modem ou n'en avez jamais eu, ces références peuvent vous aider. J'ai par exemple finalement trouvé comment éteindre le haut-parleur de mes modems : `ATM0` -- Finalement : silence !

La chaîne d'initialisation de modem consiste en une série de commandes. Elle prépare le modem à la communication, réglant plusieurs choses comme le mode de composition, les pauses, la détection du signal d'occupation et beaucoup d'autres réglages. Les plus récents programmes de communications des modems remettent à zéro la chaîne d'initialisation pour vous suivant les options de menus que vous avez sélectionnés, quelles fonctions vous activez, &etc;

Depuis beaucoup d'années les modems Hayes ont été un standard. Comme le champ des fabricants de modems a augmenté, beaucoup ont adhéré plus ou moins au standard Hayes. Ce qui suit est une liste partielle de l'ensemble des commandes Hayes. (appelée les commandes AT). Les commandes Hayes peuvent être divisés en 4 groupes :

Ensemble de commandes basiques

- Une lettre majuscule suivi d'un chiffre. Par exemple, `M1`.

Ensemble de commandes étendu

- Un & (ampersand) et une lettre majuscule suivie par un chiffre. C'est une extension de l'ensemble de commandes basiques. Par exemple, `&M1`. Notez que `M1` est différent de `&M1`.

Ensemble de commandes propriétaires

- Habituellement précédé par un backslash (\), ou un signe pourcentage (%), ces commandes varient largement entre les fabricants de modem. Pour cette raison, seulement une petite partie de ces commandes sont listées ci-dessous.

Commandes de registres

- `S`r`=`n`` Où `r` est le numéro du registre à changer, et `n` est la nouvelle valeur à lui assigner.

  Un registre est calculé pour une location physique spécifique en mémoire. Les modems ont une petite quantité de mémoire embarquée. Ce quatrième ensemble de commandes est utilisé pour saisir des valeurs d'un registre particulier (location mémoire). Le registre enregistrera une variable particulière (information alpha-numérique) qui est utilisée par le modem et le logiciel de communication. Par exemple, `S7=60` instruit l'ordinateur de mettre dans le registre #7 la valeur 60.

Même si la plupart des commandes sont définies par une combinaison chiffre lettre (`L0`, `L1` &etc;), l'utilisation d'un zéro est optionnel. Dans cet exemple, `L0` est identique à `L`. Gardez ceci en tête lorsque vous lirez la table ci-dessous !

Voici quelques uns des plus importants caractères qui peuvent apparaitre dans la chaîne d'initialisation du modem. Ces caractères ne doivent normalement pas être changés.

`AT`

- Dis au modem que les commandes arrivent. Cela doit précéder toute ligne de commandes.

`Z`

- Initialise le modem dans son état par défaut

`,` (une virgule)

- force votre logiciel à faire une pause d'une seconde. Vous pouvez utiliser plus d'une commande `,` dans une ligne. Par exemple, `,,,,` dit au logiciel de faire une pause de 4 secondes. (La durée de la pause est défini par la valeur du registre `S8`).

`^M`

- Envoie le caractère de fin Retour Arrière au modem. C'est un code de contrôle que la plupart des logiciels de communication traduisent comme Retour Arrière

## L'ensemble des commandes Hayes basiques

Par ordre alphabétique :

## Ensemble des commandes Hayes basiques

Commande | Description | Commentaires
`A0` ou`A` | Répondre à un appel entrant |
`A/` | Répète la dernière commande | Ne pas précéder de `AT`. Entrée annule habituellement.
`B0` ou`B` | Négation d'appel | Séquence de réponse V32 Mode/CCITT.
`B1` | Négation d'appel | Séquence de réponse Bell 212A.
`B2` | Négation d'appel | Verbeux/silencieux à la réponse
`D` | Numérotation | Numérote le numéro suivant et dialogue en mode normal. `P` Numérotation par impulsion `T` Numérotation par tonalité `W` Attendre la seconde tonalité de numérotation `,` Fait une pause du temps spécifié dans le registre `S8` (habituellement 2 secondes) `;` Rester en mode commande après la numérotation. `!` Flash switch-hook (Rend la main une demie seconde, comme pour transférer un appel). `L` Numérotation du dernier numéro
`E0` ou `E` | Aucun écho | Ne fera pas d'écho des commandes vers d'ordinateur
`E1` | Écho | Fera un écho des commandes vers l'ordinateur (Ainsi vous pouvez voir ce qui est envoyé)
`H0` | État de la prise | Ligne prise - Rendre la main
`H1` | État de prise de ligne | Pas de prise de ligne - téléphone décroché
`I0` ou `I` | Demande, information ou interrogation | Cette commande est très spécifique au modèle. `I0` retourne habituellement un numéro ou un code, alors que des numéros plus important fournissent plus d'informations interressantes.
`L0` ou `L` | Volume du haut-parleur. Les modems avec un contrôle du volume manuel n'ont pas ces options. | Inactif ou volume bas
`L1` |  | Volume bas
`L2` |  | Volume moyen
`L3` |  | Fort ou haut volume
`M0` ou `M` | Haut-parleur désactivé | `M3` est aussi courant, mais différent par beaucoup d'aspects
`M1` |  | Haut-parleur activé jusqu'à ce que la porteuse distante soit détectée(&cad; jusqu'à ce qu'un autre modem soit détecté)
`M2` |  | Le haut-parleur est toujours actif (les sons des données sont entendues après la connexion)
`N0` ou `N` | Vitesse de connexion | La connexion est toujours à la vitesse de`S37`
`N1` |  | Connecter à une vitesse plus grande que `S37`
`O0` ou `O` | Retourner en ligne | Voir aussi `X1` car la détection de la tonalité de numérotation peut être active.
`O1` |  | Retourner en ligne après une séquence d'égalisation
`Q0` ou `Q1` | Mode silencieux | Off - Affiche le code de réponse, l'utilisateur voit les réponses à la commande (&pex; `Ok`)
`Q1` | Mode silencieux | On - Les codes de réponses sont supprimés, l'utilisateur ne voit pas les réponses.
`S`n`?` |  | Demande le contenu du registre S `n`
`S`n`=`r`` | Enregistre | Enregistre la valeur de `r` dans le registre S `n`
`V0` ou `V` | Verbeux | Codes résultant numériques
`V1` |  | Codes résultant anglais (&pex; `CONNECT`, `BUSY`, `NO CARRIER` &etc;)
`X0` ou `X` | Smartmodem | Codes résultants compatibles Hayes Smartmodem 300
`X1` |  | Habituellement ajoute la vitesse de connexion au codes résultants(&pex; `CONNECT 1200`)
`X2` |  | Habituellement ajoute la détection de tonalité de numérotation (empêchant la numérotation aveugle, et parfois `AT0`)
`X3` |  | Habituellement ajoute la détection du signal occupé
`X4` |  | Habituellement ajoute à la fois le signal occupé et la détection de la tonalité de numérotation
`Z0` ou `Z` | Réinitialiser | Réinitialise le modem pour enregistrer la configuration. Utilise `Z0`, `Z1` &etc; pour les profils multiples. C'est la même que `&F` pour un retour aux paramètres usine sur les modems sans NVRAM (mémoire non volatile)

## L'ensemble des commandes Hayes étendu

Commandes d'accélération

## L'ensemble des commandes Hayes étendu

Commande | Description | Commentaires
`&B0` ou `&B` | Paramètres | Désactive la fonction auto-
`&B1` | Paramètres | Active la fonction auto-
`&B2` | Paramètres | Active l'auto retrain, mais déconnecte s'il n'y a pas d'amélioration sur la ligne après une période contenue dans `S7`
`&C0` ou `&C1` | Détection de la porteuse | Signal toujours actif
`&C1` | Détection de la porteuse | Indique une porteuse distante (par défaut habituellement)
`&D0` ou `&D` | Data Terminal Ready (DTR) | Signal ignoré (Ceci est spécifique au modem, vous devez regarder le manuel pour des informations sur celui-ci !)
`&D1` | Data Terminal Ready (DTR) | Si DTR passe d'actif à inactif le modem passe en mode commande (Quelques modems seulement)
`&D2` | Data Terminal Ready (DTR) | Quelques modem raccrochent lors de la transition DTR actif vers inactif (par défaut habituellement)
`&D3` | Data Terminal Ready (DTR) | Raccroche, reset le modem, et retourne en mode commande suivantDTR
`&F0` ou `&F` | Paramètres usine | Paramètres génériques compatibles Hayes. C'est habituellement une bonne chose d'utiliser dans votre chaîne d'initialisation, d'autant que les paramètres `&F1`-`&F3` peuvent beaucoup varier suivant les modems, et ils peuvent être actuellement la cause de problèmes de connexion. (Surtout que vous ne savez jamais exactement quel nouveau X`&F2` change réellement). D'un autre coté, il est payant d'essayer d'autres options ci-dessous ; beaucoup de problèmes peuvent être résolus en remplaçant une chaîne d'initialisation compliquée par une simple `&F2` ou équivalent. Toutefois, si vous construisez une chaîne d'initialisation, c'est mieux de démarrer avec une simple `&F`, et de ne pas utiliser une chaîne personnalisée par défaut.
`&F1` | Paramètres usine | Paramètres usine trouvés sur un PC IBM compatible d'un utilisateur
`&F2` | Paramètres usine | Paramètre usine pour une synchronisation logicielle sur Mac
`&F3` | Paramètres usine | Paramètres usine pour une synchronisation hardware Mac
`&G0` ou `&G` | Tonalités de garde | Désactiver les tonalités de garde
`&K0` ou `&K` | Contrôle de flux local | Désactiver le flux de contrôle local
`&K1` | Contrôle de flux local | Activer le contrôle de flux local matériel RTS/CTS
`&K2` | Contrôle de flux local | Activer le contrôle de flux local logiciel XON/XOFF
`&K3` | Contrôle de flux local | Activer le contrôle de flux local matériel RTS/CTS
`&K4` | Contrôle de flux local | Activer le contrôle de flux local logiciel XON/XOFF
`&L0` ou `&L` | Mode de numérotation | Sélectionner le mode de numérotation
`&M0` ou `&M` | Mode de contrôle d'erreur | Sélectionne le mode asynchrone non-EC (le même que `&Q0`)
`&P0` ou `&P` | Ratio des impulsions de numérotation | Les impulsions de numérotation U.S. / Canada sont de 39 % / 61 %
`&P1` | Ratio des impulsions de numérotation | Le rapport d'impulsion pour l'U.K. / Hong Kong est de 33 % / 67 %
`&Q0` ou `&Q` | Mode de contrôle d'erreur | Plus d'asynchrone non-EC. Bufferisation d'aucune donnée. Désactivation deASB.
`&Q5` | Mode de contrôle d'erreur | Opération de sélection V.42 EC (requiert un contrôle de flux)
`&Q6` | Mode de contrôle d'erreur | Mode asynchrone avec ASB (requiert un contrôle de flux)
`&Q8` | Mode de contrôle d'erreur | Sélectionner le protocole alternatif EC (MNP)
`&Q9` | Mode de contrôle d'erreur | Compression conditionnelle de données : V.42bis = oui, MNP5 = non.
`&S0` ou `&S` | Sélectionne l'actionDSR | Toujours activé (par défaut)
`&S1` | Sélectionne l'actionDSR | Suit les spécifications EIA (Tonalité de la porteuse active, et jusqu'à ce que la porteuse soit perdue).
`&T0` ou `&T` | Auto test | Auto test spécifique à certains modems
`&U0` ou `&U` | Modulation de code Trellis | Active V.32 TCM
`&U1` | Modulation de code Trellis | Désactive V.32 TCM
`&V0` ou `&V1` | Voir activité | (et souvent enregistré) réglages de configuration de profile (ou `ATI4`)
`&W0` ou `&W` | Profile enregistré | Dans la NVRAM (`&W0`, `&W1` etc. pour de multiples profils) Certains réglages ne peuvent pas être enregistrés. Cela ne montre jamais `&V` ou `ATI4`
`&Y0` ou `&Y` | Sélectionne la configuration chargée au démarrage | Charge le profile 0 (par défaut)
`&Y1` | Sélectionne la configuration chargée au démarrage | Charge le profile 1
`&Z`n`=`x`` | Reinitialisation logicielle et charge le profile enregistré numéro `n` | Notez que toutes les valeurs après `&Z` sur la ligne de commande sont ignorées

## Backslash et commandes pourcentage

Commande | Description | Commentaires
`\A0` ou `\A` | Taille maximum du bloc de caractères MNP | 64 caractères maximum
`\A1` | Taille maximum du bloc de caractères MNP | 128 caractères maximum
`\A2` | Taille maximum du bloc de caractères MNP | 192 caractères maximum
`\A3` | Taille maximum du bloc de caractères MNP | 256 caractères maximum
`%C0` ou `%C` | Compression de données activée / désactivée | Désactivée
`%C1` | Compression de données activée / désactivée | MNP5 activé
`%C2` | Compression de données activée / désactivée | V.42bis (BTLZ) activé
`%C3` | Compression de données activée / désactivée | MNP5 & V.42bis (BTLZ) activé
`%D0` ou `%D` | Compression des données | 512 BLTZ taille du dictionnaire
`%D1` | Compression des données | 1024 taille du dictionnaire BLTZ
`%D2` | Compression des données | 2048 taille du dictionnaire BLTZ
`%D3` | Compression des données | 4096 taille du dictionnaire BLTZ
`%E0` ou `%E1` | Méthode Échappe | ESCAPE désactivé
`%E1` | Méthode Échappe | Méthode `+++AT` (défaut)
`%E2` | Méthode Échappe | Méthode `Arrêt` `AT`
`%E3` | Méthode Échappe | Les 2 méthodes activées
`%E4` | Méthode Échappe | Désactive `Ok` à `+++`
`%E5` | Méthode Échappe | Active `Ok` à `+++`
`\J0` ou `\J` | Ajustement automatique du taux DTE | Désactivée
`\J1` | Ajustement automatique du taux DTE | Le taux DTE est ajusté pour correspondre au taux de la porteuse.
`\N0` ou `\N` | Type de connexion | Connexion normale (voir ci-dessous pour les définitions)
`\N1` | Type de connexion | Direction de connexion
`\N2` | Type de connexion | MNP connexion sûre
`\N3` | Type de connexion | Connexion auto-sûre
`\N4` | Type de connexion | V.42bis lien sûr avec détection de phase
`\N5` | Type de connexion | V.42bis lien auto-sûr avec détection de phase
`\N6` | Type de connexion | V.42 lien sûr avec détection de phase
`\N7` | Type de connexion | V.42 lien auto-sûr avec détection de phase

Une connexion directe est une simple connexion traversante sans aucune erreur de connexion ou compression de donnée. Dans ce cas, les vitesses ordinateur -modem et modem-modem doivent être identiques.

Une connexion normale utilise un contrôle de flux (soit logiciel soit matériel) pour bufferiser les données à envoyer ou reçues, ainsi le modem peut transmettre des données à un taux différent de celui auquel l'ordinateur envoie et reçoit actuellement. Par exemple, un ordinateur peut envoyer les données actuelles à 57kbps, mais en utilisant la compression, le modem n'envoie qu'à 28.8kbps. C'est le mode utilisé par la plupart des modems.

Une connexion sûre est une type de connexion normal ; si, pour quelque raison, la compression des données ou la correction d'erreur ne peut être établie ou maintenue, la connexion s'arrêtera (en substance, un tel modem assure que toutes les connexions sont sûres, il racrocherra si la connexion de l'est pas).

Cependant, une connexion auto-sûre est virtuellement la même, excepté que le modem essaiera de renégocier la connexion pour établir une connexion sûre. Une fois de plus, c'est le mode que la plupart des modems utilisent.

## S-Registres

## S Registres

Registre | Échelle | Défaut | Fonction
`S0` | 0-255 appels | 1-2 | Répond à l'appel numéro. Ne répond pas si 0
`S1` | 0-255 appels | 0 | Si `S0` est plus grand que 0 ce registre compte le nombre d'appels.
`S2` | 0-127 ASCII | 43 + | Sort vers le mode commande caractère
`S2` | >127 |  | pas ESC
`S3` | 0-127 ASCII | 13 CR | Caractère de retour chariot
`S4` | 0-127 ASCII | 10 LF | Caractère Line feed
`S5` | 0-32, 127 ASCII | 8 BS | Caractère de correction
`S6` | 2-255 secondes | 2 | Temps d'attente de tonalité de numérotation (numérotation aveugle, voir X`n`)
`S7` | 1-255 secondes | 30-60 | Temps d'attente de la porteuse distante
`S8` | 0-255 secondes | 2 | Temps de pause virgule utilisée pendant la numérotation
`S9` | 1-255 1/10ème de secondes | 6 | Temps de détection de la porteuse nécessaire à la reconnaissance
`S10` | 1-255 1/10ème de secondes | 7-14 | Temps entre la perte de la porteuse et le raccrochage
`S11` | 50-255 millisecondes | 70-95 | Durée et espacement des tonalités lors de la numérotation
`S12` | 0-255 1/50ème de secondes | 50 | Temps de garde pour les pauses autour de la séquence de commande `+++`
`S36` | Options de retour quand le lien de correction échoue : 0 - Déconnecte 1 - Établit une connexion directe 3 - Établit une connexion normale 4 - Établit une connexion MNP si possible, sinon déconnecte 5 - Établit une connexion MNP si possible, sinon fait une connexion directe. 7 - Établit une connexion MNP si possible, sinon établit une connexion normale | 7 | Traitement d'échec de négociation
`S37` | 1 = 300 bps 5 = 1200 bps 6 = 2400 bps 7 = 1200/75 bps (v.23 mode) 8 = 4800 bps 9 = 9600 bps 10 = 12000 bps 11 = 14400 bps 12 = 7200 bps | 0 | Négociation de vitesse (Négociation initiale)

Beaucoup de modems ont des douzaines, parfois des centaines de S registres, mais seulement la première douzaine ou presque sont standards. Ils sont changés avec une commande comme `ATS`n`=`N``, et examinés avec `ATS`n`?` (&pex; ``AT` `S10``=70` `S1?`` dira au modem de ne pas raccrocher pendant sept secondes s'il n'arrive pas à avoir la réponse du modem, et retourne le nombre de fois que le téléphone a sonné).