Hayes ATコマンドセット
Hayes AT command set (en.wikipedia.org)
要約
Hayes ATコマンドセットは、1981年にHayes Smartmodemのために開発されたモデム制御用のテキストベースのコマンド言語です。当初は300ビット/秒のモデム向けでしたが、その基本的な構造と構文は、その後の高速モデムや競合製品でも広く採用され、事実上の標準となりました。このコマンドセットは、モデムをデータモードとコマンドモード間で切り替えるためのエスケープシーケンスや、ダイヤル、切断などの操作コマンドを含んでいます。
全文翻訳
Hayes ATコマンドセット
Hayesコマンドセット(ATコマンドセットとも呼ばれる)は、1981年にHayes Smartmodemのためにデール・ヘザリントンとデニス・ヘイズ12によって開発された、特定のコマンド言語です。
このコマンドセットは、ダイヤル、切断、接続パラメータの変更などの操作を行うための短いテキスト文字列の集まりで構成されています。数多くのバリエーションが存在しますが、ほとんどのダイヤルアップモデムでHayesコマンドセットが使用されています。
当初のコマンドセットは、最も初期の300 ビット/秒モデムの機能のみをカバーしていました。より高速なモデムで追加機能制御のための新しいコマンドが必要になると、主要ベンダーごとに独自の標準が次々と登場しました。これらは基本的なコマンド構造と構文を共有していましたが、プレフィックス文字(例: HayesとUSRoboticsの場合は&、Microcomの場合は\)を使用して多数の新しいコマンドが追加されました。これら多くは、SupraFAXModem 14400の導入とそれに続く市場の統合により、Hayesの拡張機能として再標準化されました。
Hayes互換という用語は31、2018年現在でも業界で重要です4。
歴史
背景
コンピュータ掲示板システム(BBS)が登場する前は、モデムは通常、両端に既知のモデムが存在する直接ダイヤル接続の電話回線で動作していました。モデムは「発信」または「応答」モードで動作し、データ転送のために2組の周波数を手動で切り替えていました。発信モデムの場合、これらの周波数は1,270 Hz(マークトーン、バイナリ1)と1,070 Hz(スペーストーン、バイナリ0)でした。応答モデムの場合、周波数は2,225 Hz(マークトーン)と2025 Hz(スペーストーン)でした。一般的に、電話をかけるユーザーはモデムを「発信」モードに切り替え、手動で電話番号をダイヤルしていました。リモートモデムが応答し、すでに「応答」モードに設定されている場合、電話機ハンドセットは取り外され、通話は発信者が手動で切断するまで続行されました。
自動化が必要な場合、それは通常、応答側のみでした。例えば、銀行が日末処理のために多数の支店からの電話を受ける必要がある場合などです。この役割を果たすため、一部のモデムには、応答モード時に電話を自動的に取る機能や、相手が手動で切断したときに回線をクリアする機能が含まれていました。自動発信の必要性ははるかに少なく、個別の周辺機器である「ダイヤラー」によって処理されていました。これは通常、モデム自体とは別にプログラムされる、コンピュータの別の入出力ポート(通常はRS-232ポート)に接続されていました。
この運用方法は、モデムが一般的にコンピュータ端末(発信)とメインフレームコンピュータ(応答)のようなダムデバイスを接続するために使用されていた1960年代から1970年代初頭にかけて満足のいくものでした。しかし、1970年代のマイクロコンピュータ革命により低コストのモデムが登場し、半専用のポイントツーポイントリンクという考え方はもはや適切ではなくなりました。数千人のユーザーが他の数千人のユーザーにダイヤルしたい可能性があり、当時の唯一の解決策はユーザーに手動でダイヤルさせることでした。
コンピュータ業界は、ソフトウェア経由でモデムにダイヤルする番号を指示する方法を必要としていました。以前の個別のダイヤラーにはこの機能がありましたが、帯域外シグナリングのコストがかかる別のポートが必要で、マイクロコンピュータには利用できない場合がありました。別の解決策としては、送受信コマンド専用の別の「コマンドピン」セットを使用することや、モデムが受信データをコマンドとして解釈すべきであることを示す信号ピンを使用することなどが考えられました。これらはどちらもRS-232標準でハードウェアサポートされていました。しかし、マイクロコンピュータ上のRS-232ポートの多くの実装は非常に基本的であり、コスト削減のためにこれらのピンの多くが省略されていました。
Hayesの解決策
Hayes Communicationsは、1981年のSmartmodemで、既存のデータピンを変更なしに使用するソリューションを導入しました。代わりに、モデム自体を2つのモードのいずれかに切り替えることができました。
- データモード: モデムがリモートモデムにデータを送信するモード。(データモードのモデムは、コンピュータから受信したすべてをデータとして扱い、電話回線経由で送信します。)
- コマンドモード: データがローカルモデムへのコマンドとして解釈されるモード(ローカルモデムが実行すべきコマンド)。
データモードからコマンドモードに切り替えるには、セッション中に3つのプラス記号(+++)からなるエスケープシーケンス文字列と、約1秒のポーズを送信しました。エスケープシーケンスの末尾のポーズは、帯域内シグナリングによる問題を軽減するために必要でした。もし3つのプラス記号の1秒以内に他のデータを受信した場合、それはエスケープシーケンスではなく、データとして送信されていました。元に戻るには、オンラインコマンドATOを送信しました。実際には、多くのコマンドは完了後に自動的にオンラインモードに切り替わるため、ユーザーがオンラインコマンドを明示的に使用することはまれでした。
Hayesの特許を回避するために、一部のメーカーは時間ガード間隔(Time Independent Escape Sequence(TIES))なしでエスケープシーケンスを実装しました。これは、コンピュータがデータモードでバイトシーケンス+++ATH0を送信しようとするとモデムが接続を切断するという、重大なサービス拒否(DoS)の脆弱性につながりました。そのようなモデムを介してインターネットに接続されているコンピュータの場合、ペイロードに+++ATH0シーケンスを含むPing of Deathリクエストを送信することで、これは容易に悪用される可能性がありました。コンピュータのオペレーティングシステムは、自動的に送信者に同じペイロードで応答しようとし、モデムがICMPデータペイロードをHayesコマンドとして解釈するため、インターネットから即座に切断されました5。例えば、コンピュータのユーザーが前述の文字列を含む電子メールを送信しようとした場合でも、同じエラーが発生しました。
コマンド
Hayesコマンドセットには、ダイヤルや切断などのさまざまな電話回線操作のためのコマンドが含まれています。また、モデムを設定するためのさまざまな制御機能も含まれており、ユーザーが元のHayesモデムのさまざまなメモリ位置を直接設定できるレジスタコマンドのセットも含まれています。コマンドセットは、ほとんどすべての初期300ボーモデムメーカーによって、レジスタの意味も含めて、ほぼそのままコピーされました。多くのメーカーが存在しました。
1200および2400ボーへの拡張には、新しいコマンドの追加が必要でしたが、その一部には新しい機能専用であることを示すためにアンパサンド(&)がプレフィックスとして付けられました。Hayes自身も1200ボーモデルの直後に2400ボーモデルを迅速に導入する必要があり、時間節約のためにコマンドセットは同一でした6。偶然にも、これにより既存の1200ボーモデムのユーザーはソフトウェアを変更せずに新しいHayes 2400モデルを使用できるようになりました。これは、これらのコマンドのHayesバージョンが広く使用されることを強化しました。数年後、電気通信工業会(TIA)/ 電子工業会(EIA)は、2400ボーコマンドセットをData Transmission Systems and Equipment – Serial Asynchronous Automatic Dialing and Control、TIA/EIA-602として正式に標準化しました。
しかし、Hayes Communicationsは、より高速または圧縮をサポートするモデムのリリースが遅く、Microcom、USRobotics、Telebitの3社が先行しました。これら3社はそれぞれ独自の追加コマンドセットを使用していました。1990年代初頭には、4つの主要なコマンドセットが使用されており、それらを基にした多数のバージョンが存在しました。1990年代初頭に14.4および28.8 kbit/sモデムが広く導入されるにつれて、状況は再び単純化しました。元のHayes拡張セットに&コマンドを多用したコマンドセットが人気を博し、その後普遍的になりました7。USRoboticsの人気のモデムラインからのコマンドセットも、もう一つの主要なコマンドセットとして人気を維持しました。
説明
以下のテキストは、Hayesコマンドセットの一部、すなわちATコマンド(「AT」は「attention」を意味する)を示しています。各コマンド文字列は「AT」で始まり、複数の個別のコマンドを「AT」の後に連結できます。
Haysコマンドセットは4つのグループに分類できます。
- 基本コマンドセット – 大文字の英字と数字の組み合わせ。例:
M1。 - 拡張コマンドセット –
&(アンパサンド)と大文字の英字と数字の組み合わせ。基本コマンドセットを拡張します。例:&M1。M1と&M1は異なることに注意してください。 - 独自コマンドセット – 通常、バックスラッシュ(
\)またはパーセント記号(%)で始まります。これらのコマンドはモデムメーカーによって大きく異なります。 - レジスタコマンド –
Sr=n。ここでrは変更するレジスタの番号、nは割り当てられる新しい値です。レジスタは、メモリ内の特定の物理的な場所を表します。モデムはオンボードに少量のメモリを持っています。4番目のコマンドセットは、特定のレジスタ(メモリ位置)に値を入力するために使用されます。例:S7=60は、モデムに「レジスタ番号7に値60を設定する」ように指示します。レジスタは通常、モデムの動作(例: 送信強度、変調パラメータ)を制御し、通常は特定のモデルに固有です。
コマンドセットの構文では、ほとんどのコマンドが文字と数字の組み合わせ(L0、L1など)で定義されていますが、ゼロの使用は任意です。この例では、「L0」はプレーンな「L」と同等です。以下の表を読む際にこれを念頭に置いてください。
データモードの場合、エスケープシーケンスでモデムをコマンドモードに戻すことができます。通常のシーケンスは3つのプラス記号(+++)であり、実際のデータとの混同を避けるために、ガードタイマーが使用されます。これは、ポーズの後に続き、プラス記号の間にポーズがなく、ポーズで終わる必要があります。デフォルトでは、「ポーズ」は1秒、「ポーズなし」はそれより短い時間です。
構文定義
以下の構文定義が適用されます8:
<CR>: キャリッジリターン文字。コマンドラインおよび結果コードの終端文字であり、ASCII 0から255の10進数で、レジスタS3で指定されます。デフォルト値は13です。<LF>: ラインフィード文字。ラインフィード文字として認識される文字です。ASCII 0から255の10進数で、レジスタS4で指定されます。デフォルト値は10です。詳細結果コード(V1オプション使用時)が使用される場合、キャリッジリターン文字の後にラインフィード文字が出力されます。数値形式の結果コード(V0オプション使用時)が使用される場合、結果コードには表示されません。<...>: 山括弧で囲まれた名前は構文要素です。コマンドラインには表示されません。[...]: コマンドのオプションサブパラメータ、またはAT情報応答のオプション部分が角括弧で囲まれます。括弧自体はコマンドラインには表示されません。サブパラメータが指定されていないコマンドで読み取りコマンドがある場合、新しい値は以前の値と同じになります。値が格納されないコマンドで読み取りコマンドがない場合(アクションタイプコマンドと呼ばれる)、推奨されるデフォルト設定に基づいてアクションが実行されます。
モデム初期化
文字列には多くのHayesコマンドをまとめて含めることができ、モデムを発信または応答用に最適に準備できます。例: AT&F**&D2**&C1S0=0X4。ほとんどのモデムソフトウェアは、ユーザー指定の初期化文字列をサポートしていました。これは通常、起動時にモデムに送信される長い連結ATコマンドでした9。V.250仕様では、すべてのDCEが、「AT」の後ろに少なくとも40文字の連結コマンドを受け入れることを要求しています10。
例:セッション
以下は、モデムが接続された2台のコンピュータ、コンピュータAとコンピュータB、およびターミナルエミュレータソフトウェアでモデムを制御するユーザーを表しています。ターミナルエミュレータソフトウェアは通常、ユーザーがHayesコマンドをモデムに直接送信し、応答を表示できるようにします。この例では、コンピュータAのユーザーがモデムに電話番号(212)555-0100(長距離)のモデムBの電話番号をダイヤルさせます。各コマンドと応答の後には、コマンドを完了するためのキャリッジリターンが送信されます。
| モデムA | モデムB | コメント |
|---|---|---|
| ATDT12125550100 | モデムAのユーザーがダイヤルコマンドを発行: AT-モデムのATtentionを取得; D-Dial(ダイヤル); T-Touch-Tone(トーンダイヤル); 12125550100-この番号に電話 | |
| RING | モデムAがダイヤルを開始します。モデムBの電話回線が鳴り、モデムがその事実を報告します。 | |
| ATA | モデムBのコンピュータが応答コマンドを発行します。 | |
| CONNECT | CONNECT | モデムが接続され、両方のモデムが「connect」を報告します。(実際には、ほとんどのモデムはCONNECTという単語の後にさらに多くの情報を報告します - 接続速度を指定します。)また、この時点で、両方のモデムはシリアルポートのDCD、またはData Carrier Detect信号を上げます。 |
| abcdef | abcdef | モデムが接続されると、どちらかの側で入力された文字は反対側に表示されます。コンピュータAのユーザーが入力し始めます。文字はモデムを通過し、コンピュータBの画面に表示されます。(コンピュータAのユーザーは、ターミナルソフトウェアのローカルエコー設定によっては、自分の入力した文字が見えない場合があります。) |
| +++ | コンピュータBのユーザーがモデムエスケープコマンドを発行します。(あるいは、より一般的には、コンピュータBはDTR、またはData Terminal Ready信号を下げることで、+++やATHを使用せずに切断を達成できます。) | |
| OK | モデムがそれを認識します。 | |
| ATH | コンピュータBのユーザーが切断コマンドを発行します。 | |
| NO CARRIER | OK | 両方のモデムが接続が終了したことを報告します。モデムBはコマンドの期待される結果として「OK」と応答します。モデムAは、リモート側が接続を中断したことを報告するためにNO CARRIERと表示します。両側のモデムもDCD信号を下げます。 |
互換性
オリジナルのHayesコマンドセットは、モデムベースの通信において大きな進歩でしたが、時間とともに多くの問題が発生しました。そのほとんどはHayes自体によるものではありませんでした。
- 文書化された標準の欠如により、他のモデムメーカーは外部から見えるコマンドと(おおよそ)基本的な動作をコピーするだけでした。これにより、モデムが状態から状態へどのように変化するか、エラー条件、切断、タイムアウトをどのように処理するかについて、微妙な違いが広く生じました。
- 各メーカーは、しばしば互換性のない新しいニーズに対応するための新しいコマンドを追加する傾向がありました。例えば、ハードウェアまたはソフトウェアハンドシェイキングの設定には、モデムごとに多くの異なるコマンドが必要になることがよくありました。これは、基本的なHayesコマンドセットの便利な普遍性を損ないました。
- 多くのHayes互換モデムには、実質的に互換性のない深刻な癖がありました。例えば、多くのモデムは「AT Z」リセットコマンドを受信した後、数秒のポーズを必要としました。一部のモデムはコマンド間にスペースを必要としましたが、他のモデムはそうではありませんでした。一部のモデムは、勝手にボーレートを変更してしまい、コンピュータは受信データを処理する方法がわからなくなりました。
これらの結果として、最終的に多くの通信プログラムは、「Hayes互換」モデムすべてと通信できるという感覚を諦めざるを得なくなり、代わりにプログラムはモデムの種類をその応答から判断しようとしたり、ユーザーに特定のモデムを適切に動作させるための特別なコマンドを入力できるオプションを提供したりする必要がありました。
オートボー
Haysコマンドセットは、自動ボーレート検出を容易にしました。「A」と「T」はビットパターンが非常に規則的です。「A」は「100 0001」であり、開始と終了に1ビットがあり、「T」は「101 0100」であり、(ほぼ)すべての他のビットがセットされたパターンを持っています11。RS-232インターフェースは最下位ビットから送信するため、8-N-1(8データビット、パリティビットなし、ストップビット1つ)での対応するラインパターンは01000001010001010101(開始ビットとストップビットはイタリック体)であり、これは同期語として使用されます。
基本Hayesコマンドセット
以下のコマンドは、古いものか新しいものかにかかわらず、ATコマンドセットをサポートするほぼすべてのモデムで理解されます。
基本Hayesコマンドセット
| コマンド | 説明 |
|---|---|
| A0 または A | 着信コールに応答 |
| A/ | 直前のコマンドを繰り返す<br>ATを前に付けず、キャリッジリターンで終えない。通常、入力すると中止される。 |
| D | ダイヤル<br>以下の番号をダイヤルしてからハンドシェイクを行う<br>P – パルスダイヤル<br>T – トーンダイヤル<br>W – 2回目のダイヤルトーンを待つ<br>R – ダイヤル後に応答モードに反転<br>@ - 1つ以上のリンバックを最大30秒待つ<br>, - レジスタS8で指定された時間(通常2秒)一時停止<br>; – ダイヤル後にコマンドモードのままにする。<br>! – フックスイッチをフラッシュ(電話を切る、通話転送時のような0.5秒間)<br>L – 最後の番号をダイヤル |
| E0 または E | エコーなし<br>コマンドをコンピュータにエコーしない |
| E1 | エコーあり<br>コマンドをコンピュータにエコーする(コンピュータソフトウェアがエコーをサポートしていない場合に、入力した内容を確認できる) |
| H0 または H | フック状態<br>オンフック。電話を切断し、進行中の通話を終了する。 |
| H1 | フック状態<br>オフフック。電話回線を取る(通常、ダイヤルトーンが聞こえる)。 |
| I0 から I9 | 問い合わせ、情報、または照会<br>モデルに関する情報(ファームウェアやブランド名など)を返す。各番号(0から9、場合によっては10以上)はモデム固有の情報の1行を返しますが、その行が定義されていない場合はERRORという単語が返されます。現在、Windowsは特定のモデムタイプのプラグアンドプレイ検出にこれを使用しています。 |
| L0 または Ln (n=1~3) | スピーカー音量。スピーカー付きのモデムでのみサポートされます。スピーカーがないモデム、物理的な音量コントロールがあるモデム、またはサウンドカード経由で音声出力されるモデムはこのコマンドをサポートしません。<br>0はスピーカーオフ、1~3は音量増加。 |
| M0 または M | スピーカーミュート、ダイヤル中は完全に無音<br>M3も一般的ですが、多くのブランドで異なります |
| M1 | リモートキャリア検出までスピーカーオン(ユーザーはダイヤルとモデムハンドシェイクを聞くが、完全な接続が確立されるとスピーカーはミュートされる) |
| M2 | スピーカー常時オン(CONNECT後にデータ音が聞こえる) |
| O | オンラインに戻る<br>「+++」エスケープコードによって中断された後、モデムを通常の接続状態に戻す。 |
| Q0 または Q | サイレントモード<br>オフ – 結果コードを表示し、ユーザーはコマンド応答(例: OK)を見る |
| Q1 | サイレントモード<br>オン – 結果コードは抑制され、ユーザーは応答を見ない。 |
Sn** | 現在のレジスタを選択<br>注意: Sn、?、および=rは実際には3つの別々のコマンドであり、別々のAT**コマンドで指定できます。<br>レジスタnを現在のレジスタとして選択 |
Sn?** | レジスタnを現在のレジスタとして選択し、その値を問い合わせる。?のみを使用すると、最も最近選択されたレジスタが問い合わせられる。 |
Sn | |
| = | |
r** | レジスタnを現在のレジスタとして選択し、rをそこに格納する。** |
| = | |
r**のみを使用すると、最も最近選択されたレジスタに格納される。 | |
| V0 または V | 詳細表示<br>数値結果コード |
| V1 | 英語の結果コード(例: CONNECT、BUSY、[NO CARRIER](https://en.wikipedia.org/wiki/NO_CARRIER)など) |
| X0 または X | Smartmodem<br>Hayes Smartmodem 300互換の結果コード |
| X1 | 通常、基本結果コードに接続速度を追加する(例: CONNECT 1200) |
| X2 | 通常、ダイヤルトーン検出を追加する(ブラインドダイヤルを防ぎ、時にはATOを防ぐ) |
| X3 | 通常、ビジー信号検出を追加する。 |
| X4 | 通常、ビジー信号とダイヤルトーン検出の両方を追加する |
| Z0 または Z | リセット<br>モデムを保存された設定にリセットし、通常はモデムを物理的にパワーサイクルする(その間、応答しない)。Z0、Z1などは複数の保存されたプロファイル用である。&Fは、NVRAM(不揮発性メモリ)を持たないモデムで工場出荷時のデフォルト設定に戻す点で似ているが、モデム自体をリセットするわけではない |
注意: コマンド文字列はCR(\r)文字で終了します。
コマンドセットの一部ではありませんが、チルダ文字 ~ はモデムコマンドシーケンスで一般的に使用されます。~は、多くのアプリケーションがコマンドストリームをデバイスへの送信を一時停止させる(通常は0.5秒間)原因となります。例: リセットの後。~はモデムには送信されません12。
モデムSレジスタ定義
| レジスタ | 説明 | 範囲 | デフォルト値 |
|---|---|---|---|
| S0 | 自動応答までの呼び出し回数 | 0~255(0 = 無し) | 0 |
| S1 | リングカウンター | 0~255リング | 0 |
| S2 | エスケープ文字 | 0~255、ASCII 10進数 | 43(「+」) |
| S3 | キャリッジリターン文字 | 0~127、ASCII 10進数 | 13(キャリッジリターン) |
| S4 | ラインフィード文字 | 0~127、ASCII 10進数 | 10(ラインフィード) |
| S5 | バックスペース文字 | 0~32、ASCII 10進数 | 8(バックスペース) |
| S6 | ブラインドダイヤル前の待機時間 | 2~255秒 | 2 |
| S7 | ダイヤル後のキャリア待機時間 | 1~255秒 | 50 |
| S8 | カンマのポーズ時間(ダイヤル遅延) | 0~255秒 | 2 |
| S9 | キャリア検出応答時間 | 1~255/10秒 | 6(0.6秒) |
| S10 | キャリア喪失から切断までの遅延 | 1~255/10秒 | 14(1.4秒) |
| S11 | DTMFトーン持続時間 | 50~255ミリ秒 | 95ミリ秒 |
| S12 | エスケープコードガード時間 | 0~255/50秒 | 50(1秒) |
| S18 | テストタイマー | 0~255秒 | 0秒 |
| S25 | DTRへの遅延 | 0~255(同期モードの場合は秒、それ以外のモードでは100分の1秒) | 5 |
| S26 | RTSからCTSへの遅延間隔 | 0~255/100秒 | 1/100秒 |
| S30 | 非アクティブ切断タイマー | 0~255 x 10秒 | 0(無効) |
| S37 | 希望する電話回線速度 | 0~10<br>コマンドオプション:<br>- 0 オートモード接続を試みる<br>- 1 300ビット/秒で接続を試みる<br>- 2 300ビット/秒で接続を試みる<br>- 3 300ビット/秒で接続を試みる<br>- 5 1200ビット/秒で接続を試みる<br>- 6 2400ビット/秒で接続を試みる<br>- 7 V.23 75/1200モードで接続を試みる。<br>- 8 9600ビット/秒で接続を試みる<br>- 9 12000ビット/秒で接続を試みる<br>- 10 14400ビット/秒で接続を試みる | 0 |
| S38 | 強制切断前の遅延 | 0~255秒 | 20秒 |
V.250
ITU-Tは、1995年にVシリーズ勧告「V.25 ter」でコマンドセットの標準化を試みました。これは1998年にV.250に改称され、Hayesコマンドセットに関係ない付録はV.251として改称されました。V.250準拠モデムは、標準で指定された方法で、A、D、E、H、I、L、M、N、O、P、Q、T、V、X、Z、&C、&D、および&Fコマンドを実装します。また、Sレジスタを実装し、標準で指定された目的のためにレジスタS0、S3、S4、S5、S6、S7、S8、およびS10を使用する必要があります。また、プラス記号「+」に続く任意の文字AからZで始まるコマンドを、ITUの勧告に従ってのみ実装する必要があります。モデムメーカーは、必要に応じて他のコマンドやSレジスタを実装し、標準コマンドにオプションを追加することができます。
V.250 – 定義された先頭の文字シーケンス
| 説明 | |
|---|---|
| 先頭の文字 | 関連コマンド |
| +A | 通話制御(ネットワークアドレス指定)の問題、一般的、PSTN、ISDN、ITU-T Rec. X.25、スイッチドデジタル |
| +C | デジタルセルラー拡張機能 |
| +D | データ圧縮、ITU-T Rec. V.42 bis |
| +E | エラー制御、ITU-T Rec. V.42 |
| +F | ファクシミリ、ITU-T Rec. T.30 など |
| +G | 識別および機能などの一般的な問題 |
| +I | DTE-DCEインターフェースの問題、ITU-T Rec. V.24 など |
| +M | 変調、ITU-T Rec. V.32 bis など |
| +P | PCM DCEコマンド、ITU-T Rec. V.92 |
| +S | スイッチドまたは同時データタイプ |
| +T | テスト問題 |
| +V | ボイス拡張機能 |
| +W | ワイヤレス拡張機能 |
GSM
ETSI GSM 07.07(3GPP TS 27.007)は、GSM電話またはモデムを制御するためのATスタイルのコマンドを指定しています。ETSI GSM 07.05(3GPP TS 27.005)は、GSMのショートメッセージサービス(SMS)機能を管理するためのATスタイルのコマンドを指定しています。
| コマンド | 説明 |
|---|---|
| AT+CPIN=1234 | PINコードを入力 |
| AT+CPWD="SC","old","new" | PINコードを「old」から「new」に変更 |
| AT+CLCK="SC",0,"1234" | PINコードを削除 |
| AT&V | ステータス |
| ATI | ステータス(メーカー、モデル、リビジョン、IMEI、機能) |
| AT+COPS=? | 利用可能なネットワークをリスト(0-不明/2-現在/3-禁止、正式名称、短縮名、数値ID、「AcT」) |
| AT+CSQ | 信号強度を取得。応答: +CSQ: <RSSI(値が大きいほど良い)>, <BER(値が小さいほど良い)> |
| ATD*99# | アクセスポイントをダイヤル |
| AT+CGDCONT=1,"IP","access.point.name" | PDPコンテキスト13を定義 |
GSM/3Gモデムは通常、ETSI GSM 07.07/3GPP TS 27.007 ATコマンドセット拡張機能をサポートしますが、実装されているコマンドの数は異なります。
Huawei、Sierra Wireless、OptionなどのUSBモデムベンダーの多くは、無線モード選択(GSM/3G優先)などのための独自拡張機能も定義しています。一部の最近の高速モデムは、パフォーマンス上の理由から、データ接続にポイントツーポイントプロトコル(PPP)を使用する代わりに仮想イーサネットインターフェースを提供しています(PPP接続はコンピュータとモデム間のみで、ネットワーク上では使用されません)。設定にはベンダー固有のATコマンド拡張機能が必要です。これらの拡張機能の仕様が公開されている場合もあれば、ベンダーがNDA(秘密保持契約)を要求する場合もあります[^15]。
ボイスコマンドセット
音声または留守番電話機能を持つモデムは、デジタルオーディオの再生と録音を可能にするために、これらのコマンドのスーパーセットをサポートしています。
関連項目
- アクセスポイント名 (APN)
- コマンドモードとデータモード(モデム)
- ITU-T勧告:
注釈と参考文献
外部リンク
- ATコマンドリスト: 基本(Hayes)、拡張、独自
- Hayes ATコマンドリファレンスマニュアル
- Hayes ATコマンドリスト Archived 2008-07-10 at the Wayback Machine
- 3gpp.org, 3GPP ユーザー機器向けATコマンドセット
- モデム初期化文字列 Archived 2009-03-10 at the Wayback Machine
- SMS向け拡張Hayes ATコマンドパラメータ (リンク切れ)
- ファックス/モデムのクラスを特定する
- Openmoko: ATコマンド
- セルラーモデムコマンド Archived 2007-10-28 at the Wayback Machine
- ITU標準V.250
- TelitからのATコマンドリファレンスガイド (リンク切れ)
脚注
-
1 2 Victoria Shannon (January 7, 1999). "The Rise and Fall of the Modem King". The New York Times. Archived from the original on December 17, 2019. Retrieved December 25, 2019. ↩ ↩2
-
↑ Georgi Dalakov (January 4, 2021). "The Modem of Dennis Hayes and Dale Heatherington". Archived from the original on September 16, 2020. Retrieved January 8, 2015. ↩
-
↑ "Hayes compatible". Computerworld. March 30, 1987. p. 61. ↩
-
↑ "How to Set Up a Hayes Compatible Modem". IBM. June 17, 2018. Archived from the original on August 31, 2024. Retrieved December 25, 2019. ↩
-
↑ Max, Schau (September 27, 1998). "1+2=3, +++ATH0=Old school DoS". Bugtraq mailing list. Archived from the original on November 16, 2018. Retrieved December 8, 2012. ↩
-
↑ Frank Durda IV, "The AT Command Set Reference – History" Archived 2008-04-15 at the Wayback Machine, 1993 ↩
-
↑ "Initialization Strings: Why, What & Where". Archived from the original on March 10, 2009. Retrieved April 9, 2008. ↩
-
↑ "5.2.1 Command line general format" (PDF), V.250 : Serial asynchronous automatic dialling and control (05/99, 07/03), ITU-T/Telecommunication Standardization Bureau, archived from the original on August 16, 2012, retrieved November 23, 2009 ↩
-
↑ "Serial Interfaces". PICList. Archived from the original on June 10, 2016. Retrieved May 15, 2016. ↩
-
↑ "More Modem Commands". Chebucto Community Net. Archived from the original on September 6, 2016. Retrieved September 12, 2016. ↩
-
1 2 "Developers guidelines June 2010 AT commands for Sony Ericsson phones". Archived from the original on September 29, 2011. 090505 developer.sonyericsson.com ↩
-
↑ "UC864-E Software User Guide" (PDF). Archived from the original (PDF) on July 14, 2011. 090505 m2m-platforms.com ↩ ↩2
-
↑ "Dan Williams' blog – That's when I reach for my revolver…". March 20, 2009. Archived from the original on August 30, 2010. Retrieved November 6, 2010. ↩