ナビゲーション
トランシーバー
すべては2010年にOsmocom開発者がOpenBSCの大部分を完了したときに始まりました。 GSMプロトコルのクライアント部分を実装する必要がありました。 その後、2つの開発パスがありました。新しい機器に基づいてトランシーバーを実装するか、既製のソリューションを使用するかのいずれかです。 カリプソチップセットに基づくモトローラの携帯電話がハードウェアプラットフォームとして選択されました:C123、C118、C121。 なぜカリプソなのか? 実際、このチップセットの仕様は一度に安全にインターネットに漏洩し、今日まで利用可能です。
ファームウェアの分解プロセスが始まり、同じ年にプロジェクトリポジトリに最初のコミットが表示されました。 後に、このプロジェクトは、Sony Ericsson J100i、Pirelli DP-L10、Neo 1973、Neo Freerunner、およびその他のMotorola CおよびVシリーズの携帯電話など、同じチップセットを搭載した携帯電話に移植されました。
携帯電話(ms)から基地局(BTS)へのデータ転送は、いくつかの段階で実行されます。 最初に、送信イベントが中央プロセッサによって生成され、信号処理プロセッサ(DSP)に送信されます。DSPは、マイクから直接信号をキャプチャし、ハードウェア変調器に送信します。 変調後、信号はデジタルからアナログに変換され、増幅され、スイッチを介してアンテナに入り、空中を伝送されます。 信号受信プロセスは逆で、この場合のみ信号がフィルタリングされ、復調はDSPでプログラム的に実行されます。
問題が発生します:OsmocomBBを最新の携帯電話で実行することは可能ですか?
残念ながら、ありません。 最初の問題はセキュアブートです。 多くのデバイスがファームウェアを起動するブートローダーを持っていることは秘密ではなく、携帯電話も例外ではありません。 ほとんどの場合、ブートローダーは「ロック」されており、サードパーティのファームウェアをロードできません。 ブートローダーのロックを解除する可能性はありますが、より深刻な問題があります。 DSPプロセッサのドライバーと仕様は閉じられており、ごく一部でしか利用できません。
だから、軟膏番号2で飛ぶ。 これらの携帯電話は簡単に見つけることができません。 それらはゼロ年の後半に生産され、現時点ではアリエクスプレス、ebay、または近隣の都市のavitoで見つけることができます。 3番目のオプションは最も関連性があります。注文されたオスモフォンの代わりに、記事が来るからです。 互換性のある3台の携帯電話(2台のC118と1台のC115)しか入手できなかったので、それらとの連携についてお話します。 C118は、プラットフォームE88、C115-E87上に構築されています。 プロジェクトの開発者によると、どちらも99.9%同一です。 ちょっとした写真撮影:
別の重要な詳細。 米国、カナダ、アフリカ、および中南米の一部の国では、GSMは850/1900 MHz帯域で動作します。 米国の標準電話が彼らのために製造されました。 標準周波数範囲については、EU標準が発行されました。 OsmocomBBプロジェクトはもともとEU標準向けに設計されましたが、一部の職人はソースコードを変更し、米国の電話でファームウェアを実行することができました。 いずれにせよ、EUの基準に従うことをお勧めします。 それらを区別する方法は? 販売者の地理的位置を確認します。 また、誰かに電話をかけるだけで、ネットワーク上の電話のパフォーマンスを確認することもできます。
ワイヤーとコンバーター
問題の電話機にはシリアルポートがあり、その結論はボード上にあります。 これはかなり面白いですが、ヘッドセットポートはシリアルポートとしても機能し、元のファームウェア(サービスメニュー** 16379#)をデバッグし、ブートローダーと通信するために使用できます。 電話機が起動すると、組み込みのブートローダーがシリアルポート経由でファームウェアのダウンロード要求を送信し、誰も応答しない場合、ファームウェアはフラッシュメモリからロードされます。
sysmocom Webサイトで既製のケーブルを購入できますが、自分で組み立てることができるため、これは面白くありません。 2.5 mmジャック(約5 p)、3本のワイヤー、コンバーター(aliexpressで約150 p)およびはんだ付け機能が必要です。 このすべてのものは200ルーブル以下の費用がかかり、13ユーロよりはるかに安いです。 そしてここで、USB-TTLコンバーターがすでに搭載されているArduinoを思い出します。 だから私は、プロジェクトに精通し始めたばかりのときにやった。 私のfreeduino(国内クローン)にはFT232RLが配線されており、ルーター復元機能(時にはキラー)として忠実に機能していました。 彼はブートローダメッセージを正常に受信しましたが、ファームウェアのダウンロードを許可しませんでした。 そのため、「 ハードウェア/シリアルケーブル」セクションで公開されているリストから別のコンバーターを購入することをお勧めします 。
最適なコンバーターは、FT232チップセットに基づいています。 「すぐに使える」ことにより、非標準のデータ転送速度を使用でき、非常に安定して動作します。 次に推奨されるチップセットはCP2102で、私は自分で使用します。 それに基づくコンバーターは高価ではなく、ファームウェアの後、非標準速度の使用も可能にします。 ファームウェアの説明は、 ハードウェア/ CP210xTutorialセクションにあります。 PL2303は、高速での作業方法がわからないため、限られた範囲のタスクに適しています。また、時々ファームウェアをロードすることもあります。
ジャックに関しては、長距離コンタクトはTxD、中央はRxD、残りはGNDです。 何も過熱しないように慎重にはんだ付けする必要があり、完了したら、マルチメーターで各接点の抵抗を確認します。 その後、ケーブルの操作性を確認できます。
# 1. # 2. # 3. minicom, : $ sudo apt-get install minicom # 4. $ sudo minicom -s # 5. " ". # , ls /dev/ | grep tty # 115200, : 8-N-1. # "Enter", "Esc". # 6. ( ) . # @ftmtoolerror, .
考えられるエラーのリスト:
- はんだ付け時にジャック接点が焼けます。 これは可能であるため、一度に複数のジャックを購入し、各接点の抵抗を確認することをお勧めします。
- 間違ったコンバーター。 チップセットのラベルを確認してください:FT232とFT232RLは常に同じものではありません。 チップセットが必要なものである場合、RxとTxを互いに閉じることにより、少しの診断を実行できます。 この場合、シリアルポートに送信したすべてのものが返されます。
- ダウンロード段階で電話がハングしています。 バッテリーを取り外してから再挿入します。
複数の電話
メインのOsmocomBBモジュールには、1台の電話で十分です。 ただし、BTSを実行するには、少なくとも2つ必要です。 ベースステーションは、ビーコンパケットを送信して、その存在を通知し、電話が接続できるようにする必要があります。 1台の電話機でビーコンパケットを送信し、ユーザー接続を処理している間のネットワークパフォーマンスは、非常に小さくなります。 また、GSMトラフィックをスニッフィングするときは、少なくとも2台の電話を取得することをお勧めします。1台は、リッスンしているサブスクライバのサービスメッセージをリッスンし、もう1台はその周波数に切り替えて会話を記録します。