SGMII، 1000BASE-X، QSGMII، USXGMII: PHYs اور SFP تک سیریل انٹرفیسز
ہر 1G SFP کیج میں 1.25 GBd کی سیریل لین ہوتی ہے، اور یہ لین دو ایسی بولیاں بول سکتی ہے جو اوسیلوسکوپ پر یکساں دکھائی دیتی ہیں: 1000BASE-X، وہ IEEE انٹرفیس جس کی فائبر ماڈیول کو توقع ہوتی ہے، اور SGMII، Cisco کا ایسا متغیر جس میں 10/100 Mb/s اور مختلف آٹو نیگوشی ایشن شامل ہیں۔ کاپر SFPs ان دونوں کی سرحد پر کام کرتے ہیں، اور زیادہ تر "کاپر SFP 1G پر لنک کرتا ہے مگر میرا 100 Mb/s کیمرا لنک نہیں کرتا" ٹکٹس کی وجہ بولیوں کا عدم مطابقت ہے۔ یہ صفحہ دونوں گیگابٹ بولیوں، ان کی آٹو نیگوشی ایشن، 2500BASE-X، ملٹی پورٹ QSGMII، ملٹی گیگ اور 10GBASE-T SFP+ کے لیے USXGMII، اور Linux اور سوئچز کے موڈ منتخب کرنے کے طریقے کا احاطہ کرتا ہے۔
1000BASE-X: SFP کیج کا بنیادی انٹرفیس (Clause 36/37)
| آئٹم | قدر |
|---|---|
| شرح | 1.25 GBd، 8b/10b → 1000 Mb/s پے لوڈ |
| لینز | ہر سمت 1 تفاضلی جوڑا (CML، AC سے جوڑا ہوا) |
| کوڈنگ | /K28.5/ کوماز، ترتیب وار سیٹس /C1/ /C2/ (کنفیگریشن)، /I1/ /I2/ (آئیڈل) کے ساتھ 8b/10b |
| آٹو نیگوشی ایشن | Clause 37: /C/ ترتیب وار سیٹس میں دونوں سروں کے درمیان منتقل ہونے والا 16-بٹ کنفیگریشن ورڈ — مکمل/نصف ڈوپلیکس، وقفہ (متوازن/غیر متوازن)، دور دراز خرابی، تصدیق۔ کوئی رفتار فیلڈ نہیں: 1000BASE-X صرف 1G ہے |
| کہاں | سوئچ/NIC SerDes → SFP کیج؛ فائبر SFP (SX/LX/ZX/BiDi/CWDM) اسے براہِ راست لیزر تک پہنچاتا ہے؛ PCS ہوسٹ میں ہوتا ہے |
فائبر SFP شفاف ہوتا ہے: ہوسٹ جو کوڈ کرتا ہے وہی روشنی کے طور پر باہر جاتا ہے۔ اسی لیے 1G فائبر ماڈیول کا کوئی "موڈ" نہیں ہوتا — مگر پورٹ کا ہوتا ہے، اور اسے 1000BASE-X ہونا چاہیے (اکثر "SerDes" یا "fiber" موڈ، Cisco پر speed nonegotiate جب دور سرے پر AN موجود نہ ہو)۔
SGMII: گیگابٹ کے ساتھ 10/100 (Cisco SGMII وضاحت v1.8)
| آئٹم | قدر |
|---|---|
| شرح | وہی 1.25 GBd، 8b/10b |
| 10/100 سپورٹ | ہر ڈیٹا بائٹ کو دہرایا جاتا ہے: 100× (10 Mb/s) یا 10× (100 Mb/s)، تاکہ لائن 1.25 GBd پر برقرار رہے |
| لینز | 2 جوڑے؛ اختیاری 625 MHz DDR کلاک جوڑے (TX_CLK/RX_CLK) — زیادہ تر SerDes نفاذات بغیر کلاک کے چلتے ہیں |
| آٹو نیگوشی ایشن | SGMII کنٹرول ورڈ (/C/ ترتیب وار سیٹس میں بھی منتقل ہوتا ہے، 16 بٹس): بٹ 15 لنک، بٹس 11–10 رفتار (10/100/1000)، بٹ 12 ڈوپلیکس، بٹ 14 تصدیق — PHY → MAC بھیجا جاتا ہے تاکہ MAC کو بتایا جائے کہ کاپر جانب نے کس رفتار پر گفت و شنید کی۔ Clause 37 کے مواد کے ساتھ مطابقت نہیں |
| کہاں | MAC ↔ کاپر PHY (Marvell 88E15xx، TI DP83867، Broadcom)، کاپر SFP کی سپورٹ چاہنے والے بورڈز پر SoC ↔ SFP کیج، کاپر 1000BASE-T SFP کے اندرونی اجزا |
SGMII ایک MAC–PHY انٹرفیس ہے؛ "آٹو نیگوشی ایشن" دو مرتبہ ہوتی ہے — PHY اور لنک پارٹنر کے درمیان ٹوئسٹڈ پیئر پر Clause 28، پھر SGMII کنٹرول ورڈ نتیجہ MAC کو بتاتا ہے۔ جب ہوسٹ کو Clause 37 درکار ہو اور اسے SGMII ورڈ ملے (یا اس کے برعکس)، تو لنک کبھی AN مکمل نہیں کرتا؛ پورٹ پر AN بند کرنا (speed nonegotiate، no negotiation auto، autoneg off) عموماً حل ہوتا ہے — صرف 1G پر۔
دونوں کے درمیان کاپر SFPs
| ہوسٹ پورٹ موڈ | کاپر SFP رویہ | 10/100 کلائنٹس |
|---|---|---|
| 1000BASE-X، AN on | ماڈیول کے PHY کو Clause 37 کا جواب دینا ضروری ہے — بہت سے اس کی نقل کرتے ہیں، بعض نہیں کرتے → AN بند ہونے تک لنک نہیں | نہیں (کوئی رفتار فیلڈ نہیں) |
| 1000BASE-X، AN off | جب کاپر جانب 1G پر گفت و شنید کرے تو 1G پر لنک | نہیں |
| SGMII، AN on | PHY کنٹرول ورڈ کے ذریعے 10/100/1000 رپورٹ کرتا ہے | ہاں |
| SGMII، AN off | مقررہ 1G | نہیں |
Marvell 88E1111 پر مبنی کاپر SFP ماڈیولز تیاری کے وقت سیٹ کی گئی کنفیگریشن EEPROM/strap کے لحاظ سے بطورِ طے شدہ SGMII یا 1000BASE-X ہوتے ہیں؛ وینڈرز ایک ہی ماڈیول کے "SGMII" اور "SerDes" متغیرات فروخت کرتے ہیں، اور بعض کو ماڈیول کے I²C پر دستیاب PHY رجسٹروں سے تبدیل کیا جا سکتا ہے۔ وہ سوئچ پورٹس جن پر "1000BASE-T SFP supported" درج ہو، ان کیجز پر SGMII نافذ کرتے ہیں (کاپر Ethernet اور DAC)۔
100BASE-FX SFPs
ایک 100 Mb/s فائبر SFP (100BASE-FX، 1310 nm، 2 km) کے لیے ہوسٹ کو لین 125 MBd، 4b/5b کے ساتھ پر چلانا ہوتا ہے — یہ بالکل مختلف PCS ہے۔ صرف وہ پورٹس جو واضح طور پر "100M SFP" سپورٹ کرتے ہیں (منتخب پورٹس پر بہت سے کیمپس سوئچز، زیادہ تر راؤٹرز؛ چند ڈیٹا سینٹر سوئچز) کام کرتے ہیں؛ دیگر پر ماڈیول شناخت ہو جاتا ہے مگر کبھی لنک نہیں کرتا۔ کچھ ہوسٹس ماڈیول میں بیرونی PHY کے ساتھ SGMII تکرار کے ذریعے 100BASE-FX نافذ کرتے ہیں ("100M over SGMII" SFPs)۔
2500BASE-X
| آئٹم | قدر |
|---|---|
| شرح | 3.125 GBd، 8b/10b → 2.5 Gb/s |
| معیار | IEEE کا کوئی نہیں (عملاً، 2.5 × 1000BASE-X)؛ Linux phy-interface-type = "2500base-x" |
| AN | Clause 37 طرز، اکثر بند |
| کہاں | 2.5G SFP ماڈیولز (2.5GBASE-T کاپر، 2.5G فائبر)، ہوسٹ کی سمت GPON/EPON ONU اسٹکس (2.5G ڈاؤن اسٹریم)، Wi-Fi 6 AP اپ لنکس، کچھ 2.5G سوئچ SFP کیجز |
ملٹی گیگ کے لیے IEEE مساوی 2.5GBASE-X/5GBASE-R (802.3bz) ہیں، مگر زیادہ تر سلیکون 2500BASE-X یا USXGMII بولتا ہے۔
QSGMII: ایک لین پر چار پورٹس
| آئٹم | قدر |
|---|---|
| شرح | 5 GBd، 8b/10b؛ 4 SGMII چینلز وقت کے لحاظ سے ملٹی پلیکس کیے گئے |
| لینز | چار پورٹس کے لیے 2 جوڑے |
| کہاں | سوئچ ASIC ↔ چار پورٹس والا کاپر PHY (48-پورٹ ایکسیس سوئچز: 48 SGMII کے بجائے 12 QSGMII لینز)، بیرونی SerDes کے ذریعے کچھ چار-پورٹ SFP کیج ڈیزائن |
| متغیرات | QSGMII (Cisco)، نیز بعض Qualcomm/Realtek SoCs پر "PSGMII" (5 پورٹس) |
عام ڈیزائنز میں کیج پر نظر نہیں آتا؛ جب چار-پورٹ PHY بورڈ SFP کومبو پورٹس ظاہر کرے جن کا موڈ PHY چینل سے ورثے میں ملتا ہو تو اس کی اہمیت ہوتی ہے۔
USXGMII: ایک 10G لین پر 10 Mb/s سے 10 Gb/s تک
| آئٹم | قدر |
|---|---|
| شرح | 10.3125 GBd، 64b/66b (10GBASE-R برقی) |
| رفتاریں | 10M، 100M، 1G، 2.5G، 5G، 10G منتقل شدہ ڈیٹا سمبلز کی تکرار کے ذریعے (SGMII کی طرح مگر بڑھا ہوا) |
| وضاحت | Cisco USXGMII (v1.2)، وسیع پیمانے پر اختیار شدہ؛ Linux usxgmii |
| ملٹی پورٹ | USXGMII-M: ایک 10G لین پر 4 × 2.5G، 2 × 5G، 4 × 1G+… (QSGMII کی طرح) |
| AN | 64b/66b آئیڈل میں USXGMII AN ورڈ، رفتار/ڈوپلیکس/لنک رپورٹ کرتا ہے |
| کہاں | ASIC ↔ ملٹی گیگ PHY (2.5/5/10GBASE-T پورٹس)، 10GBASE-T SFP+ ماڈیولز (اندرونی PHY، مثلاً Marvell AQR/Broadcom) |
10GBASE-T SFP+ ماڈیول عام SFP+ پورٹ کو 10GBASE-R (SFI) پیش کرتا ہے اور 10G پر لنک کرتا ہے؛ آیا وہ 1G/2.5G/5G کلائنٹس کو بھی خدمات دے سکتا ہے، اس کا انحصار کیج پر USXGMII ریٹ ایڈاپٹیشن کی ہوسٹ سپورٹ پر ہے — زیادہ تر سوئچز میں یہ نہیں ہوتی، اس لیے ماڈیول صرف 10G پر کام کرتا ہے، یا ایڈاپٹیشن اندرونی طور پر انجام دیتا ہے اور ہوسٹ کو 10G رپورٹ کرتا ہے جبکہ کاپر جانب دھیمی رفتار پر چلتی ہے (رفتار اور ریٹ)۔
ہوسٹ موڈ کیسے منتخب کرتا ہے
| ہوسٹ | طریقۂ کار |
|---|---|
| Linux phylink/SFP | A0h بائٹس 3–10 (مطابقت)، 12 (برائے نام ریٹ)، 36 (توسیعی) اور 6 بٹ 3 (1000BASE-T) پڑھتا ہے: 1000BASE-T → SGMII (یا اگر SoC میں SGMII نہ ہو تو 1000BASE-X)؛ 1000BASE-SX/LX → 1000BASE-X؛ BR 3.1 GBd → 2500BASE-X؛ 10G کوڈز → 10GBASE-R؛ ماڈیول کے اندر کاپر PHY کو I²C (ایڈریس 0x56/0xAC) پر جانچ کر phylib سے چلایا جاتا ہے |
| سوئچ NOS | پلیٹ فارم سے پورٹ کا بطورِ طے شدہ موڈ (زیادہ تر 1G SFP کیجز = SGMII کے قابل؛ 1G پر SFP+/SFP28 اکثر صرف 1000BASE-X)، کمانڈز speed 1000، speed nonegotiate، media-type sfp، negotiation auto، port-mode |
| NIC ڈرائیورز | Intel: SFP+ پورٹس صرف 1000BASE-X میں 1G سپورٹ کرتے ہیں (10/100 کاپر SFP نہیں)؛ Mellanox: بعض ماڈلز میں 1000BASE-X کے ذریعے 1G؛ Broadcom: فرم ویئر کے لحاظ سے (NIC پورٹس) |
| کاپر SFP | PHY موڈ strap/EEPROM (SGMII بمقابلہ SerDes متغیر)، AN کا رویہ وینڈر فرم ویئر سے سیٹ ہوتا ہے |
عدم مطابقت کی جدول
| علامت | وجہ | حل |
|---|---|---|
| کاپر SFP: 1G کلائنٹس ٹھیک، 10/100 کبھی لنک نہیں | پورٹ 1000BASE-X میں ہے | SGMII کے قابل پورٹ پر منتقل کریں یا ایسا ماڈیول استعمال کریں جو 10/100 کو ہوسٹ تک 1G ایڈاپٹیشن کے پیچھے چھپائے |
| فائبر SFP صرف AN off پر لنک کرتا ہے | Clause 37 کے بغیر دور سرا (میڈیا کنورٹر، بعض ONUs) یا کاپر ماڈیول سے SGMII ورڈ | speed nonegotiate / autoneg off |
| 100BASE-FX SFP شناخت ہوا، لنک نہیں | ہوسٹ میں 100M SerDes موڈ نہیں | ایسا پورٹ استعمال کریں جو 100M SFP سپورٹ کرے، یا 100BASE-FX-over-SGMII ماڈیول |
| 2.5G SFP 1G پر لنک کرتا ہے یا بالکل نہیں | ہوسٹ میں 2500BASE-X نہیں | 2.5G کے قابل کیج یا ریٹ فال بیک والا ماڈیول منتخب کریں |
| ONU اسٹک لنک کرتا ہے، پھر گر جاتا ہے | 2500BASE-X بمقابلہ 1000BASE-X کی توقع، AN | ہوسٹ کو 2500BASE-X، AN off پر سیٹ کریں (PON آپٹکس) |
| 10GBASE-T SFP+ صرف 10G پر لنک کرتا ہے | ہوسٹ پر USXGMII نہیں | صرف 10G قبول کریں، یا اندرونی ریٹ ایڈاپٹیشن والا ماڈیول استعمال کریں |
| Linux: ماڈیول ایک بورڈ پر کام کرتا ہے، دوسرے پر نہیں | phylink نے EEPROM سے مختلف انٹرفیس منتخب کیا؛ SoC میں وہ موڈ نہیں | dmesg میں sfp: module … interface دیکھیں؛ مطابقت کے بائٹس یا ڈیوائس ٹری درست کریں |
CodingBox میں
ہوسٹ کے انتخاب کی سمت متعین کرنے والے بائٹس سب A0h میں ہیں: مطابقت کوڈز 3–10 (1000BASE-T، SX، LX، 10G کوڈز)، برائے نام بٹ ریٹ 12، انکوڈنگ 11 (8b/10b بمقابلہ 64b/66b)، توسیعی مطابقت 36۔ 1000BASE-SX کے طور پر کوڈ کیے گئے کاپر ماڈیول کو فائبر سمجھا جائے گا اور اس کا 10/100 راستہ ختم ہو جائے گا؛ بے محل 1000BASE-T بٹ والے فائبر ماڈیول کو SGMII کے طور پر چلایا جائے گا۔ CodingBox ان فیلڈز کو دکھاتا اور ترمیم کرتا ہے (Check transceiver، مطابقت کے کوڈز)۔