kuroの覚え書き

96の個人的覚え書き

OpenWRT kamikaze 8.09 with SD/MMC support

さて、OpenWRTの再インストールで、SDカードの認識につまずいて、バージョンの変更を試みたんだけど、やっぱり新しいバージョン(というかパッケージ違い)はFONなんていうロースペックなデバイスには荷が重かった。動作が鈍すぎて使い物にならない。
というわけで、悩んだあげく、もう一度kamikaze 8.09に戻ってきた。
総本山DD-WRTwikiページをよーく読んでみたら、kamikaze 8.09でSDカードを使う方法がちゃんと書いてあるじゃないの。
http://www.dd-wrt.com/wiki/index.php/Fonera_SD-Card_hack
このページの下の方ですよ。
まえからluci-app-mmc_over_gpioというパッケージが存在することは気がついていて、これをopkgでインストールしただけではちゃんと動かないことまでは確認していたのだが、このファイルをインストールした上で設定をちゃんとすれば動くことが判明した。
まずはopkgでインストールして設定ファイルの編集だ。
必要なファイルは

kmod-mmc	
kmod-mmc-over-gpio
kmod-mmc-spi	
kmod-nls-base	
kmod-nls-cp437	
kmod-nls-iso8859-1
luci-app-mmc_over_gpio

でopkg updateした後、opkg installで入れる。続いて

# nano /etc/init.d/mmc_over_gpio

ちなみに私はviのかわりにnanoを入れて使っている。macと共通なので。

add_device "default" 5 4 3 7 0

ここを以下のように編集する。つまりGPIOのピン設定が標準設定と改造FONで違っているわけだ。

add_device "default" 1 3 4 14 0
sleep 1
remove_device "default"
sleep 1
add_device "default" 1 3 4 7 0

一旦1 3 4 14 0として消す意味はイマイチわからないが、言われた通りに編集し、

# /etc/init.d/mmc_over_gpio start

で再読み込み。

configfs on /config type configfs (rw)
gpio-mmc: Failed to request mmc_spi module.
mmc_spi spi32761.0: SD/MMC host mmc0, no DMA, no WP, no poweroff
gpio-mmc: MMC-Card "default" attached to GPIO pins di=1, do=3, clk=4, cs=7
mmc_spi spi32761.0: can't change chip-select polarity
root@OpenWrt:~# mmc0: new SD card on SPI
mmcblk0: mmc0:0000 SD01G 1006080KiB
 mmcblk0: p1

こういうメッセージが出てくるとOK。
あとはお好きなようにマウントポイントを作って

# mkdir /mnt/mmc
# mount /dev/mmcblk0p1 /mnt/mmc

マウントして完了。


なお、phpの状況は結局変わらず。簡単なスクリプトは動くけど、複雑なものになると、どうも上手く動かない。まあこのマシンパワーでphpでバリバリなwebページがまともに使えるとも思えないので、静的htmlでいいやという気になってきた。という訳で、いらないファイルは削って、できるだけ軽くしてやることにした。