1

Linuxで変更されたusbスケルトンドライバーを使用し、USBデバイスが既に接続されているモジュールをinsmodした場合、プローブ関数は呼び出されません。ドライバーをアクティブにするには、デバイスのプラグを抜いてから再度差し込む必要があります。これは、たとえばシリアルドライバには当てはまりません。いくつかのテストを行いました。これには理由がありますか?プローブ関数を呼び出すにはどうすればよいですか?

4

3 に答える 3

4

ほとんどすべてのUSBHIDデバイスは、usbhidドライバーによって自動的に管理されます。次のことを試してください。

sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
于 2010-11-17T13:05:22.487 に答える
3

おそらく、デバイスをusbhidからバインド解除し、ドライバーにバインドする必要があります。

  • で泥棒ドライバーを見つけてみてください:/sys/bus/usb/drivers/usbhid/
  • バインドを解除します:echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
  • デバイスをバインドします:
    • echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id または、すでにバスIDをお持ちの場合:
    • echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind

http://www.ha19.no/usb/を参照http://lwn.net/Articles/143397/を 参照

于 2013-05-05T07:11:33.933 に答える
1

一部のソフトウェアが/proc/ bus / usbからデバイスを開いていて、デバイスがusbfsドライバーによって要求されたため、新しいドライバーはデバイスを要求できませんでした。

于 2010-03-29T13:28:25.833 に答える