การล็อกผู้ผลิตและ “unsupported transceiver” · ปัญหาที่พบบ่อยและวิธีแก้ไข · ทรานซีฟเวอร์ออปติคัลและสายเคเบิล · เอกสารประกอบ · CodingBox
CodingBox เอกสารประกอบ

การล็อกผู้ผลิตและ “unsupported transceiver”

ปัญหาทรานซีฟเวอร์ที่พบบ่อยที่สุดเพียงหนึ่งเดียว ผู้ผลิตสวิตช์และ NIC — Cisco, Intel, HPE/Aruba, Juniper, Mellanox และรายอื่น ๆ — ตรวจสอบสตริงข้อมูลระบุตัวตนที่โมดูลรายงานจาก EEPROM ของมัน แล้วปฏิเสธหรือตั้งค่าสถานะโมดูลที่ตัวเองไม่รู้จัก

สิ่งสำคัญที่วิศวกรต้องเรียนรู้แบบเจ็บตัวเอง: “unsupported” ไม่ได้แปลว่า “ใช้งานไม่ได้” บนแพลตฟอร์มส่วนใหญ่ สถานะนี้เป็นเพียงข้อมูลแจ้งเตือน และพอร์ตยังสามารถทำให้ขึ้นได้

อาการ

แพลตฟอร์มสิ่งที่คุณเห็น
Cisco IOSพอร์ต notconnect — unsupported; ในล็อกมี %C4K_TRANSCEIVERMAN-3-INCOMPATIBLE
Cisco IOS หลังอัปเกรดพอร์ตเข้าสู่สถานะ errdisable เหตุผลคือ gbic-invalid
Mellanoxอ่าน EEPROM ได้ แต่ไม่มีลิงก์: speed and type: Not supported
Intel X520 / ixgbeขึ้น no carrier เมื่อใช้ SFP ที่ไม่ใช่ของ Intel

สิ่งที่ใช้ได้ผล

Cisco มีสองคำสั่งที่มักถูกใส่ไว้ในคอนฟิกพื้นฐานเป็นประจำ เพื่ออนุญาตให้ใช้โมดูลของบุคคลที่สามได้ในทุกพอร์ต:

service unsupported-transceiver
no errdisable detect cause gbic-invalid

ความแปลกของแต่ละแพลตฟอร์ม: บน Catalyst 9200 บางรุ่น คำสั่งแรกจะขึ้น % Ambiguous command — ต้องพิมพ์คำสั่งเต็มทั้งหมด; บน Nexus 9000 คำสั่งนี้เป็นคำสั่งที่ซ่อนอยู่ ไม่มี tab-completion แต่ระบบยอมรับคำสั่งนี้

Intel X520 (Linux) โหลดไดรเวอร์พร้อมตัวเลือกที่อนุญาตให้ใช้โมดูลที่ไม่ใช่ของ Intel:

modprobe ixgbe allow_unsupported_sfp=1

มีอีกวิธีหนึ่งที่ถาวรกว่า คือการพลิกบิตใน EEPROM ของ NIC เอง ซึ่งมีเอกสารอธิบายไว้ในแหล่งข้อมูลด้านล่าง — ใช้ด้วยความระมัดระวัง เพราะการเขียน EEPROM ของ NIC ผิดพลาดจะกู้คืนในภาคสนามไม่ได้

ตระกูล ASR 9000 โมดูลที่เสียบเข้าไปในพอร์ตที่ขึ้นอยู่แล้วอาจตรวจไม่พบ: สั่ง shut พอร์ต เสียบโมดูล แล้วจึงสั่ง no shut

ทางแก้แบบถอนรากถอนโคน — เขียนโค้ดโมดูลใหม่ เขียน vendor ID และหมายเลขชิ้นส่วนของโมดูลใหม่ เพื่อให้มันแสดงตัวเป็นโมดูลแท้ของผู้ผลิต นี่คือสิ่งที่ CodingBox ทำในEEPROM editor โดยคำนวณ CC_BASE/CC_EXT ใหม่ และเก็บข้อมูลสำรองไว้ก่อนเสมอ ดูกลไกการทำงานได้ที่การเขียนโค้ด EEPROM ใหม่

คำแนะนำที่ทุกคนพูดซ้ำ

เก็บโมดูล OEM ของแท้ไว้บนชั้นอย่างละหนึ่งตัวต่อชนิด เปลี่ยนไปใช้ตัวนี้ก่อนเปิดทิกเก็ตกับฝ่ายสนับสนุน เพื่อไม่ให้ผู้ผลิตโยนความผิดไปที่ออปติกของบุคคลที่สามได้

การตรวจสอบยืนยันบนสวิตช์

หลังทำขั้นตอนใดขั้นตอนหนึ่งข้างต้นแล้ว ให้ยืนยันว่าโมดูลถูกมองเห็นและอ่านได้: ดูคำสั่งแยกตาม NOS ได้ที่การตรวจสอบยืนยันออปติกบนสวิตช์ แล้วเทียบกับข้อมูลระบุตัวตนที่ CodingBox อ่านได้บนโต๊ะทดสอบ

สิ่งที่โฮสต์เทียบค่าจริง ๆ — ชื่อ, หมายเลขชิ้นส่วน, OUI, รูปแบบหมายเลขซีเรียล, ลายเซ็นของผู้ผลิต — และในขั้นตอนไหนของการเริ่มทำงานที่มันปฏิเสธ: ฟิลด์ของผู้ผลิต, สิ่งที่โฮสต์ทำ

พฤติกรรมการตรวจสอบและวิธีข้ามการตรวจสอบแยกตามผู้ผลิต รวมอยู่ในตารางเดียว: วิธีที่ NOS แต่ละตัวตรวจสอบโมดูล; สตริงหมายเลขชิ้นส่วนที่แต่ละแพลตฟอร์มคาดหวังไว้เป๊ะ ๆ: หมายเลขชิ้นส่วนของ OEM; ไวยากรณ์คำสั่งแยกตาม NOS: สูตรการตั้งค่าพอร์ต


หากพบข้อมูลที่ไม่ถูกต้องหรือข้อผิดพลาดในบทความนี้ ให้เลือกข้อความส่วนนั้นแล้วกด Ctrl+Enter เพื่อ