0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
الإعدادات
وصّل جهاز USB وشاهد كل ما يعلنه: معرّف البائع ومعرّف المنتج، والشركة المصنّعة، والمنتج، والرقم التسلسلي، والشجرة الكاملة للتهيئات والواجهات ونقاط النهاية مع فئاتها وأنواع النقل فيها. الأداة تقرأ الواصفات فقط؛ لا تفتح الجهاز أبدًا ولا ترسل إليه بيانات.
الأجهزة المعروضة

كيف يعمل

تعرض ما يعلنه جهاز USB عن نفسه بمجرّد توصيله. يحمل واصف الجهاز معرّف البائع الذي خصّصه USB-IF، ومعرّف المنتج الذي اختارته الشركة المصنّعة، وإصدار مواصفة USB التي يقول إنه يلتزم بها، وإصدار المنتج نفسه، وإن كان الجهاز يوفّرها، نصوص الشركة المصنّعة والمنتج والرقم التسلسلي.

وتظهر تحتها الشجرة الكاملة: كل تهيئة بواجهاتها، وكل واجهة بثلاثيّتها من الفئة والفئة الفرعية والبروتوكول مترجمة إلى الاسم الرسمي لدى USB-IF، وكل نقطة نهاية بعنوانها واتجاهها ونوع النقل فيها وأقصى حجم للحزمة. أما الواجهات التي لها أكثر من إعداد بديل —وهو أمر شائع في الكاميرات وبطاقات الصوت— فتُدرَج على حدة.

تقرأ الأداة الواصفات فقط: لا تفتح جلسة مع الجهاز أبدًا، ولا تحجز واجهة، ولا ترسل إليه بايتًا واحدًا، لذا فهي لا تعترض عمل المشغّل الذي يستخدمه. ويمكن تصدير الشجرة كاملة بصيغة JSON لإرفاقها بتقرير أو لمقارنتها بشجرة حاسوب آخر.

أمثلة

046D:C52B0x00 / 0x00 / 0x00 → 3 × HID (0x03)مستقبِل لاسلكي للوحة مفاتيح وفأرة يعلن الفئة 0x00 على مستوى الجهاز، لذا يتحدّد النوع الحقيقي في كل واجهة على حدة: هنا ثلاث واجهات HID لكل منها نقطة نهاية إدخال بالمقاطعة.
0x08 / 0x06 / 0x50Mass Storage · SCSI transparent command set · Bulk-Only Transportالثلاثية المعتادة لذاكرة محمولة أو قرص خارجي: نقطتا نهاية كتليّتان، واحدة للإدخال وأخرى للإخراج، تسير عليهما أوامر SCSI.
0x02 / 0x02 / 0x01Communications and CDC Control · Abstract Control Model · AT Commands (ITU-T V.250)هذا هو المنفذ التسلسلي الافتراضي للوحة تطوير أو لمودم: واجهة تحكّم بنقطة نهاية واحدة بالمقاطعة، وواجهة CDC-Data بنقطتَي النهاية الكتليّتين اللتين تنقلان البيانات.

حالات الاستخدام

  • معرفة معرّف البائع ومعرّف المنتج بدقّة للبحث عن مشغّل الجهاز أو لكتابة قاعدة udev على Linux.
  • الاطّلاع على الرقم التسلسلي لذاكرة محمولة أو قارئ أو محوّل حين لا يعرضه نظام التشغيل مباشرة.
  • التأكّد أثناء تطوير البرنامج الثابت من أن الجهاز ينشر الواجهات والبدائل ونقاط النهاية المتوقّعة بالفئات الصحيحة.
  • اكتشاف نقطة النهاية ونوع النقل اللذين يجب استخدامهما لمخاطبة جهاز قبل البدء بالبرمجة له.
  • التفريق بين جهازين متطابقين ظاهريًا بمقارنة إصدارهما وواجهاتهما وأحجام الحزم فيهما.
  • توثيق تهيئة USB لحاسوب ما بتصدير الشجرة الكاملة بصيغة JSON.

الأسئلة الشائعة

لماذا لا تعمل على iPhone ولا في Firefox؟

واجهة WebUSB منفَّذة في المتصفحات المبنية على Chromium —Chrome وEdge وOpera— لأنظمة Windows وmacOS وLinux وChromeOS وAndroid. أما Firefox وSafari فلا ينفّذانها، وعلى iOS تستخدم كل المتصفحات محرّك النظام، لذا فهي غير متاحة هناك أيضًا. ويلزم كذلك اتصال HTTPS وألّا تكون الصفحة مضمَّنة داخل موقع آخر.

