I have a Linksys WRT3200ACM router, running 22.03.0, with a 600 mbps (symmetric) internet connection.
I can download and upload at full speed from my wired PC; however, when I plug a 100 mbps device to the router, wired downloads remain at 600 mbps, but uploads do not go faster than 100 mbps. Wireless traffic remains unaffected, and I can upload and download using a phone at full speed.
ethtool does not show anything weird, all ports on the switch are full-duplex at 1000 mpbs (except the port where the 100 mbps device is plugged, obviously).
EDIT: This does not happen with the router provided by the ISP.
There is another thread where this same type of behavior was noted...
Seems like there is something wrong with the internal switch configuration... have you tried 23.05.0-RC2? Or something earlier (like 21.02 or even pre-DSA 19.07)? Might be helpful to understand what version(s) are affected.
Yup, I ended up just buying a switch an plugging all 100BASE devices to it, and plugging the switch to the main router (x86 openwrt). I have nothing using the R8000 lan ports at this point except to connect it to the main router.
I browsed both links, thanks for pointing me there. Looks like this is a common issue, and the only solutions are to disable flow control (as @moeller0 suggested) or use an intermediary switch (as @carofe commented).
In my case, the flow control is off between the wifi AP and the 100BASE device, and on between the wifi AP and the main router, and there were pause frames in between the wifi AP and the main router when the 100BASE device was connected to the wifi AP. I have more details in the thread posted at #3