تصحيح أخطاء واصف سلسلة USB و LANGID
كيفية تصحيح أخطاء واصفات سلسلة USB، وحالات فشل طلب LANGID، وأخطاء واصف الرقم التسلسلي، وأسماء الشركة المصنعة/المنتج، والأرقام التسلسلية المكررة، ومشكلات ربط برنامج التشغيل.
تبدو واصفات سلسلة USB غير ضارة، لكن السلاسل السيئة يمكن أن تكسر ربط برنامج التشغيل، وهوية الجهاز، واستمرارية المنفذ التسلسلي، وأتمتة المختبر، وأدوات تحديث البرامج الثابتة، وسير عمل الدعم. يبحث المستخدمون عن "فشل واصف سلسلة USB"، و"واصف LANGID"، و"واصف الرقم التسلسلي USB مفقود"، و"رقم تسلسلي USB مكرر"، و"سلسلة منتج USB خاطئة"، و"Windows يُظهر اسم جهاز USB غير معروف" عندما يعد الجهاز لكن الهوية غير مستقرة.
يكون Bus Scope مفيدًا لأن حالات فشل واصف السلسلة تحدث أثناء التعداد كعمليات نقل تحكم. يطلب المضيف معرّفات اللغات المدعومة، ثم يطلب سلاسل الشركة المصنعة والمنتج والرقم التسلسلي. إذا أعادت أي خطوة بيانات مشوهة، فقد يستمر نظام التشغيل لكنه يخزن هوية سيئة.
واصف LANGID
قبل طلب سلاسل محددة، قد يطلب المضيف واصف السلسلة صفر. يُرجع هذا معرّفات اللغات المدعومة.
أدلة نموذجية:
GET_DESCRIPTOR String index 0
LANGID list returned
GET_DESCRIPTOR String index 1
GET_DESCRIPTOR String index 2
GET_DESCRIPTOR String index 3
إذا فشل واصف السلسلة صفر، قد تتصرف طلبات السلسلة اللاحقة بشكل غير متسق عبر المضيفين.
سلاسل الشركة المصنعة والمنتج والرقم التسلسلي
فهارس السلسلة الشائعة:
iManufactureriProductiSerialNumber
يُشار إلى هذه الحقول من واصف الجهاز. إذا أعلن الجهاز عن فهرس سلسلة غير صفري لكنه فشل في إرجاع السلسلة، يمكن أن يختلف سلوك المضيف.
الأعراض:
- يظهر الجهاز كـ "جهاز غير معروف".
- اسم المنتج مشوه.
- الرقم التسلسلي فارغ.
- ينشئ Windows منفذ COM جديدًا بعد كل توصيل.
- لا تتطابق قواعد udev في Linux بشكل موثوق.
- لا تستطيع أداة تحديث البرامج الثابتة تحديد الهدف.
- تنهار وحدات متعددة في هوية واحدة.
أرقام تسلسلية مكررة
الأرقام التسلسلية المكررة لـ USB مشكلة إنتاج خطيرة. قد يُعامل جهازان فعليان بنفس VID وPID والرقم التسلسلي كمثيل الجهاز نفسه.
العواقب:
- تحميل بيانات معايرة خاطئة.
- كتابة محطة اختبار السجلات إلى الوحدة الخاطئة.
- يتغير تخصيص منفذ COM بشكل غير متوقع.
- الترخيص أو التوفير يربط بأجهزة خاطئة.
- دعم الميدان لا يمكنه التمييز بين الأجهزة.
يمكن أن يثبت التقاط ما إذا كانت بايتات واصف الرقم التسلسلي مكررة فعلاً أو ما إذا كانت طبقة عرض نظام التشغيل تخفي مشكلة أعمق.
رقم تسلسلي مفقود
بعض الأجهزة تتعمد حذف رقم تسلسلي. قد يكون ذلك مقبولاً للأجهزة الطرفية البسيطة، لكنه يسبب مشكلات عندما تكون الهوية المستقرة مهمة.
مصطلحات البحث الشائعة:
- "جهاز USB منفذ COM جديد في كل مرة"
- "الرقم التسلسلي USB مفقود"
- "مسار حالة جهاز USB Windows يتغير"
- "مطابقة udev Linux الرقم التسلسلي USB"
إذا كان الرقم التسلسلي مفقودًا، قد يحدد نظام التشغيل الجهاز حسب طوبولوجيا المنفذ بدلاً من هوية الأجهزة.
سلاسل UTF-16LE مشوهة
سلاسل USB مُرمزة كسلاسل Unicode. تشمل أخطاء البرامج الثابتة:
- طول واصف خاطئ.
- عدد بايتات فردي.
- نوع واصف مفقود.
- بايتات UTF-16LE غير صالحة.
- عدم تطابق توقع إنهاء فارغ.
- إرجاع بايتات ASCII بدلاً من تنسيق سلسلة USB.
- اقتطاع الأرقام التسلسلية الطويلة.
يتسامح بعض المضيفين مع هذا. يرفض آخرون الواصف أو يُظهرون نصًا فاسدًا.
توقيت طلب السلسلة وإعادة المحاولة
قد يطلب المضيف نفس السلسلة عدة مرات بأطوال مختلفة. يجب على الجهاز التعامل مع كل من طلبات الفحص القصيرة وطلبات الطول الكامل.
أنماط الفشل:
- يُرجع الجهاز أول 2 بايت صحيحة لكن يفشل الطلب الكامل.
- تفترض البرامج الثابتة أن
wLengthيساوي دائمًا طول الواصف. - توقف نقطة نهاية التحكم على طلب السلسلة المتكرر.
- يُرجع الجهاز رقم تسلسلي مختلفًا بعد إعادة التعيين.
- bootloader وبرامج ثابتة التطبيق تُبلغ عن هويات مختلفة.
هذا شائع في سير عمل تحديث البرامج الثابتة.
تأثير ربط برنامج التشغيل
يعتمد اختيار برنامج التشغيل عادة على VID/PID/الفئة، لكن واصفات السلسلة تؤثر على الهوية المرئية للمستخدم وأحيانًا أدوات البائع. غالبًا ما تعتمد الأجهزة المركبة، وأجهزة CDC التسلسلية، وأدوات HID، وbootloaders DFU على السلاسل للدعم والأتمتة.
إذا كانت تذكرة الدعم تقول "اسم جهاز USB خاطئ"، فلا تتجاهلها كتجميلي. قد تشير إلى فساد الواصف أو ارتباك حالة البرامج الثابتة.
قائمة مراجعة التصحيح
استخدم هذه العملية:
- التقط التعداد من التوصيل.
- افحص فهارس سلسلة واصف الجهاز.
- تحقق من واصف السلسلة صفر لـ LANGID.
- فك تشفير سلسلة الشركة المصنعة.
- فك تشفير سلسلة المنتج.
- فك تشفير سلسلة الرقم التسلسلي.
- قارن وحدتين فعليتين.
- قارن bootloader وبرامج ثابتة التطبيق.
- تحقق من السلوك بعد إعادة التعيين وإعادة التوصيل.
- حافظ على بايتات الواصف الخام لإصلاحات البرامج الثابتة.
التشخيص النهائي
تؤثر مشكلات واصف سلسلة USB و LANGID على هوية الجهاز، واستمرارية التسلسل، واختبارات التصنيع، ودعم الميدان، وسير عمل برنامج التشغيل. الدليل الرئيسي ليس تسمية نظام التشغيل ولكن عمليات نقل تحكم الواصف الفعلية.
يساعد Bus Scope في إظهار LANGID والشركة المصنعة والمنتج والرقم التسلسلي والسلاسل المشوهة والأرقام التسلسلية المكررة وإعادة محاولة التعداد في عرض تشخيصي واحد.