Intel X710 và switch TP-Link: DAC 10G không lên link, cổng treo ở NO-CARRIER
Đang lắp 10G giữa server và switch TP-Link, không có gì lạ cả. Card thì hệ thống nhận, driver load bình thường, nhưng cổng thì không lên link chút nào - không lỗi, không cả thử negotiation.
- server: Intel X710, bốn cổng 10GbE SFP+, firmware 9.140.76856
- switch TP-Link, cổng SFP+
- cáp: DAC passive OEM SFP-10G-CU1M, một mét
- Linux, interface xuất hiện trong hệ thống
Trạng thái cổng:
ip link: <NO-CARRIER,BROADCAST,MULTICAST,UP>
ethtool: Link detected: no
Auto-negotiation: off
transceiver: internal
Đã thử những gì:
- bật interface bằng tay:
ip link set up dev sfp1; - bật autoneg:
ethtool -s sfp1 autoneg on- không đổi gì; - chạy xl710-unlocker, nó báo NVM đã unlock rồi, tức là cái trick khóa quen thuộc không liên quan ở đây.
Phía switch cổng cũng im re, counter toàn số 0. Là do cáp, do giới hạn của card, hay mình đang bỏ sót gì trong cấu hình?
Comments 5
Ở đây có hai loại khóa khác nhau, và người ta hay nhầm lẫn. Cái mà xl710-unlocker gỡ ra là khóa NVM theo vendor cụ thể của card. Nó không đụng đến giới hạn module: firmware bán lẻ của Intel vẫn từ chối làm việc với SFP+ và DAC mà EEPROM không có mã hóa của Intel. Kiểu lỗi giống hệt như của bạn - cổng im lặng, log trống, interface ở NO-CARRIER. Nên "NVM đã unlock" và "phải nhận mọi loại cáp" không phải là một.
Thực tế người ta xử lý thế này:
options ixgbe allow_unsupported_sfp=1, nhưng đó là ixgbe, không liên quan gì đến X710 dùng i40e, bạn không có cái nút đó;Mình sẽ bắt đầu bằng một cáp khác: chỗ mình giải quyết được theo cách đó, nhưng phần cứng mỗi người mỗi khác, cứ kiểm tra trên máy của bạn. Tiện thể thử luôn vài module quang thường - việc này sẽ tách rõ "không ưng cáp" với "không ưng cổng".
Làm rõ vài chỗ, không thì chỉ đoán mò thôi. Cáp ghi là 10G-only hay dual-rate?
ethtool -m sfp1hiện ra gì - đọc được vendor và partnumber hay cổng không thấy module luôn? Và loop cùng một DAC giữa hai cổng của chính switch: nếu loop lên link thì cage với cáp đều ổn, câu chuyện thu hẹp lại còn mỗi cái card.Quay lại với kết quả, nhưng chỉ được một nửa. Lấy thêm một cáp khác, lần này là gigabit - SFP-1G-DAC0.2M. Nó lên ngay, cổng vào 1000baseX, full duplex, traffic chạy bình thường. Còn cáp 10G SFP-10G-CU1M thì vẫn im như cũ: NO-CARRIER, không một thông báo nào cả trên card lẫn trên switch.
Tức là card sống, cage cũng sống, chỉ riêng cáp 10G này là X710 không chịu nhận. Tạm thời ngồi ở gigabit và tìm DAC trong danh sách tương thích.
DAC còn có một cái bẫy khác, lần này không liên quan gì đến Intel: một số cụm passive SFP+ chỉ được mã hóa cho 10G và không hỗ trợ fallback về 1000BASE-X. Cáp kiểu này ở chỗ mình từ chối thẳng thừng việc nối cổng gigabit TL-SG2210MP với TL-SX3008F ở firmware 1.2, dù cùng cáp đó lại chạy ngon giữa hai thiết bị 10G. Chỉ có dual-rate mới ăn thua, loại mà spec ghi rõ cả hai tốc độ, cộng thêm set cứng 1000 Mbps và full duplex ở cả hai đầu. Trong khi đó bạn mình có DAC SFP+ của Unifi chạy bình thường giữa ER8411 và SG2428P, nên bản thân cặp SFP với SFP+ không phải là án tử.
Vì gigabit đã lên rồi, thử kiểm tra speed và duplex trên cổng switch trước khi kết luận hẳn là do cáp. Có một vụ với T1700X-16TS: cổng SFP+ không chịu link với card 10G Synology qua cáp chính hãng TXC432-CU3M dài ba mét, trong khi cùng cáp đó với cùng con NAS lại chạy ngon qua Netgear XS708E, còn switch thì đã reset về factory hai lần. Loop chính cáp DAC đó giữa hai cổng SFP+ của switch thì lên link, tức là cáp và cage đều ổn.
Support gợi ý đi từng bước: kiểm tra cáp có trong danh sách tương thích không, đổi speed và duplex trên cổng SFP+, rồi set duplex về auto vì mặc định ở đó là full. Cuối cùng ra sao thì tác giả không viết tiếp, nhưng các bước đưa ra khá hợp lý.