ページ

2014年1月3日金曜日

Raspberry-piにOpenWrtをインストールする。

目的

raspberry-piにOpenWrtをインストールする。市販のルーターの殻割りしてbootloader変更して・・・という手順を踏むよりは幾分簡単です。基本的にはSDカードにデータを書くだけですし。
ただまぁapt-getを捨ててまでやる必要があるの?と言われるとわからん。でもネットワーク機器として使用するなら私は一考の余地があると思います。AP設定とか楽ちんですしね。

準備するもの
- Raspberry Pi
  本体。これがないと始まらない。
- SDカード
  そんなに大容量のものは必要ないです。2GBあれば十分。
- (オプション) シリアルコンソール
  なんだかんだであると便利。


はじめに 
最初はopenwrtからimageファイルとってきてddでコピーすれば終わりですよねーとか思ってたら思わぬ落とし穴があって時間がかかりました。
結論から言いますと、rpiによって起動しないブートローダがあるらしく、openwrtのimageファイルに埋め込まれているブートローダでは私のrpiは起動せず、最新のものに上書きする必要がありました。

手順
1. 以下のサイトから最新のraspbianをダウンロードする。
http://www.raspberrypi.org/downloads

2. 取得したraspbianの/bootから以下のファイルをPCにコピーします。
- boodcode.bin
- start.elf
- fixup.dat
SDカードにddしてからコピーしてもいいですし、mountしてコピーしてもよい。

3. 以下のサイトからrpi用openwrtのイメージファイルをダウンロードする。
http://downloads.openwrt.org/attitude_adjustment/12.09-beta/brcm2708/generic/openwrt-brcm2708-sdcard-vfat-ext4_128.img

4. 3で取得したイメージをSDカードにddする。
$ sudo dd if=./openwrt-brcm2708-sdcard-vfat-ext4_128.img of=/dev/sdX bs=1M

Xはマシンによって異なるので注意してください。あと間違ってもsdb1などパーティションを指定しないでください。
ddが完了したら再度マシンに挿しなおしてください。

5.  2で取得しておいたファイルを4で作成したSDカードの1番目のパーティションに上書きします。完了したらアンマウントしてください。

6. シリアルコンソールがあればつないでください。ピンアサインについては割愛。

7.  起動して192.168.1.1にアクセスできればOKです。
デフォルトのIPアドレスを変更しておきたい場合はSDカードをPCに挿して直接/etc/config/networkを編集すればよいです。

参考
http://wiki.openwrt.org/toh/raspberry_pi
http://www.zoobab.com/raspberry-pi-openwrt


2012年3月29日木曜日

OpenWrt 日本語ドキュメント

がんばってOpenWrtのHowtoを書こうとしたけど、書いてる途中であんま意味ないなと思いだしたので公式wikiの翻訳を充実させることにしました。まだまだ未完成です。

OpenWrtとは

-まずはじめに
http://wiki.openwrt.org/jp/start

-OpenWrtってなんだよ?
http://wiki.openwrt.org/jp/about/start

-OpenWrtシステムの構成要素
http://wiki.openwrt.org/jp/doc/howto/user.advanced

-ファームウェアの取得方法
http://wiki.openwrt.org/jp/doc/howto/obtain.firmware

開発環境構築編

-OpenWrtのBuildroot (toolchain) について
http://wiki.openwrt.org/jp/about/toolchain

-Buildrootのインストール方法
http://wiki.openwrt.org/jp/doc/howto/buildroot.exigence

-Buildrootの使い方
http://wiki.openwrt.org/jp/doc/howto/build

-Buildroot 追加ソフトウェアパッケージについて
http://wiki.openwrt.org/jp/doc/devel/feeds

ファームウェアインストール編

-OpenWrtファームウェアをルーターにインストールする(基本)
http://wiki.openwrt.org/jp/doc/howto/generic.flashing

-WHR-HP-AG300Hにインストールする
http://wiki.openwrt.org/jp/toh/buffalo/wzr-hp-ag300h

-オリジナルのファームウェアに戻す
http://wiki.openwrt.org/jp/doc/howto/generic.uninstall


ゆっくり見て行ってね!ついでに誤植・誤字があったら修正していってね!

2012年3月14日水曜日

WZR-HP-AG300HにDD-WRT / OpenWrtをインストールする

目的

無線LANルーターのソフトウェア・ファームウェアをDIYする。故に、自分で好きなネットワークサービスをインストールすることができます。

- samba
- DLNA
- Mesh Network
- VPN
- FTP
- UPnP
- DDNS
- 3G, LTE

とか基本的にLinuxでできることは全部できる。中身はLinuxだから。

DD-WRTをインストールする

めっちゃ簡単です。

準備するもの 
- PC
- WZR-HP-AG300H

