ربط برنامج تشغيل خاطئ للجهاز المركب USB: تصحيح أخطاء الواجهات وIAD وCode 10 وCode 43 وWindows usbccgp
إصلاح أخطاء ربط برنامج تشغيل واصف ربط الواجهة (IAD) للجهاز المركب USB. يغطي Windows usbccgp.sys وCode 10 وCode 43 وواصفات الواجهة وحالات فشل التعداد الجزئي للجهاز.
تكشف الأجهزة المركبة USB عن وظائف متعددة من خلال جهاز USB مادي واحد. قد يوفر جهاز واحد عناصر تحكم HID وCDC التسلسلية وتخزين الكتلة والتشخيصات الخاصة بالبائع والصوت والفيديو وواجهات تحديث البرامج الثابتة. عندما يذهب ربط برنامج التشغيل بشكل خاطئ، يرى المستخدمون "خطأ برنامج تشغيل الجهاز المركب USB"، أو "لا يمكن بدء هذا الجهاز Code 10"، أو "Code 43"، أو "الواجهة لا تعمل"، أو "منفذ COM مفقود"، أو "وظيفة واحدة تعمل لكن أخرى لا تعمل".
تتطلب عمليات البحث مثل "برنامج تشغيل خاطئ للجهاز المركب USB"، و"Windows usbccgp Code 10"، و"برنامج تشغيل واجهة USB غير مربوط"، و"تصحيح أخطاء واصف IAD" عادةً أدلة على مستوى الناقل. حالة برنامج تشغيل Windows وحدها لا تظهر ما إذا كانت الواصفات تصف الوظائف بشكل صحيح.
يساعد Bus Scope لأن ربط المركب يعتمد على الواصفات.
كيف يتم هيكلة الأجهزة المركبة
يحتوي الجهاز المركب على واصف جهاز واحد وتهيئة واحدة أو أكثر. داخل التهيئة، يعرض واجهات متعددة. لكل واجهة قيم فئة/فئة فرعية/بروتوكول ونقاط نهاية.
وظائف المثال:
- الواجهة 0: HID
- الواجهة 1: تحكم CDC
- الواجهة 2: بيانات CDC
- الواجهة 3: تشخيصات خاصة بالبائع
تستخدم Windows برنامج التشغيل الأصلي العام لـ USB، غالبًا usbccgp.sys، لتعداد الوظائف الفرعية وربط برامج التشغيل المناسبة.
واصف ربط الواجهة
يجمع IAD واجهات متعددة في وظيفة واحدة. يستخدم CDC ACM عادةً واجهة تحكم وواجهة بيانات. بدون IAD صحيح، قد يربط نظام التشغيل بشكل غير صحيح أو يعاملها كواجهات غير ذات صلة.
أعراض IAD الخاطئ:
- منفذ COM التسلسلي لـ CDC مفقود.
- وظيفة الصوت تظهر جزئيًا.
- تعد كاميرا UVC لكن واجهة الفيديو تفشل.
- واجهة البائع تسرق برنامج التشغيل الخاطئ.
- وظيفة فرعية واحدة فقط تعمل.
تحقق بعناية من أرقام الواجهة ونطاقات IAD.
رموز الفئة واختيار برنامج التشغيل
يعتمد ربط برنامج التشغيل على رموز الفئة/الفئة الفرعية/البروتوكول على مستوى الجهاز أو الواجهة. تعني فئة على مستوى الجهاز بقيمة 0x00 أن الفئة محددة لكل واجهة. تُستخدم فئة على مستوى الجهاز بقيمة 0xEF غالبًا للأجهزة المركبة المتنوعة مع IAD.
إذا أعلنت البرامج الثابتة عن رمز فئة خاطئ، فقد يختار Windows برنامج التشغيل الخاطئ.
للأجهزة المخصصة، كن متعمدًا:
- يجب أن تصف واجهات HID HID بشكل صحيح.
- يجب أن تطابق واجهات CDC توقعات CDC.
- يجب أن تستخدم الواجهات الخاصة بالبائع فئة البائع.
- قد تحتاج واجهات WinUSB إلى واصفات Microsoft OS.
Code 10 و Code 43
Code 10 و Code 43 هي أعراض نظام التشغيل، وليست أسبابًا جذرية. يمكن أن يكشف تتبع USB ما إذا:
- تم قراءة واصف الجهاز.
- واصف التهيئة صالح.
- واصفات الواجهة متسقة.
- واصفات نقطة النهاية تطابق توقعات الواجهة.
- الواصفات الخاصة بالفئة مشوهة.
- أصدر برنامج التشغيل طلب فئة توقف.
- تمت إعادة تعيين الجهاز أثناء الربط.
إذا نجح التعداد لكن فشل طلب فئة، فإن المشكلة أحدث من قراءة الواصف الأساسي.
فشل الجهاز الجزئي
يمكن أن تعمل الأجهزة المركبة جزئيًا. على سبيل المثال، تعمل أزرار HID لكن CDC التسلسلي لا يعمل. هذا يعني أن الجهاز ليس ببساطة "ميتًا". يعني أن مسار واجهة واحد فشل.
حافظ على:
- جميع واصفات الواجهة.
- الواصفات الخاصة بالفئة.
- أرقام الواجهة.
- طلبات فئة برنامج التشغيل.
- حركة نقطة النهاية للواجهة الفاشلة.
قائمة مراجعة التصحيح
استخدم سير العمل هذا:
- التقط من التوصيل.
- افحص الفئة/الفئة الفرعية/البروتوكول على مستوى الجهاز.
- افحص الطول الكلي للتهيئة وعدد الواجهات.
- افحص كل واصف واجهة.
- افحص واصفات IAD ونطاقات الواجهة.
- افحص الواصفات الخاصة بالفئة.
- حدد الواجهة التي تفشل في الربط.
- ابحث عن طلبات الفئة المتوقفة.
- قارن Windows وLinux وآلة Windows أخرى إذا لزم الأمر.
- حافظ على الواصفات قبل تعديل الالتقاطات.
التشخيص النهائي
تأتي حالات فشل ربط برنامج تشغيل الجهاز المركب USB عادةً من عقود الواصفات: رموز الفئة، وأرقام الواجهة، وتجميع IAD، والواصفات الخاصة بالفئة، وواصفات Microsoft OS، أو طلبات الفئة أثناء بدء تشغيل برنامج التشغيل.
يساعد Bus Scope في كشف تلك العقود بحيث يمكن تتبع "خطأ برنامج تشغيل الجهاز المركب USB" إلى الواجهة الدقيقة وأدلة الواصفات.