PinePhone LTE モデム用のオープン ファームウェア
彼らの月例発表では、Pine64 の優れた点の中でも特に、PinePhone の LTE モデム用のオープン ファームウェアについて話しました。 ファームウェアは完全に開いておらず、いくつかの部分が閉じたままになっています。 そして、Pineは、このファームウェアをプレインストールしたり正式に承認したりはしておらず、PinePhonesは代わりにベンダー提供のモデムファームウェアイメージを同梱して出荷し続けることを強調しています。
そうは言っても、新しいファームウェアは機能がはるかに優れています。バグは減り、機能が増え、消費電力が減少し、独自の部品はほとんどありません。 このファームウェアの特別なビルドを使用すると、PinePhone のモデムで Doom を実行できることに注意してください。なぜなら、もちろんです。
これらすべてにより、このファームウェアのインストールがはるかに簡単になりました。fwupd フックが追加されました。 fwupd は、不正行為ではないことを除き、Linux を対象とした、ファームウェアの Windows Update に相当すると考えることができます。 言い換えれば、オープンソース デバイスを可能な限り機能的に維持するのに最適です。
どうしたんだ? オープン ファームウェアがそれほど優れているのであれば、なぜもっと多くの携帯電話でオープン ファームウェア オプションを利用できないのでしょうか?
電話モデムはかなり複雑です。 あなたの携帯電話は、テンキーであろうと「スマート」であろうと、Mediatek や Qualcomm などの会社のモデム チップを搭載しており、そのチップにはかなり強力な CPU コアが内蔵されています。 たとえば、SIM800 モデム (2G 専用モデム モジュール) には、ARM7 シングルコア CPU と GSM ベースバンドが 1 つのチップに組み込まれた MT6260 チップセットが搭載されています。 GSM 用に強化された ESP8266 と考えることができます。
SIM800 モジュールでは、この CPU は「AT コマンドを受信して GSM の処理を行う」仲介役として機能しますが、GPS トラッカー、スマートウォッチ、その他の GSM 接続デバイスのすべてを実行するプロセッサとしても使用されています。 実際、MT6260 は Nokia 3310 全体を実行できます。 正確には2017年版です。
PinePhone モデムでも、状況は同じであることが判明しました。 Quectel モデムは ARM コア上で Android の機能を簡素化したバージョンを実行しており、モデムの USB インターフェイス経由で adb シェルを利用できることがすぐにわかりました。 数人の冒険好きなハッカーが調査を開始し、シェル アクセスを取得したところ、ffmpeg、vim、gdb、sendmail などのツールがコンパイルされていることを発見しました。確かにセルラー モデムに必要なものではありませんが、まあ。 ファームウェア イメージが解凍され、一部のコードがリバース エンジニアリングされ、モデム自体が新しくコンパイルされた Linux ハートを取得しました。
PinePhone の Quectel EC25-G LTE モデムに電力を供給する特定のチップは、シングルコア CPU と 256 MB の RAM およびフラッシュを備えた Qualcomm の MDM9207 です。この Pine64 Wiki ページで技術的な詳細を知ることができます。 考えてみると、PinePhone は実際にはクアッドコア CPU デバイスではなく、2 つの Linux インストールを並行して実行するペンタコア デュアル CPU デバイスです。 そして、はい、同じことが Android スマートフォンにも当てはまる可能性はありません。
それにしても、なぜセルラー モデム ファームウェアのオープン性を重視するのでしょうか? 私たちはそれなしでもまったく問題なく生きてきた、と言う人もいるかもしれません。 モデム用のオープン ファームウェアには良いことがたくさんあることがわかりました。
最も注目すべき機能の 1 つは、PinePhone モデムの CPU コアを 400 MHz から 100 MHz にダウンクロックする機能です。 これにより、モデムの消費電力が減り、電話機の発熱が少なくなります。 モデムの構成 (オーディオ ビットレートなど) がより動的になり、オーディオ パラメータを変更するためにモデムを再起動する必要がなくなりました。 ロギング機能やテスト機能など、開発者にとって使いやすいあらゆる種類の機能があります。 PinePhone の統合も改善できます。つまり、PinePhone の CPU が一時停止されている間のデバッグと通話処理の改善により、バッテリ寿命がさらに向上します。
そしてもちろん、ドゥーム。
また、PinePhone のセルラー機能を妨げる多くの問題を修正することも可能です。セルラー モデムではよくあることですが、ファームウェアには多くの問題があります。 これらの一部は、別のベンダーのファームウェア イメージを使用することで修正できますが、バイナリ イメージを行き来して最も不具合の少ないものを探すのはイライラの連続です。 半年前に PinePhone をターゲットにした奇妙なマルウェアが悪用した「モデムを動作不能にする」脆弱性などにパッチを適用することも可能です。
はっきり言って、これは大規模な電話機メーカーが電話機に組み込んだモデムをすでに克服している種類の制御です。 オープンな電話プロジェクトには、この種の制御が必要です。そうでないと、あらゆる種類の不具合や誤機能を伴う独自のファームウェア イメージに依存することだけが原因で、不利な立場に置かれることになります。 ファームウェアの変更が不可能な場合、オープン フォンには機能の同等性を実現する上でもう 1 つの障害があり、当社のテクノロジーは現状のままではオープン フォンにはすでに非常に敵対的です。
このファームウェアではすべてがオープンであるわけではありません。 ベースバンド ファームウェア、別名 ADSP ファームウェアとして知られる RF ビットはクローズされたままで、まだ誰もリバース エンジニアリングされていません。このモデムではまだ OpenBTS を実行する予定はありません。
TrustZone カーネルもクローズされたままです。私の理解では、これは Qualcomm によって署名されています。 ただし、Linux のインストールは新鮮で、もう臭いものはありません。クアルコムのアプリケーション スタックは、より軽量なものに置き換えられたようです。これにより、クローズド ユーザースペースのツールやドライバーも必要なくなりました。 これは、さまざまな面でニーズに合わせて変更し、自分でコンパイルしてフラッシュできるファームウェアです。
私はこのような背景と利点をすべて列挙し続けていますが、考えてみれば、最初の質問にまだ答えていないのは少し不公平です。 なぜもっと早くモデムのファームウェアをオープンできなかったのでしょうか? さて、ようやく「なぜ」に辿り着きました。
PinePhone モデムのオープン ファームウェアは技術的に優れており、コード的にはベースバンド、別名 RF パスは変わりません。 では、なぜこのファームウェアを工場から出荷しないのでしょうか? なぜ「公式に承認または推奨されていない」のか? 答えは、Pine64 がこのファームウェアを承認またはプレインストールした場合、特定の国で規制当局の承認を失う可能性があるため、そのどちらも行っていないということです。
現状では、このファームウェアが Pine64 によって承認されることを期待するのは愚かです。 彼らは、PinePhone ができるだけ多くの国で認定を維持できるように懸命に取り組んでいます。携帯電話メーカーが恩恵を受ける事前に確立された代理店と能力のネットワークがなければ、それは複雑な作業になります。 このファームウェアを合法的に実行できる場合は、神速です。そうでない場合は、可能性は低いものの、すべての責任はあなたにあります。 ここハッカデイでは、販売用のギアではできないことを個人として行う自由を満喫しています。
そのような分野の 1 つは無線関連のファームウェアです。 通常の WiFi ルーターのファームウェアに対する米国 FCC の指示により、ルーターのメーカーは OpenWRT のインストールを制限しようとしました。 つまり、ルーターがカスタム ファームウェアに対応し続けることは可能であるはずですが、私は楽観的ではありません。 何年にもわたって傾向を観察し、ファームウェアがますますロックダウンされていることに気づき、私はある質問についてよく考えてきました。
規制上の制限はセルラー モデム メーカーによって回避できることを理解することが重要です。 あらゆる言い訳や法則を超えて、努力の問題があります。 モデムのファームウェアをオープンソースにすることは不可能ではありませんが、いくつかの注意点があります。メーカーにはそれをオープンにする努力をする意欲がないということです。 法律は回避できます。マーケティング部門には法的な創造性が不足していないことは十分に承知しています。 企業のロビー活動の力は、利益を失うことになると大きな影響を及ぼしますが、ファームウェアを制限する法律が可決されたときには発揮されません。 なぜここではないのですか?
私がこれまで見てきた言い訳として使われているのは、携帯電話技術のまったくの複雑さであり、これにはある程度の根拠があります。 これらの標準は実に複雑です。 ただし、モデムの CPU 周波数をダウンクロックしたり、インターフェイスのバグを修正したりするために、セルラー プロトコルの微妙な違いを理解する必要はありませんでした。 その一部はオープン、または少なくともオープンソースである可能性がありますが、実際はそうではありません。
他の言い訳としては、規制遵守というものがありますが、これにもある程度の根拠はあります。しかし、最初から会話が始まったわけではなく、私たちのニーズ、議論できる、議論すべきニーズを認識することもありませんでした。 一部のモデムにはインテグレータ企業が利用できる SDK があり、いくつかのモデムにはある種のコード インタプリタが提供されます。さらに多くの場合、これらのドキュメントにアクセスするには確立されたビジネス関係が必要であり、その後、規制上の問題が発生する可能性があります。それほどブロッカーにならないように。
規制順守によって免責された問題の多くは、計画的陳腐化のために販売された新しいハードウェアによっても、技術的に強制されていない労力に資金が費やされなかったことによっても、メーカーに経済的に利益をもたらします。ファームウェアのカスタマイズは NDA やビジネス関係の背後にあります。少なくとも部分的にオープンで競争力があるのとは対照的です。 これは独占プレイヤーにぴったりです。
ファームウェアのオープン性は、それにコミットしてハードルを乗り越えるかどうかの問題です。メーカーがその努力をしないとしても、少なくとも私たちハッカーがあちこちで補うことができます。 今のところ、オープンな電話機と同等の機能が必要な場合は、ある時点で独自のファームウェアに深く組み込まれたリバース エンジニアリング ツールを入手する必要があります。
なぜ今、なぜ Pine64 なのかと疑問に思われるかもしれません。 これまでにもオープンソースのベースバンドプロジェクトはありましたが、ここまで到達したプロジェクトは多くありませんでした。 そうですね、いくつかの要因が彼らに有利に作用しましたが、主な要因についてお話したいと思います。
このような突破口を開くには、ハードウェアをハッカーの手に渡すことが重要です。これが Pine64 がうまくやっていることです。 PinePhone は 2 年以上前から出荷されており、基本的には欲しい人は誰でも入手できるため、かなりの数のハッカーが Quectel モデムを搭載したオープン デバイスを所有しています。
そこから、ハッカーがモデムを攻撃し始めるのは時間の問題でした。 価格が安いことも助けになります。PinePhone は主力携帯電話と比較すると驚くべきものではありませんが、価格もほんの数分の 1 で済み、Linux を搭載していることでパフォーマンスをさらに絞り出すことができ、その欠点を打ち消すことができます。 Android を実行する場合は、さらに重要になります。
また、ハッカー友達の携帯電話をこれほど低価格で手に入れることができるということは、とりわけ経済的理由などで、すでに所有しているデバイスからどんどん搾り取ることに慣れている種類のハッカーが、その携帯電話にアクセスできるようになるということも付け加えておきます。 私たちのスキルは必要に応じて研ぎ澄まされることがあります。これが、Pine64 の仕事がより価値のある理由の 1 つであり、新世代のハッカーがこれまで経済的に締め出されていたツールや遊び場にアクセスできるよう支援しています。
あなたの個人の携帯電話の 1 台も同様の方法でハッキングされる可能性があります。携帯電話のモデムを実行している標準以下の Linux ビルドをリッピングし、より制御できる Linux ビルドに置き換えるというものです。 PinePhone の可用性は、このハードルを乗り越えるのに役立ち、今後のプロジェクトでもその恩恵を受けることができるようになりました。 実際、これらの Quectel モデムの 1 つを mPCIe カードとして入手し、オープン ファームウェア モデムを自分のデバイスに簡単に組み込むことができます。
このファームウェアは完全にオープンではありませんが、その大部分はオープンであり、PinePhone のセルラー機能を向上させるのに最も役立つ部分です。 このような変更可能性により、次は何を達成できるのでしょうか? これらの機能を考慮すると、将来的にはどのような課題に直面するのでしょうか? まだ何が起こるかすべてはわかりませんが、この作品は私たちにとって朗報です。