ZRouter – RT3050FZRouter – RT3050F
ならず者技術屋ならず者技術屋
Hiroki “sabotage” MoriHiroki “sabotage” Mori
2015/02/272015/02/27
ZRouter について
• FreeBSD のルータファームのビルド環
境
• DD-WRT/OpenWrt の FreeBSD 版
• ビルドツールとソースツリーで構成
• Mercurial で管理されています
• 2012 年でリポジトリの更新が止まって
ます
• メインターゲットは MIPS 系 SOC
• クロスコンパイラ作って build world,
kernel してイメージ作成
MIPS 系 SOC
• Broadcom,Atheros,Ralink などが製造
• すべての機能がワンチップに入ってい
ます
• ZRouter では AR7 系が充実、 RT3,5
系もそこそこ、 Broadcom はやばげ
Ralink RT3050F
• MIPS 24k SOC
• Planex MZK-WNH,FON2305 で使用
• 2008 年くらいから製造
• Ralink MIPS 二世代目
• RT3052 は WIFI の RF が二つ
• データシートがネットで入手可能
• IO はすべてメモリマップ
FON2305E/2405E
• メインメモリ 32M, フラッシュ 2M
• フラッシュは SPI SOP 8 ピン
• ゴム足の下にトルクスネジ (T-6,T-8)
で止まってます
• シリアルコンソールパターンあり
•         で AC アダプタ付が
324 円
シリアルコンソール
• 3.3V 57600bps TX,RX,GND を接続
• FTDI の USB モジュールで Mac と接
続
• U-Boot で止めるには FON/WPS ボタ
ンを押しながら電源投入
秋月電子 FT232HL
SPI Flash 交換
• 2M から 8M に交換
• 8M Flash は      で購入
• 表面実装取り外しキットを利用
• flashrom というオープンソースで 2M
の中身を 8M にコピー
• MXIC の 8M は元の U-Boot に ID 入っ
ていますが、入ってなくても使えるか
も
RT3050F ブート手順
CFI
U-Boot
OS
ROM
SDRAM
(SPI)
U-Boot
OS
boot from external 16-bit flash
boot from internal ROM
KMC さんのブログが参考になります
http://blog.kmckk.com/archives/4414137.html
MZK-WNH
FON2305E
FreeBSD Flashing
• U-Boot から TFTP で ZRouter でビル
ドしたイメージを焼く
• イメージの中身は U-Boot の情報 , 圧縮
カーネル , 圧縮 rootfs
• Flash は 4M ないと無理、できれば 8M
はまりどころ
• 詳細なドキュメントがほとんどなくト
ライアンドエラー
• 最終的にはデバッグログ吐かせてソー
スを確認
• sys/conf,sys/mips,zrouter/socs,zrou
ter/boards などに設定があり見通しが
よくない
rootfs がマウントできな
い
• RT3050F の SPI コードが作りかけ&
コンフィグレーションされていない
• hints の flash 内のデータ配置を示す
map がずれていて geom/g_commpress
が認識できず(ログ吐かないのでわか
りにくい)
WIFI が使えない
• ral もいじった形跡があったが使えず
• 野良ドライバの rt2860 はなんとなく
動いたが RT3052 決めうち
• WIFI 出力などは法律で決められれて
いるので注意が必要
• /dev/rt28600 って気持ち悪いですね
Todo
• 実践投入
• USB ドライバデバッグ
• kenv 環境確認 (MAC アドレス設定 )
• mips16 インストラクション利用
• 並列コンピューティング
• U-Boot ビルド
• メインツリーへ貢献

Zrouter

  • 1.
    ZRouter – RT3050FZRouter– RT3050F ならず者技術屋ならず者技術屋 Hiroki “sabotage” MoriHiroki “sabotage” Mori 2015/02/272015/02/27
  • 2.
    ZRouter について • FreeBSDのルータファームのビルド環 境 • DD-WRT/OpenWrt の FreeBSD 版 • ビルドツールとソースツリーで構成 • Mercurial で管理されています • 2012 年でリポジトリの更新が止まって ます • メインターゲットは MIPS 系 SOC • クロスコンパイラ作って build world, kernel してイメージ作成
  • 3.
    MIPS 系 SOC •Broadcom,Atheros,Ralink などが製造 • すべての機能がワンチップに入ってい ます • ZRouter では AR7 系が充実、 RT3,5 系もそこそこ、 Broadcom はやばげ
  • 4.
    Ralink RT3050F • MIPS24k SOC • Planex MZK-WNH,FON2305 で使用 • 2008 年くらいから製造 • Ralink MIPS 二世代目 • RT3052 は WIFI の RF が二つ • データシートがネットで入手可能 • IO はすべてメモリマップ
  • 5.
    FON2305E/2405E • メインメモリ 32M,フラッシュ 2M • フラッシュは SPI SOP 8 ピン • ゴム足の下にトルクスネジ (T-6,T-8) で止まってます • シリアルコンソールパターンあり •         で AC アダプタ付が 324 円
  • 6.
    シリアルコンソール • 3.3V 57600bpsTX,RX,GND を接続 • FTDI の USB モジュールで Mac と接 続 • U-Boot で止めるには FON/WPS ボタ ンを押しながら電源投入 秋月電子 FT232HL
  • 7.
    SPI Flash 交換 •2M から 8M に交換 • 8M Flash は      で購入 • 表面実装取り外しキットを利用 • flashrom というオープンソースで 2M の中身を 8M にコピー • MXIC の 8M は元の U-Boot に ID 入っ ていますが、入ってなくても使えるか も
  • 8.
    RT3050F ブート手順 CFI U-Boot OS ROM SDRAM (SPI) U-Boot OS boot fromexternal 16-bit flash boot from internal ROM KMC さんのブログが参考になります http://blog.kmckk.com/archives/4414137.html MZK-WNH FON2305E
  • 9.
    FreeBSD Flashing • U-Bootから TFTP で ZRouter でビル ドしたイメージを焼く • イメージの中身は U-Boot の情報 , 圧縮 カーネル , 圧縮 rootfs • Flash は 4M ないと無理、できれば 8M
  • 10.
  • 11.
    rootfs がマウントできな い • RT3050Fの SPI コードが作りかけ& コンフィグレーションされていない • hints の flash 内のデータ配置を示す map がずれていて geom/g_commpress が認識できず(ログ吐かないのでわか りにくい)
  • 12.
    WIFI が使えない • ralもいじった形跡があったが使えず • 野良ドライバの rt2860 はなんとなく 動いたが RT3052 決めうち • WIFI 出力などは法律で決められれて いるので注意が必要 • /dev/rt28600 って気持ち悪いですね
  • 13.
    Todo • 実践投入 • USBドライバデバッグ • kenv 環境確認 (MAC アドレス設定 ) • mips16 インストラクション利用 • 並列コンピューティング • U-Boot ビルド • メインツリーへ貢献