مما اضطر السائق إلى جهاز المباراة
سؤال
عندي قطعة 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)