I have a cheapo USB Ethernet adapter connected to Raspberry Pi Zero. When I log into my router's interface, I can see that the connection speed is 10 Mbps. However ethtool eth0
says that it's 100 Mbps full-duplex.
I've tried to disable auto-negotiation and forcefully downgrade to 10 Mbps half-duplex using this command:
sudo ethtool -s eth0 speed 10 duplex half autoneg off
but nothing changed. autoneg off
alone didn't work too.
speedtest-cli
measured download speed of 3.5 Mbps, but I guess it may be bottlenecked by RPi's low-end specs.
lsusb -t
says:
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=, Driver=dm9601, 12M
If I read this correctly it means that the card is running at USB 1.1 speeds and it's just faking being 100 Mbps?
The device identifies itself as "ICS Advent DM9601 Fast Ethernet Adapter", I think I've also seen "10/100" mentioned somewhere. Is it possible that for some reason it chose USB 1.1, but could be switched to USB 2.0 to actually use 100 Mbps?
Additional information:
iperf
over LAN measured 5 Mbps- The same adapter connected to a desktop PC has similar
speedtest-cli
results, reports as 100 Mbps but is using 12 Mbps USB link uname -r
returns4.19.93+
4.19.93+
. How do I check driver version? I've also added some more measurements. I didn't expect much from this adapter, but Fast Ethernet isn't exactly cutting edge nowadays...