ما يفعله المضيف: الاكتشاف والتحقق والتشغيل
تصف المواصفات جانب الوحدة — الأطراف، والذاكرة، والحالات. أما هذه الصفحة فتصف جانب المضيف: التسلسل الذي يجريه مبدّل أو موجّه أو NIC منذ لحظة إدخال الوحدة وحتى تدفق حركة البيانات، مع الأطراف والبايتات والتوقيتات التي تستخدمها كل خطوة. ومعرفة هذا التسلسل تحوّل «المنفذ يقول غير مدعوم» إلى «توقّف المضيف عند الخطوة 4»، وتوضح لماذا قد تفشل وحدة سليمة تمامًا على منصة الاختبار في منفذ حقيقي.
إشارات منخفضة السرعة بحسب عامل الشكل
| عامل الشكل | الحضور | إعادة الضبط / القدرة | المقاطعة / العطل | أخرى |
|---|---|---|---|---|
| SFP / SFP+ / SFP28 | MOD_ABS (منخفض = حاضرة) | — (يتحكم TX_DISABLE بالليزر) | TX_FAULT، وRX_LOS | RS0، وRS1 لاختيار المعدل |
| XFP | Mod_ABS | P_Down/RST | Interrupt، وMod_NR (غير جاهزة)، وRX_LOS | TX_DIS، وMod_DeSel |
| QSFP+ / QSFP28 | ModPrsL | ResetL، وLPMode | IntL | ModSelL |
| QSFP-DD | ModPrsL | ResetL، وLPMode | IntL | ModSelL |
| OSFP | PRSn | RSTn، وLPWn | INT | — (بلا طرف اختيار، ناقل واحد لكل منفذ) |
| SFP-DD | غياب الوحدة كما في SFP | طلب القدرة المنخفضة | المقاطعة | اختيار المعدل كما في SFP |
وظائف الأطراف ومخططاتها لكل فئة: عتاد SFP، عتاد QSFP، XFP.
التسلسل
| # | الخطوة | SFP (SFF-8472) | QSFP (SFF-8636) | CMIS | شكل الفشل |
|---|---|---|---|---|---|
| 1 | الاكتشاف | ينخفض MOD_ABS؛ إزالة الارتداد | ينخفض ModPrsL | ينخفض ModPrsL / PRSn | يبقى المنفذ فارغًا؛ الوحدة «غير مكتشَفة» |
| 2 | التشغيل والانتظار | جهد 3.3 V دائم التشغيل؛ انتظر t_init بمقدار 300 ms | تشغيل مع LPMode مرتفع (الفئة 1 فقط)؛ انتظر t_init بمقدار 2 s أو استطلع Data_Not_Ready | نفس الشيء؛ انتظر خروج حالة الوحدة من MgmtInit (≤ 2 s) | تعيد القراءات FFh / 00h؛ بيانات التعريف فارغة |
| 3 | التعريف | قراءة A0h من 0 إلى 95؛ البايت 0 = 03h يختار مُحلِّل SFF-8472 | قراءة 0–127 والصفحة العلوية 00h؛ البايت 0 = 0Dh/11h، والبايت 1 المراجعة | قراءة الصفحة السفلى والصفحة العلوية 00h؛ البايت 0 = 18h/19h…، والبايت 1 مراجعة CMIS | نوع وحدة غير معروف |
| 4 | التحقق | CC_BASE، وCC_EXT؛ اتساق المعرّف/الموصل/الترميز | CC_BASE، وCC_EXT | المجموع الاختباري للصفحة 00h | EEPROM غير صالحة، خطأ في المجموع الاختباري — المجاميع الاختبارية |
| 5 | فك ترميز النوع | بايتات التوافق 3–10، و36؛ وبايت المعدل 12/66؛ والأطوال؛ والطول الموجي | البايتات 131–138، و192؛ و140/222 | نوع الوسط 85، وواصفات التطبيقات | السرعة والنوع غير مدعومين — رموز التوافق |
| 6 | السياسة | اسم المورّد/PN (وربما التوقيع) مقارنةً بجدول التوافق | نفس الشيء | نفس الشيء | وحدة إرسال واستقبال غير مدعومة، errdisable — قفل المورّد |
| 7 | فئة القدرة | بتات المستوى في البايت 64 مقابل ميزانية المنفذ | فئة البايت 129؛ واكتب البايت 93 لتحرير القدرة المنخفضة / تفعيل الفئات 5–8 | فئة البايت 200 مقابل المنفذ؛ ألغِ تأكيد LPMode أو امسح LowPwrRequestSW → الوحدة PwrUp → Ready | تبقى في القدرة المنخفضة، تجاوز القدرة — القدرة والحرارة |
| 8 | الضبط | RS0/RS1 أو اختيار معدل برمجي؛ سرعة جانب المضيف، وFEC، وSGMII/1000BASE-X | تفعيل/تعطيل CDR (98)، واختيار المعدل (87–88)، ومسارات التفريع في المضيف | اختر AppSel/DataPathID في مجموعة التحكم المرحلية → ApplyDPInit → مسار البيانات Init → Initialized | LOL، وعدم توافق FEC، ورفض التفريع — السرعة والمعدل |
| 9 | تفعيل Tx | طرف TX_DISABLE منخفض أو مسح بت برمجي (A2h 110.6) | البايت 86 = 00h | الصفحة 10h البايت 130 = 00h → DPTxTurnOn → DPActivated | يرى الطرف البعيد −40 dBm — قائمة فحص انعدام الوصلة |
| 10 | الوصلة | يرى PHY/MAC الإشارة؛ AN/تدريب الوصلة على DAC | نفس الشيء لكل مسار | نفس الشيء لكل مسار بيانات | الوصلة معطَّلة رغم مستويات جيدة |
| 11 | المراقبة | استطلاع القيم المقيسة والأعلام في A2h كل بضع ثوانٍ؛ طرفا TX_FAULT / RX_LOS | IntL → قراءة الأعلام 3–21؛ استطلاع القيم المقيسة | IntL → أعلام الوحدة + أعلام المسار في الصفحة 11h؛ VDM | إنذارات، وتذبذب الوصلة — مستويات DDM، تذبذب الوصلة |
| 12 | الإزالة | يرتفع MOD_ABS → إنهاء الحالة | يرتفع ModPrsL | يرتفع ModPrsL | حالة قديمة عالقة إذا أخطأت إزالة الارتداد |
تحدث الخطوات 3–6 في القدرة المنخفضة لوحدات QSFP وCMIS: يتحقق المضيف قبل أن ينفق القدرة على البصريات. ولهذا لا تُضيء وحدة مقفلة أو سيئة الترميز ليزرها أبدًا، ولهذا يقرأ الطرف البعيد −40 dBm مع أن الوحدة سليمة كهربائيًا.
التوقيتات التي ينتظرها المضيف
| الانتظار | SFP | QSFP | CMIS |
|---|---|---|---|
| جاهزية الإدارة بعد الإدخال | 300 ms | 2 s | ≤ 2 s (MgmtInit) ثم حالة LowPwr |
| بعد تحرير القدرة المنخفضة | — | حتى يُمسَح Data_Not_Ready | حتى تصل حالة الوحدة إلى Ready (أقصى مدة معلَنة في الصفحة 01h) |
| تهيئة مسار البيانات | — | — | معلَنة لكل خطوة (ترميز نصف البايت: < 1 ms … < 50 min) |
| من تفعيل Tx إلى الإضاءة | t_on ≤ 1 ms | ton_txdis بمقدار 100 ms / toff بمقدار 400 ms | مدة DPTxTurnOn معلَنة |
| من العلم إلى المقاطعة | — | ton_IntL بمقدار 200 ms | حسب مواصفة العتاد |
توقيتات مستوى الناقل (t_WR، وتمديد الساعة): الواجهة الثنائية الأسلاك.
نقاط سياسة يختلف فيها المضيفون
- صرامة القائمة البيضاء — من «اسم المورّد فقط» إلى كتل موقَّعة خاصة بالمورّد.
- ما يحدث عند الرفض — تعطيل المنفذ، أو إطفاء الليزر، أو السماح بالوصلة مع تسجيل حدث (البصريات من جهات خارجية).
- عمق دعم CMIS — من التحكم الكامل بالتطبيق/مسار البيانات إلى «تحرير LPMode والأمل بالأفضل» (مشكلات CMIS).
- الإعدادات الافتراضية لـFEC والسرعة — مُشتقة من رموز التوافق أو مضبوطة يدويًا بشكل ثابت.
- استطلاع DDM — الفاصل الزمني، وما إذا كانت العتبات تُشغِّل إيقاف المنفذ، وما إذا كانت المعايرة الخارجية مطبَّقة (المعايرة).
أوامر CLI الخاصة بكل مورّد لمعرفة أين توقف المضيف: التحقق من البصريات على المبدّلات.
كيف يختلف المبرمج عن المضيف
يُجري مبرمج مثل CodingBox الخطوات 1–5 و11 لكن بلا سياسة: فهو يقرأ كل ما تكشفه الوحدة، بما في ذلك مناطق المورّد وبايتات كلمة المرور، ويُبقي وحدات CMIS في القدرة المنخفضة ما لم يُطلب غير ذلك، ولا يُفعِّل الليزر بنفسه أبدًا. ولهذا قد تبدو الوحدة سليمة على منصة الاختبار وتفشل مع ذلك في منفذ حقيقي — فمنصة الاختبار لا تمر بالخطوة 6.
في CodingBox
تعرض شاشة Check transceiver نتيجة الخطوات 3–5 كما يراها المضيف — النوع، والمعدل، والمجاميع الاختبارية، وفئة القدرة — وتُبرز التناقضات قبل وصول الوحدة إلى منفذ؛ وتغطي شاشة DDM الخطوة 11 بقيم مقيسة وأعلام حية.
العتاد الكامن وراء الخطوة 6 (السياسة) وحدود مجموعة المنافذ وراء الخطوة 8: داخل المبدّل، كيف يتحقق كل نظام تشغيل شبكة من وحدة.