
Ubuntu日本語フォーラム
ログインしていません。
Linuxのソースツリーのdrivers/usb/usb-skeleton.cのVIDとPIDを変えてコンパイルすれば、
デバイスドライバとして使えるという雑誌記事をみて、試しています。
VID、PID、デバイスファイル名を変えてコンパイルして、usb-skeleton01.koとし、これをinsmodしました。
この状態でdmesgにて以下のメッセージが出ています。
usbcore: registered new interface driver skeleton01
この後、VID、PIDが一致するようなUSBデバイスを接続します。
(EZUSB FX2のPIDをデフォルトの8613から変更しています)
この状態でdmesgを見ると、
skel_probe() の中に追記したprintkによるメッセージが出力されていました。
ですが、これらのprintkメッセージは
usb_register_dev関数の呼び出し直前のものまでしか出力されていません。
続いて少し後に以下のメッセージが出ていますが、エラーの原因がわかりません。
[ 2372.197472] Call Trace:
[ 2372.197501] [<ffffffff8154c15d>] ? usb_devnode+0x2d/0x40
[ 2372.197551] [<ffffffff814939ae>] device_get_devnode+0x6e/0xf0
[ 2372.197603] [<ffffffff8149b2c6>] devtmpfs_create_node+0x56/0x130
[ 2372.197656] [<ffffffff81235e0a>] ? sysfs_do_create_link_sd.isra.2+0xca/0x210
[ 2372.197717] [<ffffffff8149328e>] device_add+0x27e/0x640
[ 2372.197764] [<ffffffff81493860>] device_create_groups_vargs+0xe0/0x110
[ 2372.197820] [<ffffffff814938f1>] device_create+0x41/0x50
[ 2372.197867] [<ffffffff8154c2af>] usb_register_dev+0x13f/0x2e0
[ 2372.197918] [<ffffffffa0585786>] ? skel_probe+0x176/0x2a0 [usbtest01]
[ 2372.197974] [<ffffffffa058584e>] skel_probe+0x23e/0x2a0 [usbtest01]
usb-skeleton.cのVIDとPIDを変えるだけでドライバとして使えると思っているのですが、
何か抜けている手順があるのでしょうか?
また、調査の方法としてusb_register_dev関数を、今回変更したusb-skeleton01.cのローカル関数としてコピーし、
printkを追加していくことを検討していますが、ベターな方法があればご教示お願いします。
PC : TOSHIBA dynabook Satellite B753/52JW/Portable PC
ubuntu : 14.04 LTS 64ビット
uname -r : 3.13.0-40-generic
USBデバイス: EZUSB FX2 (VID:0x04b4、PID:0x8613でないオリジナルの番号)
よろしくお願いします
オフライン