تصحيح أخطاء تقرير ميزة USB HID: GET_REPORT وSET_REPORT وأوامر البائع وإعدادات الجهاز المفقودة

كيفية استكشاف أخطاء فشل تقرير ميزة HID، وGET_REPORT، وSET_REPORT، ومعرّفات التقارير، وعمليات نقل التحكم، وإعدادات البائع، وتكوين الجهاز، وأخطاء البرامج الثابتة لـ USB HID.

تقرير ميزة HID, get_report, set_report, USB hid, معرّف التقرير, نقل التحكم, تشخيص USB

أجهزة HID ليست فقط لوحات المفاتيح والفئران. تشمل مفاتيح الأمان وأجهزة الاستشعار ولوحات التحكم وأدوات البائع والأجهزة الصناعية وأجهزة التحكم في الألعاب وأجهزة UPS وواجهات التكوين المخصصة. يستخدم العديد من هذه الأجهزة تقارير ميزة HID للتكوين والحالة. عندما تفشل تقارير الميزات، يبحث المستخدمون عن "تقرير ميزة HID لا يعمل"، و"فشل GET_REPORT"، و"فشل SET_REPORT"، و"عدم تطابق معرّف تقرير HID"، و"مهلة أمر بائع USB HID" لأن الإدخال العادي قد يعمل بينما لا يعمل التكوين.

يكون Bus Scope مفيدًا لأن تقارير الميزات غالبًا تنتقل عبر نقطة النهاية الصفرية كعمليات نقل تحكم. حزمة الإعداد الفعلية ونوع التقرير ومعرّف التقرير والطول وحالة الاستجابة مهمة.

ما هي تقارير الميزات

لـ HID عدة أنواع تقارير:

  • تقارير الإدخال
  • تقارير الإخراج
  • تقارير الميزات

غالبًا ما تصل تقارير الإدخال على نقاط نهاية IN للمقاطعة. تُطلب تقارير الميزات بشكل شائع مع عمليات نقل التحكم باستخدام GET_REPORT أو SET_REPORT.

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

عدم تطابق معرّف التقرير والطول

تستخدم العديد من أجهزة HID معرّفات التقارير. إذا تضمن المضيف معرّف التقرير 3 وتوقعت البرامج الثابتة معرّف التقرير 0، فقد يفشل الطلب أو يُرجع بيانات خاطئة.

أخطاء شائعة:

  • تحذف البرامج الثابتة بايت معرّف التقرير.
  • يرسل المضيف طول تقرير خاطئ.
  • يعلن الواصف طولًا واحدًا، وتُرجع البرامج الثابتة آخر.
  • تقرير الميزة موجود في البرامج الثابتة لكن ليس في الواصف.
  • يعلن الواصف تقريرًا لا تنفذه البرامج الثابتة أبدًا.

يجب مقارنة واصف تقرير HID ونقل التحكم.

أدلة GET_REPORT وSET_REPORT

ابحث عن:

  • نوع طلب حزمة الإعداد.
  • HID GET_REPORT أو SET_REPORT.
  • نوع التقرير ميزة.
  • معرّف التقرير.
  • wLength.
  • بايتات مرحلة البيانات.
  • توقف أو مهلة.

إذا أوقف الجهاز تقرير ميزة يعلنه واصفه، فإن اتساق البرامج الثابتة أو الواصف مشبوه.

تكوين البائع من خلال HID

يستخدم العديد من المنتجات HID لأنه يتجنب برامج تشغيل kernel المخصصة. قد تُنفذ إعدادات البائع كتقارير ميزات.

أمثلة:

  • تغيير معدل العينة.
  • قراءة إصدار البرامج الثابتة.
  • ضبط وضع LED.
  • تكوين نطاق المستشعر.
  • تمكين bootloader.
  • قراءة بيانات المعايرة.

إذا فشلت هذه الأوامر، فقد لا يزال الجهاز يظهر كجهاز HID صالح.

قائمة مراجعة التصحيح

استخدم هذه العملية:

  1. التقط التعداد وواصف HID.
  2. احفظ واصف تقرير HID.
  3. حدد تعريفات تقرير الميزة.
  4. التقط GET_REPORT أو SET_REPORT الفاشل.
  5. تحقق من معرّف التقرير.
  6. تحقق من الطول المطلوب.
  7. قارن طول الواصف بطول النقل.
  8. ابحث عن توقف أو مهلة أو استجابة قصيرة.
  9. قارن تقارير الإدخال العاملة بتقارير الميزات الفاشلة.
  10. حافظ على الواصف ونقل التحكم معًا.

التشخيص النهائي

حالات فشل تقرير ميزة HID عادة ما تكون مشكلات في الواصف أو معرّف التقرير أو الطول أو حالة البرامج الثابتة أو معالجة نقل التحكم. يمكن أن يعمل الإدخال بينما يفشل التكوين.

يساعد Bus Scope في كشف عقد تقرير HID ونقل التحكم الدقيق الذي فشل، مما يجعل أخطاء تقرير الميزة قابلة للتشخيص بدلاً من أخطاء أداة البائع الغامضة.