SSブログ

Buffalo WHR-G300N OpenWrt r35420 のビルド #2 [OpenWRT/DD-WRT]

WHR-G300N は,前記事のとおり,OpenWrt r35420 でビルドしたファームが起動できたが,ファームウェアイメージをビルドするところで,make がアベンドしていた。

trunk/target/linux/ramips/image/Makefile を以下のように再度修正して,make が完了するようになった。

430行~

mtdlayout_whrg300n=mtdparts=physmap-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,960k(kernel),2752k(rootfs),64k(user)ro,3712k@0x50000(firmware)
define BuildFirmware/WHRG300N
    $(call Image/Build/Template/GENERIC_4M,$(1),whr-g300n,WHR-G300N)
    $(call BuildFirmware/Buffalo,$(1),whr-g300n,WHR-G300N,mtdlayout_whrg300n,983040,3801088)
    ( \
        echo -n -e "# Airstation FirmWare\nrun u_fw\nreset\n\n" | \
            dd bs=512 count=1 conv=sync; \
        dd if=$(call sysupname,$(1),whr-g300n); \
    ) > $(KDIR)/whr-g300n-tftp.tmp
    buffalo-tftp -i $(KDIR)/whr-g300n-tftp.tmp \
        -o $(call imgname,$(1),whr-g300n)-tftp.bin
endef

732行~ (前回の修正)

define Image/Build/Profile/WHRG300N
    $(call Image/Build/Template/$(fs_squash)/$(1),WHRG300N)
endef

機種毎のファームウェアイメージファイルは,このMakefileで,生成している。
手持ちのWifiルータで,Ralink RT305x を搭載している機種は,Fon2405e と IODATA WN-G300DGR がある。
Fon2405e はフラッシュが2Mしかないので難しい。WN-G300DGRは,http://royalwin.blog.so-net.ne.jp/2012-09-12 でシリアル接続はできているが,このMakefile には,対応機種として書かれていない。
どうやってファームウェアイメージを作ればいいのかわからない。

 


Buffalo WHR-G300N OpenWrt  r35420 でのビルド [OpenWRT/DD-WRT]

WHR-G300N 用 OpenWrt の最近のスナップショット(@35420)をビルドできた。
ビルドやファームウェア書き換えは、BackTrack 5 R3 を使っている。
r30645 以降、機種毎のファームウェアを生成している trunk/target/linux/ramips/image/Makefile にバグがあり、WHR-G300N のファームウェアがビルドされない問題があった。

以下Makefileの611~613行だが、612行を以下のとおり変更した。
(fs_squashfs –> fs_squash)

define Image/Build/Profile/WHRG300N
$(call Image/Build/Template/$(fs_squashfs)/$(1),WHRG300N)
endef

https://dev.openwrt.org/browser/trunk/target/linux/ramips/image/Makefile

make menuconfig
make V=99 j=4

これで必要な openwrt-ramips-rt305x-whr-g300n-squashfs-sysupgrade.bin が作成されるが、make は作成直後にエラーでアベンドしてしまう。まだバグがあるみたいだ。

最新スナップでは、kernel 3.7.5 になった。動作は問題ないようだ。

snapshot1 

OpenWrt のビルド方法、ファームウェア書き換え方法は機種によって異なる。
WHR-G300N の場合のビルド方法、ファームウェア書き換え方法は、こちらを参照

OpenWrt ファームウェアの初期設定は、以下のとおりで、変更はなかった。
(全機種共通)

  • telnet 192.168.1.1 で接続して、/etc/config/wireless の option disabled を削除する。<再起動後無線が有効になる>
  • telnet 192.168.1.1 で、passwd コマンド。root パスワードを設定<rootパスワードを設定すると、次回起動から telnet接続不可になる>
  • ssh で接続する。公開キーのエラーが出たら、rm ~/.ssh/* で公開キーを削除して、再度ssh 接続する。
  • scp [file名] 192.168.1.1:/tmp でファイル転送ができる。
  • http://192.168.1.1 で Luci を起動して、ブラウザから設定を行う。

Buffalo WHR-G300N OpenWrt netperf [OpenWRT/DD-WRT]

netperf で、OpenWrt 化した WHR-G300N を通信速度計測機能付きルーターにした。 WHR-G300N に、Wifi や Ether で PC を接続して netperf を実行すれば、PC – WHR の通信速度を計測できる。

root@bt:~# netperf -H 192.168.1.1 -- -m 256k -s 256k -r 256k
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 0 AF_INET : demo
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 262142 256000 10.05 26.26
root@bt:~#

OpenWrt ビルド時に netperf を組み込んだ。前記事参照

make menuconfig で Network –> <*> netperf にして、make すれば、netperf がコンパイルされて、OpenWrt ファームウェアに組み込まれる。

netperf サーバ(netserver)は自動起動するので、OpenWrt が起動すれば計測が可能だ。
Windows 7 からも netperf を実行したが、TCP STREAM TEST from … で止まってしまう。ウインドウズFirewallを無効にしてもだめだった。
http://code.google.com/p/netperf-win/

 

 


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。