2017-06-05 1 views
2

私は、SIMカードがAndroidスタックでどのように使用されているか知りたいと思います。私はオペレーティングシステムやネットワークプロトコルの他の部分に非常に精通していないので、できるだけ詳しく説明していただきたいと思います。電気通信網からのカーネルコード、文書、RFC、インタフェース仕様へのリンクを躊躇しないでください(私はETSI TS 131 102とTS 121 111でスキミングしました)。GSMスタックはどのようにアンドロイドのSIMカードを使用していますか?

可能であれば、私はヨーロッパで使用されている標準(特にネットワーク認証部分)にもっと興味があります。

この情報が必要な理由は、私のアンドロイドスマートフォンのSIMカードリーダーが壊れていて、私が外部のものを使用できなかった理由はわかりません。理想的な解決策は、SIMカードに保存されているクレデンシャルをコピーして、Android側のソフトウェアで使用することですが、(少なくとも最近のものでは)外部から読み取ることのできない強力な暗号の秘密が含まれていると思います。もう1つの解決策は、電話機にリンクされた外部SIMカードリーダーを構築してネットワーク上で認証を実行することです(可能な場合はこの部分だけですが、たとえばセルからセルにローミングするときにこれを実行する必要があります) 。

理想的には、私は外付けUSBカードリーダーを使用しますが、少なくともデフォルトでは可能かどうかはわかりません。

それはSOに属していないようにこの質問に聞こえるかもしれないが、私は解決策をプラグインする場所の答えが決定されますので、はプログラミングの質問であると考えている。

+1

3Gモデムには通常、クローズドソースソフトウェアを備えた別個のCPUがあります。 – 0andriy

答えて

1

には「GSMスタックはありません"アンドロイドやLinuxではそうではありません。アンドロイドは、(カーネルに)外部のGSMモデムへのttyベースの(ATコマンド)アクセスを使用します。唯一の方法は、SIMコネクタを修理/交換するか、gsm USBドングルを使用することです。仮想 "ソフトウェア" SIMを備えたGSMモデムが存在しますが、アンドロイドで使用されているものは一切聞いていませんでした。

+0

私はすでに成功していないコネクタを交換しました。私は新しい電話機を手に入れますが、これはGSM、SIMカード、Androidについてもっと学ぶよい機会です。電話機能がbluezのようなフロントエンド(ui/settings/dialer) - バックエンド(低レベルハードウェアへのインタフェース)アーキテクチャに分割されていなかった場合、私は驚くでしょう。新しいカードアダプタを有効にすると、適切な場所でバックエンドとのインタフェースが必要になります。これは、マルチSIMアダプタの作成を容易にする利点も有する。あなたはまた、USB GSMドングルが動作することを暗示しているようですが、より多くの情報がありますか? – MayeulC

+0

AndroidはUSB GSMドングルをサポートしています(2.3以降)。すべての格安Androidカーオーディオでは、これをすぐに使用できます。 – Rus

関連する問題