OpenWRT化した「La fonera 2.0」にUSB-HDをマウントする
前回La fonera2.0のファームを書き換えてOpenWRTにしましたが搭載されているフラッシュメモリは
8メガバイトと非常に少ないのでUSB HDを追加することで容量を大幅にアップします。
今回使用したのはアイオーデータのHDCP-Uシリーズのポータブルハードディスク。電力的にUSB HDが動作
してくれるか不安でしたが、ハブを使って複数台つながない限りは大丈夫そうです。
 | アイ・オー・データ¥ 6,052 (45% OFF)   PlayStation3でも使える  感想  コンパクトで良いです
|
現在の設定はこんな感じです。この時点でUSB HDやフラッシュメモリをUSBポートに差し込んでも反応しません。
# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 1536 1536 0 100% /
/dev/root 1536 1536 0 100% /rom
tmpfs 14964 56 14908 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 5568 2740 2828 49% /jffs
mini_fo:/jffs 1536 1536 0 100% /
では次にopkg(パッケージ管理ソフト)の設定を確認しましょう。
#vi /etc/opkg.conf
するといろいろと文字が書かれていると思うのですが、新しく追加します。
src atheros http://downloads.openwrt.org/kamikaze/8.09.1/atheros/packages/
「atheros」のところは何でもいいみたいですけど・・。私の場合「La fonera 2.0」で 「Kamikaze 8.09.1」を
導入したのでこのURLのパッケージじゃないといけないみたいですが、他のルータやバージョンの場合はこのアドレス
に限らないようなので注意してください。他のルータ用の物を入れてしまっても動いてくれません。
また、間違って導入してしまった後に対応したパッケージを入れなおそうとしても、先に入れたほうの
バージョンが低いと「An error ocurred, return value:14」というエラーをはいてしまいます。この場合は
opkgのremoveコマンドで一旦削除して下さい。
#opkg remove -recursive 削除するパッケージの名前
次にインストールするものです
# opkg install kmod-usb-storage kmod-usb2
次に使用するUSB HDのフォーマットによって以下をインストールします。
# opkg install kmod-nls-cp437 kmod-nls-sio8859-1 kmod-nls-utf8 kmod-fs-vfat
この状態でUSB HDを差し込んでみます。私が使用したHDSP-Uを差し込むと何故かla foneraが再起動しますが・・・。
それ以外は問題ありませんでした。この状態でdmesgコマンドを入力してみます。
# dmesg | grep sd
(略)
sda: sda1
(略)
sda(ハブなどで別のデバイスを使っていればsdb、sdc等)が表示されていればUSBストレージを認識しています。
/proc/bus/usb/devicesでも確認できます。
# cat /proc/bus/usb/devices
(略)
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04bb ProdID=0122 Rev= 0.00
S: Manufacturer=JMicron
S: Product=I-O DATA HDPS-U
S: SerialNumber=000906A19462
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
この状態でLa fonera 2.0を再起動するとUSBストレージがディレクトリに自動的にマウントされるらしいです。
ただしパーティションが作られていなかったら認識しないので、ない場合は作成する必要があります。
# fdisk /dev/sda
# mke2fs -j /dev/sda1
上はext3のフォーマットです。
試しにマウントしてみましょう
# mkdir /mnt/usbhd
# mount -t ext3 /dev/sda1 /mnt/usbhd
この状態でdfコマンドを打つと・・・。
# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 1536 1536 0 100% /
/dev/root 1536 1536 0 100% /rom
tmpfs 14964 56 14908 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 5568 2740 2828 49% /jffs
mini_fo:/jffs 1536 1536 0 100% /
/dev/sda1 307663800 195556 291839812 0% /mnt/usbhd
きちんと300ギガバイトのハードディスクを認識してくれました。