Android Zaurusの日記

ザウルスをアンドロイドにしてあげる
本館 Android Zaurus

2008-06-27

AndroidのATコマンド

17:38 | AndroidのATコマンドを含むブックマーク

Emulatorを起動した状態で、SDKのtoolsにあるDalvik Debug Monitor (ddms)で[Device] - [Dump device state]するか、シェルで

$ ./adb shell /system/bin/dumpstate
$ ./adb pull /tmp/state state.txt

すると、RADIO LOGっぅ項目にAndroidが/dev/ttyS0に吐いているATコマンドのログが拾える。ので、

3GPP TS 27.007 - AT command set for User Equipment

と照合して何してんのかざっくり調査。

初期化

+CMEE=1リザルトもエラーも数値形式
+CGREG=2詳細なネットワーク登録情報
+CCWA=1呼び出し待ちを許可
+CMOD=0呼はシングル(通常)モード
+CMUT=0上り音声のミュートをオフ
+CSSN=0,1呼接続の追加情報なし、呼切断の追加情報あり
+COLP=0発呼時に相手の詳細情報を取得しない
+CSCS="HEX"16進数形式
+CUSD=1Unstructured Supplementary Service Dataのリザルトコードは数値形式
+CGEREP=1,0Packet Domainの状態変化コードをクリア
+CMGF=0未定義(SMSメッセージフォーマット)
+CFUN?現在の省電力モードを取得
+CPIN?PINパスワード待ち状態を取得
+CNMI?未定義(新規SMSメッセージ問い合わせ)
+CSMS=1未定義(SMS関連)
+CNMI=1,2,2,1未定義(SMS関連)
+CGSNシリアル番号を取得
+COPS=3,0; +COPS=3,1; +COPS=3,2; +COPS?ネットワークオペレータを取得
+CGREG?GPRSネットワークの登録状況を取得
+CREG?ネットワークの登録状況を取得
+CSQ無線信号強度とBERを取得
+CIMIInternational Mobile Subscriber Identity (IMSI)を取得
+CRSM=制限つきSIMアクセス
+CGDCONT=1,"IP","internet",,0,0パケット通信コンテキストを設定
+CGQREQ=1QoS設定
+CGQMIN=1最小QoS設定
+CGEREP=1,03G QoS設定
+CGACT=1,0パケット通信コンテキストのアクティベート
D*99***1#パケット通信で発呼(PPPは/dev/omap_csmi_tty1)

発呼

D03555511110355551111に音声で発呼
+CLCC現在の呼状態を取得
+CSQ無線信号強度とBERを取得
+CHLD=1現在の呼を切断し、バックグラウンドの呼をレジューム

着呼

RINGインディケーションを受信
+CLCC現在の呼状態を取得
A着呼
+CSQ無線信号強度とBERを取得
+CHLD=1現在の呼を切断し、バックグラウンドの呼をレジューム

SMS関連はGSMのコマンドぽいので、GSMの標準で調べたほうがいいかもしれないけど、GSMは方言も多いのでパス。まぁ何やってるか大体分かればいいし。呼接続中にもずっと+CSQしてるのがGSMぽい。あとは、普通に+CGDCONTとかATD/ATAとか。音声通話は+CHLD=1で呼切断、というかパケット通信にレジュームしてる(ぽい)。

Connection: close