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