Ethernet fails DHCP but WiFi works with AML-S905X-CC

Using a USB WiFi works but the ethernet (directly to a router) keep giving me IP 169.254.x.x indicating it’s a local connection to the router (no internet)

I tried images of Raspberry Pi Desktop, Lite, Ubuntu desktop, Ubuntu Base, none of them worked.

I tried different ethernet cables.

I powered cycle the router, and powered cycle this SBC board, none worked.

If I set the IP to be static, I could ping another device with ethernet connection to the router.

When I pinged the router I kept getting … (DUP!), a duplicate ping back.

I don’t know what else to try. Thanks in advance.

What router is it? Do you know if it has Auto-MDIX?

AML-S905X-CC does not support Auto-MDIX so you need the right cable depending on if the port is an standard port or upstream port (patch cable or crossover)

Router: TP-Link WiFi 6 AX3000. I think it has Auto-MDIX based on Googling.

I would think the router has a standard port, it is a consumer router.

I am using usual cable that works, based on the color-code, it looks like T-568B type, both ends.
Does the cable needs to be T-568B on one end and T-568A on the other end ? TIA

That is a gigabit router and the ports should have Auto-MDIX. If you can ping with a static assignment, it is likely DHCP misconfiguration. DUP means there are two devices with that IP which is probably why your not getting a proper IP from your router.

What do I need to do to get it to work ? Different cable, any link to the proper cable, do I need a crossover ?

Something on your network has the same IP as your router so the ARP table will get messed up. It’s not a board or software issue but rather a network configuration issue.

I found the problem, not that obvious. Interestingly only two out of four ethernet ports of the router work. I found out by permutation of connections ,checking every port, and found the port that works with another computer also works with Le Potato. I should have started with the port that works with another computer.

I am not sure why but it works now. Thanks.