الجهاز موصول لكنه لا يظهر في نافذة الاختيار.

قد يكون المرشّح المختار ضيّقًا أكثر من اللازم: جرّب الخيار الذي يعرض كل الأجهزة. وإن لم يظهر رغم ذلك، فالأرجح أنه ضمن قائمة الحظر في المتصفح، وهي تستبعد لأسباب أمنية منتجات معيّنة —من بينها مفاتيح الأمان FIDO— حتى لا تتمكّن أي صفحة ويب من الوصول إليها. وعلى Linux قد ينقص أيضًا إذن النظام على عقدة الجهاز.

لماذا يذكر الجهاز الفئة 0x00؟

الفئة 0x00 في واصف الجهاز تعني «انظر إلى الواجهات». تستخدمها تقريبًا كل الأجهزة المركّبة التي تجمع وظائف مختلفة في كبل واحد: لوحة مفاتيح بموزّع مدمج، أو كاميرا توفّر ميكروفونًا أيضًا، أو طابعة متعدّدة الوظائف. في هذه الحالات يكون النوع الحقيقي لكل وظيفة في فئة كل واجهة، لا في فئة الجهاز.

ما نقطة النهاية وماذا يعني عنوان مثل 0x81؟

نقطة النهاية هي كل صندوق من صناديق البريد التي تدخل منها البيانات إلى الواجهة أو تخرج. البتات السبع الدنيا من العنوان هي رقم نقطة النهاية، والبت الأعلى يدلّ على الاتجاه، فالعنوان 0x81 هو نقطة النهاية 1 للإدخال —من الجهاز إلى الحاسوب— بينما 0x01 سيكون نقطة النهاية 1 للإخراج. أما نوع النقل فيحدّد المعاملة: كتلي للكميات الكبيرة بلا مهلة، وبالمقاطعة للأحداث الصغيرة والمتكرّرة كضغطة مفتاح، ومتزامن للصوت والفيديو اللذين يفضّلان فقدان حزمة على الوصول متأخّرَين.

هل يمكن للأداة أن تعدّل شيئًا في الجهاز أو تعطّله؟

لا. هي تقرأ فقط الواصفات التي حصل عليها المتصفح أصلًا عند تعداد الجهاز؛ ولا تفتح جلسة، ولا تحجز واجهة، ولا تكتب شيئًا. لذلك يمكنك فحص لوحة مفاتيح أو ذاكرة محمولة يستخدمها نظام التشغيل في تلك اللحظة، مع أن صفحة الويب غير مسموح لها بالتواصل معهما.

لماذا تظهر خانتا الشركة المصنّعة أو المنتج فارغتين؟

هذه النصوص واصفات اختيارية: كثير من الأجهزة الرخيصة لا تكتبها أصلًا، وبعض أنظمة التشغيل لا تسلّمها إلى المتصفح. في هذه الحالات تبحث الأداة عن معرّف البائع ومعرّف المنتج في فهرس usb.ids التابع لمشروع Linux USB، وهو يسجّل الاسم الرسمي للشركة المصنّعة، وغالبًا اسم المنتج كذلك.

هل تخرج بيانات الجهاز من حاسوبي؟

تُقرأ الواصفات داخل متصفحك ولا تُرسل إلى أي خادم. الاستثناء الوحيد هو البحث في فهرس usb.ids، الذي يستعلم عن معرّف البائع ومعرّف المنتج —وهما رقمان يحدّدان الطراز، لا حاسوبك ولا نسختك من الجهاز— ويمكنك تعطيله قبل اختيار الجهاز. أما الرقم التسلسلي فلا يُرسل أبدًا.

ما الإعدادات البديلة للواجهة؟

يمكن للواجهة الواحدة أن تعلن عدّة مجموعات من نقاط النهاية وتُبقي واحدة منها نشطة فقط. تستخدم الكاميرات وبطاقات الصوت ذلك لتقديم تركيبات مختلفة من الدقّة أو الجودة: كل بديل يحجز عرض نطاق مختلفًا على الناقل، ويختار نظام التشغيل المناسب عند بدء البثّ. ويبقى البديل 0 نشطًا ما دام الجهاز خاملًا.