لم يتم استدعاء مسبار برنامج تشغيل Linux USB إذا تم توصيل الجهاز بالفعل

StackOverflow https://stackoverflow.com/questions/2538079

  •  22-09-2019
  •  | 
  •  

سؤال

إذا استخدمت برنامج تشغيل هيكل عظمي 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/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top