سؤال

عندي قطعة usb الأجهزة التي أعرف السائق.ومع ذلك ، فإن "معرف المورد" و "معرف المنتج" لا تتطابق فيد ، PID زوج المسجلين في برنامج التشغيل.هل هناك طريقة في لينكس لإجبار السائق أن تترافق مع المعروف الجهاز التي لا تنطوي على نواة وحدة recompilation إضافة PID / VID الزوج ؟

هل كانت مفيدة؟

المحلول

والبحث عن وحدة في شجرة sysfs. في هذه الحالة كان في

<اقتباس فقرة>   

و/sys/bus/usb-serial/drivers/cp2101

في هذا الدليل، هناك إدخال ملف new_id التي يمكن استخدامها لإضافة VID الزوج PID حيوي مثل هذا:

<اقتباس فقرة>   

وecho VID PID >new_id

وهنا هو LWN دخول حول هذه الميزة

نصائح أخرى

وأنت لا تحتاج في الواقع إعادة ترجمة نواة بأكملها، واعادة تجميع نواة وحدة ذات الصلة فقط مع طاولة مباراة المحدثة ستكون كافية، في حالة أن <لأ href = "https://stackoverflow.com/questions/442833/forcing-driver -to جهاز مباراة # 442867 "> هذا الجواب، لا يعمل على النواة.

في حال كنت تريد أن تجعل هذا التغيير الدائم و تعيين برنامج تشغيل الجهاز (فيد ، PID) قد تجد هذا إجابة مفيدة.

على سبيل المثال إنشاء ملف جديد/etc/udev/rules.d/98-joystick.rules مع المحتوى:

ACTION=="إضافة" ، ATTRS{idVendor}=="1345", ATTRS{idProduct}=="6005" تشغيل+="/sbin/modprobe xpad" تشغيل+="/bin/sh-c 'صدى 1345 6005 > /sys/الحافلة/usb/السائقين/xpad/new_id'"

محل 1345 مع فيد 6005 مع PID.

محل xpad مع التشغيل المناسب.

تشغيل الأوامر التالية:

$ سودو udevadm التحكم-تحميل

فصل و توصيل الجهاز مرة أخرى و تحقق مما إذا كان برنامج تشغيل جديد يتم تحميلها.

المثال المعروض هنا هو إصلاح مشكلات برامج التشغيل مع Speedlink Strike FX Gamepad (SL-6537-BK)

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