Vero 4K+ Only 100Mbps via Ethernet

Setting up a new Vero4K+ and the first thing I noticed was my switch reporting a 100Mbps connection, not Gigabit. The Vero4K+ is connected via Cat6 to a UniFi 8 switch which provides a 1000Mbps connection to several other devices (Nvidia Shield TV, Xbox One X, Intel NUC). I loaded iperf and ran two quick tests, both of which seem to confirm that the Vero4K+ is only operating at 100Mbps (see below). Any thoughts on what the issue may be?

  osmc@osmc:~$ iperf3 -R -c 192.168.1.27
    Connecting to host 192.168.1.27, port 5201
    Reverse mode, remote host 192.168.1.27 is sending
    [  4] local 192.168.1.101 port 40918 connected to 192.168.1.27 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  8.53 MBytes  71.6 Mbits/sec                  
    [  4]   1.00-2.01   sec  11.3 MBytes  94.1 Mbits/sec                  
    [  4]   2.01-3.00   sec  11.1 MBytes  94.1 Mbits/sec                  
    [  4]   3.00-4.00   sec  11.2 MBytes  94.2 Mbits/sec                  
    [  4]   4.00-5.00   sec  11.2 MBytes  94.2 Mbits/sec                  
    [  4]   5.00-6.00   sec  11.2 MBytes  94.1 Mbits/sec                  
    [  4]   6.00-7.00   sec  11.2 MBytes  94.1 Mbits/sec                  
    [  4]   7.00-8.00   sec  11.2 MBytes  94.2 Mbits/sec                  
    [  4]   8.00-9.00   sec  11.2 MBytes  94.2 Mbits/sec                  
    [  4]   9.00-10.00  sec  11.2 MBytes  94.2 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec   110 MBytes  92.3 Mbits/sec                  sender
    [  4]   0.00-10.00  sec   110 MBytes  92.1 Mbits/sec                  receiver

    iperf Done.
osmc@osmc:~$ iperf3 -u -b 100M -R -c 192.168.1.27              
Connecting to host 192.168.1.27, port 5201
Reverse mode, remote host 192.168.1.27 is sending
[  4] local 192.168.1.101 port 56900 connected to 192.168.1.27 port 5201
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-1.00   sec  3.38 MBytes  28.4 Mbits/sec  0.829 ms  1079/1512 (71%)  
[  4]   1.00-2.00   sec  3.40 MBytes  28.5 Mbits/sec  0.775 ms  1099/1534 (72%)  
[  4]   2.00-3.00   sec  3.34 MBytes  28.0 Mbits/sec  0.843 ms  1094/1522 (72%)  
[  4]   3.00-4.00   sec  3.37 MBytes  28.2 Mbits/sec  0.792 ms  1100/1531 (72%)  
[  4]   4.00-5.00   sec  3.39 MBytes  28.4 Mbits/sec  0.824 ms  1093/1527 (72%)  
[  4]   5.00-6.00   sec  3.34 MBytes  28.0 Mbits/sec  0.916 ms  1095/1522 (72%)  
[  4]   6.00-7.00   sec  3.36 MBytes  28.2 Mbits/sec  0.840 ms  1096/1526 (72%)  
[  4]   7.00-8.00   sec  3.37 MBytes  28.2 Mbits/sec  0.823 ms  1092/1523 (72%)  
[  4]   8.00-9.00   sec  3.39 MBytes  28.4 Mbits/sec  0.810 ms  1090/1524 (72%)  
[  4]   9.00-10.00  sec  3.34 MBytes  28.0 Mbits/sec  0.814 ms  1099/1526 (72%)  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-10.00  sec   119 MBytes   100 Mbits/sec  0.778 ms  10937/15251 (72%)  
[  4] Sent 15251 datagrams

iperf Done.

Check what is advertised with ethtool (need to install via sudo apt-get install ethtool)

Here’s the report from ethtool:

> osmc@osmc:~$ ethtool eth0
> Settings for eth0:
> 	Supported ports: [ TP MII ]
> 	Supported link modes:   10baseT/Half 10baseT/Full 
> 	                        100baseT/Half 100baseT/Full 
> 	                        1000baseT/Half 1000baseT/Full 
> 	Supported pause frame use: Symmetric Receive-only
> 	Supports auto-negotiation: Yes
> 	Advertised link modes:  10baseT/Half 10baseT/Full 
> 	                        100baseT/Half 100baseT/Full 
> 	                        1000baseT/Half 1000baseT/Full 
> 	Advertised pause frame use: Symmetric Receive-only
> 	Advertised auto-negotiation: Yes
> 	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
> 	                                     100baseT/Half 100baseT/Full 
> 	Link partner advertised pause frame use: No
> 	Link partner advertised auto-negotiation: Yes
> 	Speed: 100Mb/s
> 	Duplex: Full
> 	Port: MII
> 	PHYAD: 0
> 	Transceiver: external
> 	Auto-negotiation: on
> Cannot get wake-on-lan settings: Operation not permitted
> 	Current message level: 0x0000003d (61)
> 			       drv link timer ifdown ifup
> 	Link detected: yes

Somehow he switch doesn’t advertise 1000baseT. Did you try other ports?

I just noticed that too. Rebooted the switch and the link light on the switch immediately reported 1000Mbps connection. Re-ran the iperf3 tests and speeds are in the 900Mbps range. Thanks for the quick assistance!

If you see it do that again you would want to check your wiring. Where a regular dumb switch would renegotiate as soon as you plugged that thing in i’m pretty sure the unifi switches are keeping track of the link state and setting it as fixed for that MAC address until it is rebooted. It would only take a flaky connection on a single wire for that to happen.