山口です。
# 途中からなのでハズしてるかも
On Mon, Nov 01, 2004 at 07:25:29PM +0900, Harada kazutaka wrote:
> ハラダです。
>
> ちょっと気になったので、ELECOMのUSB 2.0 マルチカードリーダ
> MR-DU2A7SV と言うのを購入して試してみました。
> (7-in-1なカードリーダーで、スロットは2つ付いています。)
>
> 環境は
> kernel-2.4.26-0vl15 (Vine Originalのまま)
> murasaki-0.7.10-0vl2
> murasaki-usb-mount-0.2-0vl1
> です。
> *一応*使えると書いたのは、デバイスが認識されるまでに非常に
> 時間が掛かってしまうため、実用的ではないと思われたからからです。
>
> 私の環境では 2デバイス(sdaとsdb)が認識されて、デスクトップに
> アイコンが表示されるまで、約10分掛かりました。
>
> 例しに murasaki を停止した状態でカードリーダを接続して
> dmesgや/var/log/messages を見てみたところ、
> moduleロード後の最初のアクセス時に、スロットのスキャンに
> 時間が掛かっているようです。
> (一旦スキャンが終れば、それ以降は普通にアクセスできました)
sdがロードされ初期化する際にメディアがないため、sdドライバが
諦めるまで待たされるのが原因じゃないでしょうか?
そうならば、スロットにメディアを入れておくことで回避可能ですが、
スロット全部にメディアを入れてブートというのは、ちょっと困りものです。
RCファイル(/etc/rc.d/init.d/murasaki)の中にinitialize()と
いうのがありますが、それを変更してみたらどうでしょうか?
これでRCで待たされることは、なくなります。
その代わり、murasakiのRC実行後に
murasaki_init.(pci|usb|ieee1394)による初期化が
期待しているRCスクリプトがあると、Failedになってしまいます。
# murasaki_init.usb だけ取りだして'&'を付けるのも良いです。
------------------------- 変更前 ---------------------------------
initialize(){
for dev in pci usb ieee1394
do
if [ -x ${INIT_DIR}/murasaki_init.${dev} ];then
${INIT_DIR}/murasaki_init.${dev}
fi
done
}
-----------------------------------------------------------------
&を付ける
------------------------- 変更後 ---------------------------------
initialize(){
for dev in pci usb ieee1394
do
if [ -x ${INIT_DIR}/murasaki_init.${dev} ];then
${INIT_DIR}/murasaki_init.${dev} &
fi
done
}
-----------------------------------------------------------------
一度、試してみて下さい。
----
しう