Forcing port speed with 21.02 (DSA)?

I have a WRT1900ACS and a WAC104 on either end of the house that are connected together with CAT 5e. With 21.02 I replaced the Netgear firmware with OpenWrt on the WAC104 (both devices use DSA). The WRT1900ACS has been running OpenWrt for a long time.

After running for days, I was losing the connection between the devices. I would power cycle both to fix. On the third occurrence I looked a the logs.

After running for days, the WRT1900ACS would spontaneously start negotiating the link speed on the port to 100 FD and the WAC104 would negotiate 1000 FD, over and over.

I fixed this by installing ethtool, and giving the command: "ethtool -s lan2 speed 1000 duplex full autoneg on" I also added that command to the startup script /etc/rc.local on the WRT1900ACS.

Is this the correct way to set speed on a port with 21.02?

P.S. I never saw this problem when the WAC104 was running the Netgear firmware.

new code = new kernel = (new features = ) possibly new bugs

Stock FW probably runs a 10 years old Linux kernel.

Never rule out cabling issue though, so I'd really test what happens if you take one of the devices next to the other and use a new/ different/ short patch cable to connect them.,

I've thought about that, and I'll change the patch cables at some point, although the ifconfig statistics for the ports on both sides are not showing any errors at all, and that's usually how I find bad cables.

I'm still curious if my workaround is the correct approach.

I've used the same approach (ethtool) to force 100hd (fd had somehow lower speeds) as my 8 years old cat5e patch loss 1 of 8 wires connection and as a result its gigabit capability.
bottom line - use ethtool (recommended tool for any phy related changes) to force link speed and always check cables - a proper tool costs a few bucks on amazon/ebay/ali