手順

1. 以下のサイトからdd-wrtのファームウェアをダウンロードする。
http://www.dd-wrt.com/wiki/index.php/Buffalo_WZR-HP-AG300H

2. ルーターの電源を入れる。

3. WEBUIにアクセスする。(初期設定は192.168.11.1)

4. ファームウェア更新画面から手順1でダウンロードしたファームウェアを入れる。

5. しばらく待つと192.168.1.1で立ち上がるので好きに遊ぶがよろし。

OpenWrtをインストールする

DD-WRTと比べると運用方法も一気に難易度があがります。自分で全部manageしたいという方にしかおすすめできません。

準備するもの
- PC
- WZR-HP-AG300H
- T8 トルクスドライバー
- マイナスドライバー (筐体ひっぺがし用)
- TTLレベルのシリアル接続ができるケーブル (秋月のFT232RLとか)
- はんだ、はんだごて、銅線とか。ようははんだづけしなきゃならんです。

手順

1. 以下のサイトからopenwrtのファームウェアをダウンロードする。
http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-wzr-hp-ag300h-jffs2-tftp.bin

2. ag300hの殻割りをします。以下のページに殻割りの手順が写真付きで載っていてわかりやすいです。
https://picasaweb.google.com/111743287730172647732/BuffaloWZRHPAG300HHardwarePhotos

3. うまく殻割り出来たらシリアルをつなぐ作業に入ります。"Movie Engine"スイッチのそばにシリアルのPinがありますので、ボードとFT232RLをつなぎます。
以下の写真が参考になりますが、txとrxが逆なので注意してください。
正しくはスイッチ側から「rx, tx, gnd, vcc」です。
https://picasaweb.google.com/111743287730172647732/BuffaloWZRHPAG300HHardwarePhotos#5684893740977826434

4. FT232RLとag300hをこんなふうにつなぎます。
(FT232RL)          (WZR-HP-AG300H)
tx            <--->  rx
rx            <--->  tx
gnd          <--->  gnd

5. PCにFT232RLのドライバをインストールします。

6. PCにターミナルソフトをインストールします。私はminicom派です。ターミナルの設定は以下の通り。設定したらターミナルを起動します。
Bps/Par/Bits : 115200, 8n1
Hardware Flow Control : No
Software Flow Control : No
7.  別のターミナルを開いて、tftpコマンドをインストールします。
$ sudo port install tftp
8.  PCとルーターのLAN port-1 (WANの隣) を有線LANでつなぎます。有線LANはハブ経由でも大丈夫です。以下のコマンドを実行します。最後の"put"行はまだエンターキーを
おしちゃダメです。
$ cd YOUR/FIRMWARE/PATH
$ sudo arp -s 192.168.11.1 02:aa:bb:cc:dd:20 ifscope en0
$ tftp 192.168.11.1
tftp>binary
tftp>rexmt 1
tftp>timeout 60
tftp>put openwrt-ar71xx-generic-wzr-hp-ag300h-jffs2-tftp.bin
9.  ルーターの電源を入れます。ターミナルを見ていて...
tftp server(receive) go, waiting:4[sec]
このへんでCtrl+C連打するとredbootが止まります。止まったら以下のコマンドを実行
します。
ar7100> setenv accept_open_rt_fmt 1
ar7100> saveenv
10.  電源ひっこぬいてルーターを再起動し、手順8のputで止まっているコンソールでエンターキーを押して実行します。あとは自動的にファームウェアがインストールされるのでしばらく待ちます。

11.  8で設定したarpエントリを消去します。消去しないと192.168.11.1にアクセスできません。
$ sudo arp -d -a
12.  http://192.168.11.1にアクセスできればOKです。

実はシリアルコンソールはredbootで"setenv accept_open_rt_fmt 1"するためだけにあります。
本当はdd-wrtの状態でfisconfigでredbootの設定を変更できればシリアルなんて
いらんのですが、どうやってもFIS directoryが壊れるので諦めてシリアルをつなぐことに
しました。

参考
http://wiki.openwrt.org/toh/buffalo/wzr-hp-ag300h

Buffalo純正ファームウェアに戻す

飽きたのでbuffalo純正ファームウェアに戻します。

1. Buffaloからファームウェアをダウンロード。私の環境はMacですのでMac用のファイルをダウンロードします。1.72はtftpできないという噂があったので、私は1.70を使用しています。
http://buffalo.jp/download/driver/lan/wzr-hp-ag300h_fw-win.html

2. dmgファイルをマウントすると、中にファームウェアがあるので適当な場所にとりだします。

3. 先ほどと同じようにtftpコマンドを使用して、アップロードします。 

4. 初期設定のIPアドレス(192.168.11.1)で復帰すればOKです。 
おしまい