山口です。 # 途中からなのでハズしてるかも 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 } ----------------------------------------------------------------- 一度、試してみて下さい。 ---- しう