হোস্ট কী করে: শনাক্তকরণ, যাচাই, চালুকরণ
স্পেসিফিকেশনগুলো মডিউলের দিকটি বর্ণনা করে: পিন, মেমোরি, অবস্থা। এই পেজে বর্ণিত হয়েছে হোস্টের দিক: মডিউল ঢোকানোর মুহূর্ত থেকে ট্রাফিক চলা পর্যন্ত সুইচ, রাউটার বা 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, অ্যাপ্লিকেশন ডেস্ক্রিপ্টর | speed and type not supported — কমপ্লায়েন্স কোড |
| 6 | নীতি | সামঞ্জস্য টেবিলের বিপরীতে ভেন্ডরের নাম/PN (এবং সম্ভবত স্বাক্ষর) | একই | একই | অসমর্থিত ট্রান্সিভার, errdisable — ভেন্ডর লক |
| 7 | পাওয়ার ক্লাস | বাইট 64-এর লেভেল বিট বনাম পোর্টের বাজেট | বাইট 129-এর ক্লাস; লো পাওয়ার ছাড়তে / ক্লাস 5–8 সক্রিয় করতে বাইট 93 লেখা | বাইট 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 সিগন্যাল দেখে; DAC-এ AN/লিংক ট্রেনিং | প্রতি লেনে একই | প্রতি ডেটা পাথে একই | লেভেল ঠিক থাকলেও লিংক ডাউন |
| 11 | মনিটরিং | A2h-এর মনিটর ও ফ্ল্যাগ কয়েক সেকেন্ড পরপর পোল করা; TX_FAULT / RX_LOS পিন | IntL → ফ্ল্যাগ 3–21 পড়া; মনিটর পোল করা | IntL → মডিউল ফ্ল্যাগ + পেজ 11h-এর লেন ফ্ল্যাগ; VDM | অ্যালার্ম, ফ্ল্যাপ — DDM-এর মান, লিংক ফ্ল্যাপিং |
| 12 | খুলে নেওয়া | MOD_ABS হাই → লিংক বন্ধ করা | ModPrsL হাই | ModPrsL হাই | ডিবাউন্স মিস হলে পুরোনো অবস্থা থেকে যায় |
QSFP ও CMIS মডিউলে ধাপ 3–6 ঘটে লো পাওয়ারে: অপটিক্সে পাওয়ার খরচ করার আগেই হোস্ট যাচাই করে নেয়। এ কারণেই লক করা বা ভুল কোড করা মডিউল কখনো লেজার জ্বালায় না, আর বৈদ্যুতিকভাবে সুস্থ মডিউলেও দূরবর্তী প্রান্ত −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-এর ফল দেখায় ঠিক যেভাবে হোস্ট দেখবে: ধরন, রেট, চেকসাম, পাওয়ার ক্লাস। মডিউল পোর্টে পৌঁছানোর আগেই এটি অসংগতি চিহ্নিত করে। ধাপ 11 DDM-এর লাইভ মনিটর ও ফ্ল্যাগের আওতায় পড়ে।
ধাপ 6-এর (নীতি) পেছনের হার্ডওয়্যার এবং ধাপ 8-এর পেছনের পোর্ট গ্রুপের সীমা: সুইচের ভেতরে, প্রতিটি NOS কীভাবে মডিউল যাচাই করে।