Ethernet port on Raspberry Pi 3B+ not running full speed?

Using DietPi 9.9.0

Hi all,
Having a issue with the on-board ethernet on my RasPi3B+. Im only getting one flashing light when the ethernet is plugged in. Connecting to a USB ethernet gigabit adapter shows 2 flashing lights.

My (maybe bad) understanding is that 1 lite is 100Mbps and 2 is 1000Mbps?
What am I doing wrong here or isnt working correctly?
Is there a way to find out what speed the port is running by asking the Pi and not relying on the lights on the ethernet?

I have tested with cat5 & cat6 cable - both do the same (1 light on onboard Ethernet and 2 with USB).
I have cleaned the pins etc of the onboard ethernet with isopropanol etc - didnt change anything - no damage to the ports or board.

I would test running another OS to see if this is consistent however currently in use on network so pain to do this.

Thanks for any advise/answers in advance :slight_smile:

On a Raspberry Pi 3B+, the Ethernet port has a maximum speed of 300 Mbps, even though the physical Ethernet port is a Gigabit Ethernet (1000 Mbps) interface. This limitation occurs because the Ethernet port is connected via a USB 2.0 interface, which caps the actual throughput to around 300 Mbps.

Here’s how you can check the current Ethernet port speed on your Raspberry Pi 3B+:

Connect to the Raspberry Pi: Use SSH or a terminal directly on the Pi.
Check the Ethernet Speed: Use the following command to check the Ethernet link speed:

ethtool eth0

Look for the Speed: line in the output. This will indicate the current link speed, e.g., 100Mb/s or 1000Mb/s.Note: Although the link speed might show 1000Mb/s, the actual throughput will be limited to ~300 Mbps due to the USB 2.0 interface.

Thanks for the reply and great detail.

Please see the output below

Settings for eth0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/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
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Half
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: pumbag
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Looks like it is in half duplex mode (I guess this is why only one light vs two?). Is this correct? Thought that it was full duplex?
My USB adapter is advertised as full duplex - hence the two lights?

For best speeds am I best using the onboard or USB ethernet do we think? Assuming the integrated port isn’t full duplex, I would assume USB?

If both are full Duplex, which should I get best speeds from? Or would best speeds come from 5Ghz if the USB 2.0 is the bottle neck?

Thanks again

I don’t think there is a notable difference between WiFi and ethernet.The Pi 3B+ supports 802.11ac Wi-Fi, which can theoretically achieve speeds of up to 433 Mbps on the 5GHz band. Speeds typically range between 200–250 Mbps, depending on signal strength, interference, and distance from the router.
Ethernet is generally preferred for stability and consistent speeds, especially for tasks like streaming or large file transfers.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.