OpenWRT化した「La fonera 2.0」にUSB-HDをマウントする

 

容量が少ないので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ギガバイトのハードディスクを認識してくれました。

 

このカテゴリのその他の記事