S-RJ01 trong cage SFP+ của RB5009: auto-negotiation incomplete, cổng kẹt ở 100 Mbps
Rack ở nhà, và RB5009 chỉ có đúng một cage SFP+. Mình muốn có thêm một uplink gigabit đồng thứ hai từ đó thay vì kéo cáp quang xuyên phòng, nên cắm một module đồng vào thay thế.
- MikroTik RB5009UG+S+IN, RouterOS 7.1rc4
- MikroTik S-RJ01 1000BASE-T copper SFP ở sfp-sfpplus1
- dây patch Cat6, khoảng ba mét, nối vào một switch gigabit
- mọi cổng khác trên switch đó đều link ở 1G full với cùng lô cáp
Cổng lên, nhưng chỉ ở một trăm:
/interface ethernet monitor sfp-sfpplus1
Auto Negotiation: incomplete
Rate: 100Mbps
Dưới tải, interface này còn gom lỗi gói TX/RX, điều mà không cổng built-in nào làm.
Đã thử:
- disable rồi enable lại interface, nhiều lần - thỉnh thoảng nó lên ở 1G, phần lớn thì không
- đổi dây patch Cat6 khác và đổi cổng khác trên switch đầu xa
- ghim cứng cổng switch đầu xa ở 1G full duplex, không đổi được gì ở phía này
Đây là do module, do cage SFP+ bị bắt chạy một module đồng 1G, hay do bản RouterOS? Và có gì đáng thử trước khi bỏ cuộc và kéo cáp quang không?
Comments 6
Đừng để nó tự negotiate nữa, ghim cứng luôn. Trên mọi máy MikroTik mà mình từng gặp S-RJ01 hư đốn, đây là cách khiến nó nằm yên:
Sau đó đọc lại bằng
/interface ethernet monitor sfp-sfpplus1.Còn vì sao chỉ số đọc được làm bạn bối rối: lane giữa cổng host và một SFP đồng 1G luôn chạy ở bitrate SGMII 1G, và 100 Mbit được truyền qua đó bằng cách lặp mỗi byte mười lần. Nên cái mà host in ra là rate không nhất thiết là cái mà PHY đồng bên trong module đã negotiate với switch của bạn - hai nửa của module có thể không đồng thuận với nhau, và "incomplete" là việc phía host bỏ cuộc với phần việc của nó.
Hai lưu ý. Khi tắt auto-negotiation ở phía bạn, đầu xa cũng phải được ghim cứng ở 1 Gbps full duplex, nếu không nó sẽ rớt xuống half duplex và bạn vừa đổi một vấn đề tốc độ lấy một vấn đề duplex, mà cái sau khó chẩn đoán hơn. Và phải rõ ràng đây chỉ là workaround - vendor không có bản fix cho việc này, nên nếu cổng đó mang thứ gì quan trọng, đáng thử một module đồng của hãng khác trong cùng cage.
Bạn đang ở 7.1rc4 và mình cũng vậy, nên phần đó đã khớp rồi - cái mình muốn biết hơn là đầu xa báo gì trong lúc phía bạn nói incomplete. Nó cũng thấy 100, hay nó nghĩ nó đang có link gigabit?
Hỏi vậy vì mình có một S-RJ01 trong RB4011iGS+ làm điều gì đó rất giống thế này: nó chỉ thỉnh thoảng đạt 1G, và chỉ sau khi mình disable rồi enable lại cổng. Mình chưa bao giờ tìm ra cái gì khiến lần thử này khác lần thử kia, và cũng chưa từng nghĩ tới việc đọc switch đầu xa cùng lúc.
Switch đầu xa khớp với bên mình - nó cũng hiện link 100 Mbit, nên ít nhất hai đầu không nói dối nhau theo hai hướng khác nhau.
Disable rồi enable lại cũng có giúp ở đây, nhưng không ổn định: khoảng một trong bốn lần thử quay về 1G, số còn lại rơi vào 100Mbps với cùng dòng
Auto Negotiation: incomplete. Khi nó nằm ở 100 thì bộ đếm lỗi tăng dần dưới tải; những lần hiếm hoi lên được 1G thì chúng đứng yên.Cẩn thận khi coi đó là công thức chung, vì chính tài liệu của vendor cho các module đồng này lại nói ngược lại: S-RJ01 và S+RJ10 được mô tả là cần negotiate speed và duplex thì mới hoạt động được, và theo trang đó thì một cổng bị ghim cứng rate bằng tay lẽ ra không nên lên link. Thực tế hiện trường trên các máy RB5009 và RB4011 lại mâu thuẫn với điều đó đủ thường xuyên, nên mình sẽ cứ thử cả hai và giữ lại cái nào trụ được trên phần cứng của bạn, thay vì tin hẳn vào bên nào.
Không liên quan lắm nhưng cùng bản: mình từng có một S+85DLC03D trong CRS318-16P-2S+ rớt link vài lần một ngày, nên mình sẽ không mặc định mọi thứ lạ trên cổng SFP đều là lỗi của module đồng.
Và nếu bạn có tính tới S+RJ10 cho cái cage đó - nó ăn điện nhiều hơn hẳn và chạy nóng, không phải thứ bạn muốn trong một máy tản nhiệt thụ động mà không có thêm luồng khí.
Máy đời cũ hơn, cùng kiểu đau đầu. Một CCR1016-12S-1S trên bản 6.45.1 với mười hai module đồng Finisar FCLF-8521-3, mà router cứ nhất quyết gọi là FCMJ-8521-3. Cả mười hai đều được nhận diện trong danh sách module, và không cái nào chịu lên link - không lên với switch Huawei, không lên cả khi cắm thẳng vào laptop.
Cái khiến mọi cổng lên được:
Tắt cả hai chiều flow control là điều quan trọng, và chu trình disable/enable cũng vậy - các module chỉ khởi tạo lại với cấu hình mới sau đó. Vẫn lưu ý như cũ là đầu xa cần được ghim cứng ở 1 Gbps full duplex, nếu không nó sẽ rớt về half.
Kết quả nửa vời, nên mình sẽ báo cáo đúng như vậy. Với auto-negotiation tắt và 1Gbps full-duplex ép cứng ở cả hai đầu, cổng đã giữ ở 1G, bộ đếm lỗi ngừng nhảy, và trò xổ số disable/enable đã chấm dứt.
Cái vẫn không hoạt động: một thiết bị 100 Mbit đời cũ mà mình cắm thẳng vào module giờ không lên link chút nào, từ cả hai phía, dù mình set kiểu gì. Với đoạn đó mình gắn thêm một switch gigabit nhỏ giữa module và thiết bị rồi thôi không vật lộn nữa. Nên uplink dùng được, nhưng mình sẽ không gọi module là đã sửa xong.