« D01HW アウトレット復活 | Main | Androidのソースコード公開 »

2008.10.18

D01NXドライバはロードされる?

ふと、SL-C860に、SL-C3x00/1000用のD01NXドライバを入れて、カードを挿したときの挙動を見てみた。
デバッグを有効にしたカーネルを作って、SL-C860に焼き込み、syslogを起動しておいて、カーネルのログを出力させてみたところ、

usb.c: registered new driver hub
hub.c: usb_hub_thread exiting
usb.c: deregistering driver hub
ds: instance is NULL

というログが得られた。
dsのログは、自分で追加したもの。カードサービスの登録に失敗する理由を探るために入れていたもので、ドライバのインスタンスがないから登録できないよ、ということ。

しかし、ドライバは2.4.20用なのだけれど、SL-C860のカーネルはバージョンの違いなどおかまいなしにロードしようとしている様子。これは、SDカードドライバがプロプライエタリなので、それを読み込ませるための細工なのかしら。(確か、標準ではGPLドライバしかロードしなかったような)

ここで思った。hub.cがエラーを返している、ということは、usbcoreに互換性の問題があるからではなかろうか、と。となれば、usbcoreを2.4.20用のものからバックポーとしてしまえば、いいんじゃないかしら?と。

でも、先ほどのログは、usbcoreがロードされていなかったために起こったのかもしれない、と思った。
試しに、usbcore をmodprobeしておいてからカードを挿したときのログは、

usb.c: registered new driver hub
ds: instance is NULL

となっていた。少なくとも、hub.c: usb_hub_thread exiting のエラーはなくなった。
いや実際は、先にエラーが出て消えているだけかもしれないけれど。
もう少し詳しく見るには、usbcore にデバッグログを仕込むことかな?

ちなみに、カードを取り出したあと、lsmod をしてみると、usbcoreは消えていた。vmb_usbにつられて削除されたらしい。

« D01HW アウトレット復活 | Main | Androidのソースコード公開 »

パソコン・インターネット」カテゴリの記事

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/7602/42830756

Listed below are links to weblogs that reference D01NXドライバはロードされる?:

« D01HW アウトレット復活 | Main | Androidのソースコード公開 »

Recent Trackbacks

October 2014
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