はじめてメールします。田崎と申します。 作成したUSBデバイス・ドライバの登録についてお聞きします。 CPU Pentium4 ディストリビューション Vine Linux 2.5(kernel 2.4.18) 計測機器とPCをUSB1.1で通信したく、PC側のドライバを作成しています。 以下の手順で作成を行いました。 1.デバイスノードの作成 #mknod /dev/usbdrv1 c 180 100 /devに usbdrv1が出来ました。 2.ドライバをコンパイルして、 usbdrv1.o出来ました。 ドライバ登録部分は、以下のとおりです。 static struct usb_driver usbdrv1_data = { name: "usbdrv1", probe: usbdrv1_probe, disconnect: usbdrv1_disconnect, fops: &usbdrv1_fileopes, minor: USBDRV1_MINOR, }; int __init usb33_init(void) { if (usb_register(&usbdrv1_data) < 0) { return -1; } return 0; } void __exit usb33_exit(void) { usb_deregister(&usb33_data); } int init_module(void) { return( usbdrv1_init()); } void cleanup_module(void) { usbdrv1_exit(); } 3. #modprobe usb-uhci /lib/modules/2.4.18-0vl3/kernel/drivers/usb/usb-uhci.o: init_module: No such device /lib/modules/2.4.18-0vl3/kernel/drivers/usb/usb-uhci.o: insmod /lib/modules/2.4.18- 0vl3/kernel/drivers/usb/usb-uhci.o failed /lib/modules/2.4.18-0vl3/kernel/drivers/usb/usb-uhci.o: insmod usb-uhci failed Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters なにか失敗しているみたいです。 #modprobe uhci これだとOKみたいです。 ※#lsmodでは、 Module Size Used by Tainted: P uhci 23600 0 (unused) なので、uhciは機能しているようです。 4.ここで登録しようとすると、エラーになってしまいました。 #insmod usbdrv1.o Warning: loading usbdrv1.o will taint the kernel: no license usbdrv1.o: init_module: Operation not permitted Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters init_moduleで、usb_register関数が失敗してしいるようですが,原因がわかり ません。 ※USBを接続して、#cat /proc/bus/usc/devices で、 相手のベンダID,プロダクトID等は認識できています。 ただし、Driver=(none)となっていますが。 よろしくお願いします。