これは、彼のDraytek Vigor 167 VDSLモデムのQ3Kの実験的カスタムファームウェア(CFW)プロジェクトです。
さらに進む前に、いくつかのことを述べなければなりません。
カスタムファームウェアは、Draytek Vigor 167 VDSLモデムのファームウェアバージョン5.0.1に基づいており、次の変更があります。
nixまたはnixosが必要です。
$ # Build everything. This will take a bit on first run, as a bunch of
$ # toolchains for MIPS must be built...
$ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1
$ nix-build -A cfw
/nix/store/v7ihha3j4j2swz3ildaylz9vqaqrl78r-vraytek-custom-518f426f
$ # Note: your hash will differ, as it's based on the Git revision of this
$ # repository at build time.
$ ls /nix/store/v7ihha3j4j2swz3ildaylz9vqaqrl78r-vraytek-custom-518f426f
v167_cfw518f426f.all
$ # Note: your firmware name will differ, as it contains the Git revision
$ # of this repository at build time.
v167_cfw518f426f.all
などのファームウェアファイルがあると、システムメンテナンス - >ファームウェアの下でWebインターフェイスにアップロードできます。
新しいファームウェアをインストールして再起動した後、Webパネルと同じパスワードを使用して、管理者としてModemにSSHとしてSSHできるはずです。
$ ssh [email protected]
[email protected]'s password:
_ __ ______ __ ___ _
| | / /______ ___ _/_ __/__ / /__ / _ (_)__ ____ ____
| |/ / __/ _ `/ // // / / -_) '_/ / // / / _ `/ _ / __/
|___/_/ _,_/_, //_/ __/_/_ /____/_/_, /___/_/
/___/ CFW, git rev 518f426f /___/
# uname -a
Linux draytek 3.18.21 #4 SMP Fri May 7 16:22:06 CST 2021 mips unknown
公開キー認証の場合は、システムメンテナンス - > accounts-> SSH公開キーで、WebパネルにSSH管理キーを追加します。現在のパスワードと新しいパスワードを2回入力する必要があります(SSH公開キーと並んで保存する必要があります。これは、パスワードフォームの動作がWebインターフェイスにどのように実装されるかによるものです。
現在、このリポジトリによって「モデル」カスタムファームウェアのみが構築されており、default.nixで定義されています。独自の変更を追加するために、このファイル(特に「スクリプト」)の周りに突き刺します。何が起こっているのか、そしてその理由を理解するのに十分な文書化されるべきです。
将来的には、このリポジトリを別のnix派生にインポートして拡張することが可能かもしれません(これはlib.nixのmakecustomfirmwareを使用して既に幾分実行できますが、それはデフォルトに従ってすべての基本的な変更を再現する必要があります。
このリポジトリには、オープンソースライセンスの下でライセンスされたソースコードのみが含まれています(MITライセンス、コピーを参照)。ただし、これにより、結果のビルドアーティファクトがオープンソースソフトウェアになりません。
元のDraytekファームウェアは、オープンソースライセンスの下で分散されていない独自のソフトウェアです。私はそれを再配布する権利を持っていません、そしておそらくあなたもそうしません。このリポジトリのコードによって構築されたカスタムファームウェアは、その元のファームウェアから派生しています。明確にするために、このリポジトリにはオリジナルのファームウェアもカスタムファームウェアも含まれていません。これは、実行するとカスタムファームウェアを構築するだけです。
さらに、元のDraytekファームウェアには、GPLのようなCopyLeftライセンスの下で元々ライセンスされていたコンパイルされた作品コードが含まれているように見えますが、執筆時点では対応するソースコードはありません。これは、ファームウェアの再配布が、独自のDraytekコードの権利だけでなく、これらのコピーレフトライセンスに基づいてコード再分配されていると思われる著者の著者を侵害する可能性があることを意味します。
全体として、カスタムファームウェアは法的に灰色の領域であり、このコードベースによって構築されたものの潜在的なユーザーであるこれがどのように関係するかについて独自の調査を行う必要があります。
上記を考慮すると、カスタムファームウェアのバイナリビルドは提供されません。あなたはすべてを自分で構築し、あなたがしていることが合法でさえあるかどうかについてあなた自身の法的調査をしなければなりません。
モデムは、econet en751627 soc(2コア / 4スレッド)で実行され、Linuxで100mを超えるRAMを少し超えるRAMと128MBのフラッシュ(一次 /二次パーティションのセットに分割)があります。
以下の憶測:
Drayos 5はLinux 3.18.21に基づいています。以前のDrayosビルドでも使用されていたかもしれないBuildroot BSPからのBultのようですか?伝えるのは難しい。
ファームウェアには「TC3162」への多くの参照が含まれていますが、それは赤いニシンのように見えます。TrendChipのスタンドアロンADSL SOCのように見えます。長年のランダムな公開プロジェクトにわたって、さまざまなクラスのDSLモデムのさまざまなベンダーに登場するようです。人々はしばらくの間cat /proc/tc3162/adsl_stats
のパーサーを書いています。メインのイーサネット/スイッチドライバー( eth.ko
)と思われるものを含む、この不思議なTC3162の世界と対話して実装する、多くのカーネルモジュール(ソースがありません...)がこの不思議なTC3162の世界を実装します。スイッチチップ / Mac自体はMT7530かもしれません。
OpenWRTのようなものをこのデバイスに移植できるかどうかについて教育を受けた意見を述べるために、実際のドライバー/ファームウェアスタックにさらなる研究を行う必要があります。信頼できるルートシェルを持つことは役立ちます:)。