چیک سمز: CC_BASE، CC_EXT، CC_DMI، CMIS صفحات
ہر انتظامی تصریح اپنے شناختی بلاک کو ایک یا زیادہ چیک سمز سے محفوظ کرتی ہے — ایک بائٹ جو ہوسٹ کو مواد پر بھروسا کرنے سے پہلے خراب یا آدھا لکھا ہوا EEPROM معلوم کرنے دیتا ہے۔ ان کا حساب معمولی اور بھول جانا آسان ہے: ترمیم کے بعد پرانا چیک سم تازہ کوڈ شدہ ماڈیول کے invalid رپورٹ ہونے کی سب سے عام وجہ ہے۔
الگورتھم
سب ایک ہی قاعدہ استعمال کرتے ہیں: زیر احاطہ رینج کے بائٹس کو اَن سائنڈ 8-بٹ قدروں کے طور پر جمع کریں اور مجموعے کے زیریں 8 بٹس رکھیں (مجموعہ ماڈیولو 256)۔ نہ CRC، نہ پولینومیل۔
sum = 0
for each byte b in range:
sum = (sum + b) & 0xFF
checksum = sum
مثال — 10GBASE-SR SFP کے پہلے پانچ بائٹس: 03 04 07 10 00 → 3 + 4 + 7 + 16 + 0 = 30 = 1Eh۔ بائٹ 62 تک جاری رکھیں تو نتیجہ CC_BASE ہے۔
ہر چیک سم کہاں ہے
| تصریح | چیک سم | مقام | احاطہ |
|---|---|---|---|
| SFF-8472 (SFP) | CC_BASE | A0h بائٹ 63 | A0h بائٹس 0–62 |
| SFF-8472 | CC_EXT | A0h بائٹ 95 | A0h بائٹس 64–94 |
| SFF-8472 | CC_DMI | A2h بائٹ 95 | A2h بائٹس 0–94 (حدود اور کیلیبریشن کانسٹنٹس) |
| SFF-8636 (QSFP) | CC_BASE | بائٹ 191 | بالائی صفحہ 00h بائٹس 128–190 |
| SFF-8636 | CC_EXT | بائٹ 223 | بائٹس 192–222 |
| INF-8077i (XFP) | CC_BASE | بائٹ 191 | بائٹس 128–190 |
| INF-8077i | CC_EXT | بائٹ 223 | بائٹس 192–222 |
| CMIS | صفحہ چیک سم | صفحہ 00h بائٹ 222 | صفحہ 00h بائٹس 128–221 |
| CMIS | صفحہ چیک سم | صفحہ 01h بائٹ 255 | صفحہ 01h بائٹس 130–254 (128–129 غیر فعال فرم ویئر ورژن رکھتے ہیں اور شامل نہیں ہیں) |
| CMIS | صفحہ چیک سم | صفحہ 02h بائٹ 255 | صفحہ 02h بائٹس 128–254 |
| CMIS | صفحہ چیک سم | صفحہ 04h بائٹ 255 | صفحہ 04h بائٹس 128–254 |
کسی چیک سم میں شامل نہیں: وینڈر مخصوص علاقے (SFP A0h 96–127، QSFP 224–255، CMIS 223–255)، صارف EEPROM، براہ راست مانیٹرز اور فلیگز، QSFP صفحہ 03h حدود، اور CMIS لین صفحات۔ وینڈرز وینڈر جگہ میں اپنے انٹیگریٹی فیلڈز شامل کر سکتے ہیں — وہ تصریح کا حصہ نہیں۔
ہوسٹس ان کے ساتھ کیا کرتے ہیں
| رویہ | خراب چیک سم کا نتیجہ |
|---|---|
| CC_BASE کی توثیق (زیادہ تر سوئچز اور راؤٹرز) | ماڈیول invalid، unsupported یا EEPROM checksum error دکھایا جاتا ہے؛ پورٹ errdisable ہو سکتا ہے؛ لیزر اکثر بند رکھا جاتا ہے |
| CC_EXT کی بھی توثیق | وہی، یا پلیٹ فارم پر منحصر صرف لاگ اندراج |
| CC_DMI کی توثیق | DDM not supported دکھاتا ہے یا قدریں نظر انداز ہوتی ہیں؛ لنک خود متاثر نہیں ہوتا |
| چیک سمز نظر انداز کرنا (بہت سے NICs، کچھ اوپن سوئچز) | ماڈیول کام کرتا ہے؛ خرابی صرف ٹولز میں ظاہر ہوتی ہے |
چیک سم ناکامی شناخت کے ساتھ رپورٹ ہوتی ہے، اس لیے جس ماڈیول میں پالیسی کا مسئلہ بھی ہو اس میں ایک پیغام دوسرے کو چھپا دیتا ہے — پہلے چیک سمز دیکھیں، یہ کم خرچ حل ہیں۔ علامات کا نقشہ: علامات کا اشاریہ۔
کب دوبارہ حساب لازم ہے
- زیر احاطہ رینج میں کسی بھی چیز کی ترمیم کے بعد — وینڈر نام، پارٹ نمبر، سیریل، تاریخ کوڈ، مطابقت کوڈز، طول موج، لمبائیاں، آپشنز، پاور کلاس۔
- SFP (CC_DMI) پر حدود یا کیلیبریشن کانسٹنٹس لگانے کے بعد۔
- دوسرے ماڈیول سے جزوی امیج بحال کرنے کے بعد۔
- وینڈر جگہ، صارف EEPROM یا A2h کنٹرول بائٹس کی تبدیلی کے لیے ضروری نہیں۔
عملیات کی ترتیب: ترمیم → ہر متاثرہ چیک سم کا دوبارہ حساب → لکھیں → واپس پڑھیں → تصدیق کریں۔ اس کے زیر احاطہ ڈیٹا سے پہلے چیک سم بائٹ لکھنے سے ایسی ونڈو رہتی ہے جس میں پاور لاس ایک غیر درست ماڈیول پیدا کرتا ہے۔
چیک سمز اور وینڈر لاکس
درست چیک سمز ضروری ہیں، کافی نہیں۔ سخت پلیٹ فارم وینڈر بلاک اور لاکڈ ڈیزائنز میں وینڈر جگہ کے ملکیتی سگنیچر کو بھی چیک کرتا ہے جس کے بارے میں تصریح کے چیک سمز کو کچھ معلوم نہیں۔ رد شناخت کے ساتھ CC_BASE پاس ہونا وینڈر لاک کیس معلوم ہوتا ہے، چیک سم کیس نہیں — وینڈر لاک، وینڈر فیلڈز۔
CodingBox میں
CodingBox ہر لکھائی پر CC_BASE، CC_EXT، CC_DMI اور CMIS صفحہ چیک سمز کا خودکار دوبارہ حساب کرتا ہے اور ماڈیول پڑھتے وقت عدم مطابقت نمایاں کرتا ہے — Check transceiver پر یا EEPROM editor میں سرخ چیک سم فیلڈ کا مطلب ہے کہ ماڈیول کہیں اور ترمیم ہوا اور درست نہیں کیا گیا، یا EEPROM خراب ہے۔
ہر چیک سم اپنے پڑوسیوں میں کہاں ہے: SFF-8472 A0h (63, 95)، A2h (95)، SFF-8636 بالائی (191, 223)، CMIS بالائی صفحات (222, 255)، XFP (191, 223)۔