Edgecore AS9716-32D: sfputil يفك تشفير وحدة QSFP-DD بسرعة 400G على أنها QSFP28 تحت PDDF
نقوم بتشغيل زوج من AS9716-32D كعمود فقري (spine) بسرعة 400G في المختبر، على صورة SONiC مجتمعية مع طبقة منصة PDDF. الأجهزة الضوئية ليست المشكلة، الطرف المقابل يرتبط بشكل جيد، لكن كل ما يقوله السويتش عنها خاطئ.
- Edgecore AS9716-32D (x86_64-accton_as9716_32d-r0)
- بناء SONiC مجتمعي مع PDDF لهذه المنصة
- وحدة QSFP-DD بسرعة 400G (قطعة NeoPhotonics) في الجاعة الأولى
القراءة نفسها تنجح، الوحدة مدرجة، والجاعة تُبلَّغ كـ QSFP28:
admin@sonic:~$ sfputil show eeprom
Ethernet0: SFP EEPROM detected
Identifier: QSFP28 or later
Vendor Name: NeoPhotonics
سطر المعرّف هذا هو حيث ينهار كل شيء. هذه قطعة QSFP-DD، لذا يجري فك تشفير البايتات أدناه مقابل مجموعة حقول SFF-8636 بدلاً من مجموعة CMIS، والحقول التالية تُقرأ كضوضاء.
ما تم التحقق منه حتى الآن:
- الوحدة نفسها سليمة، نفس القطعة تُقرأ بشكل صحيح على منصة أخرى والطرف البعيد يرى الضوء؛
- إعادة تركيبها ونقلها إلى جاعة أخرى لا يغيّر شيئاً، كل منافذ الـ400G تتصرف بشكل متطابق؛
- في وصف جهاز PDDF، هذه الجاعات معلنة كـ QSFP28 ومرتبطة بـ optoe1.
هل هذه النقطة الأخيرة هي الإجابة الكاملة، هل جاعات QSFP-DD تحتاج ببساطة جهاز optoe مختلف، وهل تعديل وصف المنصة هو الطريقة المقبولة لإصلاح ذلك، أم أن هناك شيئاً فوقه يحتاج أيضاً لتعلّم نوع الجاعة؟
Comments 4
عرضك يطابق الربط تماماً، فلا داعي للبحث أكثر في الأجهزة الضوئية.
وصف جهاز PDDF لـ AS9716-32D يعلن جاعات الـ400G كـ QSFP28 ويربطها بـ optoe1. optoe1 يعرض تخطيط EEPROM من نوع SFF-8636 الذي تستخدمه QSFP+ وQSFP28، لذا تُقرأ وحدة CMIS عبر الخريطة الخاطئة وكل ما بعد المعرّف يبدو ضوضاء. نوع المنفذ الذي تراه لم يُكتشف على الإطلاق، إنه ببساطة ما يقوله الوصف.
QSFP-DD تتبع CMIS، وCMIS تُخدَم عبر optoe3. الإصلاح هو تبديل كلا الحقلين في وصف جهاز PDDF لتلك الجاعات: النوع من QSFP28 إلى QSFP-DD، والدرايفر من optoe1 إلى optoe3. تحققت من ذلك على نفس الجهاز بقطعة NeoPhotonics بسرعة 400G، وبعد التغيير
sfputil show eepromيُعيد الوحدة مفكوكة التشفير بشكل صحيح.تحذيران. هذه بيانات منصة، لذا فإن ترقية الصورة ستعيد الوصف القديم بكل سرور ما لم يكن التغيير في الصورة التي تبنيها أنت. ومن جهة المصدر (upstream) تمت الموافقة على هذا التغيير بالضبط لكن طلب السحب (pull request) أُغلق دون دمج، حيث طُوي العمل ضمن تغيير لاحق، لذا لا تفترض أن صورتك تحمله بالفعل. اقرأ وصف الجهاز لمنصتك أولاً وستعرف خلال دقيقة إن كنت تطارد شيئاً على الإطلاق.
قبل أن تلمس أي ملف منصة، انشر الدامب الخام:
sudo sfputil show eeprom -dعلى ذلك المنفذ. إذا كانت كل البايتات موجودة وفقط التفسير خاطئ، فهذه مشكلة ربط وليست مشكلة وحدة، وهذا التمييز يستحق عشر دقائق قبل أن يبدأ أحد بالحديث عن استبدال (RMA).النصف الآخر أجبت عنه بنفسك بالفعل. optoe1 هو نوع SFF-8636 المستخدم لـ QSFP+ وQSFP28، لذا وحدة CMIS تُقرأ عبره تخرج مشوهة بدءاً من المعرّف فصاعداً، وهذا بالضبط الناتج الذي نشرته. بمجرد أن يسمّي الوصف optoe1 لجاعة QSFP-DD، لا يبقى شيء للشك فيه من جهة الوحدة.
لذا انشر أيضاً الأسطر ذات الصلة من وصف جهاز PDDF لإحدى تلك الجاعات. هذا يخبرنا إن كان حقل الدرايفر فقط خاطئاً أم نوع الجاعة المعلن أيضاً.
هذا كان السبب. نوع الجاعة إلى QSFP-DD، الدرايفر إلى optoe3، إعادة تحميل، والوحدة تُفك تشفيرها بشكل صحيح الآن، مع
sfputil show eepromلم يعد يسمّي الجاعة QSFP28. وضعت التغيير في الصورة التي نبنيها بدلاً من تصحيح السويتش قيد التشغيل، تحديداً بسبب نقطة الترقية أعلاه.ملاحظة صادقة لمن يجد هذا لاحقاً: هذا يصلح كيفية قراءة الـEEPROM، لا أكثر. بقية أسلاك الترانسيفر على هذه المنصة لا تزال بها عللها الخاصة ولن أقول إن الجهاز مضبوط بالكامل.
بما أنك تذكر العلل المتبقية، إليك واحدة تنتظرك على نفس المنصة. على AS9716-32D لدينا (x86_64-accton_as9716_32d-r0) يعمل ببناء SONiC رئيسي (master)،
sudo sfputil show presenceيسرد المنافذ المركّبة كـ Present ويقرأ EEPROM الخاص بها بشكل جيد، بينماshow interfaces transceiver presenceيبلّغ كل منفذ كـ Not present. سجل النظام يكرر:وقراءة الـEEPROM عبر واجهة الأوامر تفشل بـ RuntimeError('PddfEeprom is not Programmed'). يظهر عشوائياً بعد إعادة التشغيل ولم يُنشر أي سبب جذري على الإطلاق، لذا يبقى sfputil هو فحص الوجود الوحيد الذي أثق به هناك.
غير متعلق لكن في نفس المنطقة: الأمران معروفان أيضاً باختلافهما في أسماء المفاتيح في فرع 202012، وهو ما تم تنظيفه في 202205. إذا اختلفت مخرجاتك في الصياغة وليس في المحتوى، فهذا على الأرجح كل ما في الأمر.