Unable to negotiate 1Gbps - MikroTik CRS109-8G-1S-2HnD and Hitron CODA-4582U

I bought a new MikroTik CRS109-8G-1S-2HnD a month ago. Links speed cannot reach 1Gbps between itself and the cable modem Hitron CODA-4582U provided by my ISP. Have tried multiple cat 5/5e/6 cables, with different ports on the Hitron.

CRS109 came with RouterOS 6.45.1. Tested with 6.45.2, 6.44.5, and 6.43.16. Currently at 6.44.5.

My existing setup is a MikroTik RB750G r3, with a very old Linksys E3200 for wifi and additional ports. RB750Gr3 is connected to cable modem at negotiated 1Gbps. Speedtest.net is over 750Mbps when connected to RB750Gr3, while at 300~400Mbps when connected to Linksys E3200. ISP service SLA is 300Mbps, but I am not going to complain.

When auto-negotiation=yes, the new CRS109 cannot maintain a stable connection. Speedtest.net is less than 1Mbps (yes, a few hundred Kbps) download, and single digit Mbps upload. After some minutes, link speed drops to 100Mbps. When set to auto-negotiatiion=no and speed=1Gbps, status becomes no-link.

/interface ethernet set ether1 auto-negotiation=no speed=1Gbps
/interface ethernet monitor ether1

It’s only when turning off auto-negotiation and setting link speed at 100Mbps or 10Mbps, there is a stable connection. Speedtest.net: 100Mbps → 50~60Mbps, 10Mbps → 5~7Mbps.

/interface ethernet set ether1 auto-negotiation=no speed=100Mbps

A work around is to put a dumb switch between CRS109 and Hitron. Speedtest.net clocks 200~400Mbps depending on test server, and I am fine with such speed. But using a dumb switch is just dumb (no pun intended), the whole purpose is to replace RB750Gr3 + Linksys E3200.

Does anyone know what’s going on? Is this a defect, or mis-configuration?