vine-users ML アーカイブ



[vine-users:054814] USBデバイス・ドライバの登録

  • From: "Tazaki Tetsuya" <tazaki@xxxxxxxxxxxx>
  • Subject: [vine-users:054814] USBデバイス・ドライバの登録
  • Date: Tue, 29 Oct 2002 15:33:08 +0900
先ほど、件名付けずに送付してしまいしたので、すみませんが、もう一度送付しま
す。

はじめてメールします。田崎と申します。

作成した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)となっていますが。

よろしくお願いします。