لم يتم استدعاء مسبار برنامج تشغيل Linux USB إذا تم توصيل الجهاز بالفعل
سؤال
إذا استخدمت برنامج تشغيل هيكل عظمي USB معدّل على Linux وأصبحت الوحدة النمطية مع جهاز USB تم توصيله بالفعل ، فلن يتم استدعاء وظيفة التحقيق. أحتاج إلى فصل الجهاز وإعادة تشغيله من أجل تنشيط برنامج التشغيل. ليس هذا هو الحال بالنسبة للبرامج الدراسية المتسلسلة ، لقد أجريت بعض الاختبارات. هل هناك سبب لذلك؟ كيف أحصل على وظيفة التحقيق للحصول على استدعاء؟
المحلول 3
تم فتح بعض البرامج منا الجهاز من/proc/bus/usb وتم المطالبة بالجهاز بواسطة برنامج تشغيل USBFS ، لذلك لم يتمكن برنامج التشغيل الجديد من المطالبة بالجهاز.
نصائح أخرى
تتم إدارة جميع أجهزة USB HID تقريبًا تلقائيًا بواسطة برنامج تشغيل USBHID. حاول القيام بما يلي:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
ربما تحتاج إلى إلغاء ربط جهازك من 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
أو إذا كان لديك بالفعل معرف حافلة:echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
يرى http://www.ha19.no/usb/يرى http://lwn.net/articles/143397/
لا تنتمي إلى StackOverflow