Patch EEPROM của Intel X520 (bit IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP) để mở khoá mọi transceiver SFP+
Người mở thread ghi lại rằng các card X520 dựa trên 82599 mang một bit EEPROM không được tài liệu hoá (IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP, bit thấp nhất của capability word tại byte offset 0x58, thường là 0xFC khi khoá / 0xFD khi mở khoá) quyết định liệu module SFP+ active không phải Intel có được chấp nhận trên ESXi và Windows hay không, nơi tuỳ chọn driver Linux không có sẵn. Bài viết đưa ra cách lookup device ID bằng lspci -nn, ethtool -e enp1s0 offset 0x58 length 1 để đọc, và ethtool -E enp1s0 magic 0x10fb8086 offset 0x58 value 0xfd để ghi, kèm cảnh báo chỉ lật đúng bit đó thôi. Người theo dõi báo kết quả trên X520-DA2, card eBay dùng với ESXi và module Finisar, Dell-branded X520/i350 rNDC (0xFC), HPE NC560SFP+ (đã sẵn 0xFD, chạy được với một MikroTik S+RJ10) và một 82599 vẫn từ chối một module Ubiquiti 10GbE RJ45.
- Phần cứng: Intel X520-DA1, Intel X520-DA2, Dell Intel 2P X520/2P i350 rNDC, HPE NC560SFP+, Intel 82599ES
- Transceiver: Finisar SFP+, MikroTik S+RJ10, Ubiquiti UF-RJ45-10G
- Form factor: SFP+
Triệu chứng / thông báo:
non-Intel active SFP+ rejected on ESXi/Windows
EEPROM byte 0x58 = 0xFC
Comments 2
Đọc byte 0x58, chỉ set bit thấp nhất (ví dụ 0xFC thành 0xFD) bằng ethtool -E và magic tạo từ PCI device ID với vendor ID; sau đó card chấp nhận optic active bên thứ ba trên bất kỳ OS nào. DAC passive và module SFP thường vẫn chạy được kể cả khi còn khoá.
Card OEM từ HPE, Dell hay Cisco có thể xuất xưởng đã mở khoá sẵn, cho thấy cái khoá này là một setting chính sách của Intel; nếu một module vẫn fail sau khi mở khoá, test nó dưới Linux với allow_unsupported_sfp để tách một sự không tương thích thật ra khỏi cái khoá.