XGS1210-12 B1: SerDes 6 down, no traffic on 2,5 GbE port

I'm running main on my XGS1210-12 B1 (commit 8ad5f35a90). My desktop is hooked up to port 9 (one of the 2,5 GbE ports). This evening the desktop would show a link (negotiated at 2,5 GbE), but no traffic.

Build from December 3rd. I'm also running PR #20876 but that doesn't touch any rtl930x code, so I don't think it interferes here. Mentioning it for the sake of completeness.

Dmesg shows a clock sync failure at 20:09 today, which is when the desktop booted up again (cold boot) more or less:

[Dec 3 20:31] Failed to get CPU clock: -2
[Dec 3 20:32] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004827] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004700] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004866] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004839] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004765] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[Dec 4 19:35] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004796] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004724] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[Dec 5 07:58] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004796] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004764] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[Dec 5 09:04] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004795] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004790] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[Dec 5 20:09] rtpcs_930x_sds_force_mode: SDS 6 could not sync clock
[  +0.004776] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004857] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
[  +0.004855] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!

Logread is showing multiple rtpcs_930x_setup_serdes: SerDes RX calibration failed messages, not just around 20:09 though, so it seems not specific to SDS 6.

Full logread here.

Ethtool output on desktop

Summary
Settings for eth0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
                                             2500baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Link detected: yes

Well, looks like noone's biting :slight_smile: . The 2,5 GbE port got killed again within a day after rebooting, but this time any error messages seem to have disappeared again from the log buffer. I have reverted this commit to see if the problem disappears, and so far it does look like it:

@jonasj Do you happen to use your XGS1210-12 in production with a 2,5 GbE client? Would be great if others can reproduce this. With the patch reverted, I haven't seen any issues with almost a week of uptime.

@bendavid I suppose you're on main as well? Both main and the 25.12 tree have this commit already. Can you test as well?

Anyone else with an XGS1210-12 is of course welcome to chime in.

Thanks

Not using it in production, just doing some small tests every now and then when I’m working at the SerDes stuff. 2.5Gbe works but that doesn’t help if the issue only occurs after some time.

The SerDes “error” messages should not be related. The calibration stuff always fails because rtpcs_930x_sds_check_calibration doesn’t handle 2500Base-X which the 2.5G ports use.

I’m seeing:

[   51.122748] rtpcs_930x_sds_do_rx_calibration_1 not PHY-based or SerDes, implement DAC!
...
[   51.593614] rtpcs_930x_sds_sym_err_reset unsupported phy mode
[   51.602594] rtpcs_930x_sds_sym_err_reset unsupported phy mode
[   51.609101] rtpcs_930x_sds_sym_err_get unsupported PHY-mode
[   51.616344] rtpcs_930x_sds_sym_err_get unsupported PHY-mode
[   51.622681] rtpcs_930x_setup_serdes: SerDes RX calibration failed

and the ports still work fine. It’s just that the calibration stuff hasn’t been fixed yet to handle this properly.

Thanks. I'm seeing those as well, with or without the patch;

I may try to reproduce that in the coming days but better don’t count on that.

Please open an issue for that and tag Sven (who did the commit) there, he doesn’t seem to be in the forum here. I don’t know good enough about the DSA stuff to provide helpful information here.

1 Like