Hallo zusammen,
ich les den Thread schon ne ganze Weile mit und setze Raybuntu's Builds und nun auch CoreELEC schon eine Weile auf meinem Odroid C2 ein. Deswegen erstmal ein herzliches Dankeschön an alle Entwickler und alle die dazu beitragen, dass wir alle so eine tolle Software einsetzen können!
Leider habe ich ein Problem mit meiner Netzwerkschnittstelle und wollte euch gerne um euren Rat bitten:
Obwohl das Interface (eth0) mit 1 Gbps läuft (laut dmesg und ethtool wie unten gepostet; gelbe LED am Port blinkt bei Aktivität; etc.) scheint die tatsächliche Datenrate auf 100 Mbps begrenzt zu sein. Getestet habe ich das mit iperf (TCP und UDP zu einem iperf-Server im LAN) und wget (von einem Webserver im LAN ladend auf /dev/null umgeleitet). Die angezeigte/errechnete Datenrate schwankt so um die ca. 91 Mbps. Darauf gekommen bin ich, weil 4K Streams vom LAN bei der Wiedergabe stark ruckeln, was ich auf leerlaufende Puffer zurückführen konnte. Bislang habe ich nur FullHD geschaut, weswegen das kein Problem war, nun aber zum Problem wurde.
Das komische ist, dass das schon sehr lange so ist (mindestens ab Raybuntu's Leia 10) und ich das auch mit einem anderen Odroid so nachstellen kann, auch nach einer frischen Installation von CoreELEC. Auf PHY-Seite habe ich schon Kabel getauscht, den Odroid an ein anderes Switch gehängt, usw. Resultat: es werden immer offensichtlich 1 Gbps ausgehandelt, die tatsächliche Rate ist dann aber auf 100 Mbps beschränkt. Daher vermute ich eine Limitierung im OS, aber ich finde einfach nichts dazu.
Noch eine Sache: Wahrscheinlich aus Stromspargründen wird das Interface deaktiviert, wenn das über HDMI angeschlossene Gerät ausgeschaltet wird (und reaktiviert, wenn es angeschalten wird). Lässt sich das irgendwie ändern? Gibts eventuell einen Zusammenhang (Stromsparmodi) zur Beschränkung der Datenrate?
Wie ist das bei euch?
Vielen Dank schonmal!
Ein paar Konsolenoutputs:
CoreELEC:~ # dmesg | grep -i 'stmmac\|eth0'
[ 0.299071@1] libphy: stmmac: probed
[ 0.299079@1] eth0: PHY ID 001cc916 at 0 IRQ POLL (stmmac-0:00) active
[ 0.299083@1] eth0: PHY ID 001cc916 at 7 IRQ POLL (stmmac-0:07)
[ 9.514354@1] libphy: stmmac-0:00 - Link is Up - 1000/Full
[ 9.514389@1] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
CoreELEC:~ # 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
Supported FEC modes: Not reported
Advertised link modes: 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: external
Auto-negotiation: on
Supports Wake-on: ug
Wake-on: d
Current message level: 0x0000003d (61)
drv link timer ifdown ifup
Link detected: yes
CoreELEC:~ # ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 4096 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc fq_codel qlen 1000
link/ether 00:1e:06:33:c7:ab brd ff:ff:ff:ff:ff:ff
TESTS
CoreELEC:~ # time wget -O- http://centos/jellyfish-140-mbps-4k-uhd-hevc-10bit.mkv > /dev/null
Connecting to centos (192.168.178.61:80)
- 100% |************************************************************************************************************************************************************| 503M 0:00:00 ETA
real 0m 44.90s
user 0m 1.12s
sys 0m 4.95s
entspricht ca. 91 Mbps
CoreELEC:~ # /storage/.kodi/userdata/addon_data/service.system.docker/docker/overlay2/a031a9bf8b43277757f1b38b8e1d706db47a5f89013457842bb01f8b15d733ab/diff/usr/bin/iperf -c 192.168.178.61
------------------------------------------------------------
Client connecting to 192.168.178.61, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.178.50 port 54185 connected with 192.168.178.61 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 113 MBytes 94.9 Mbits/sec
UDP
CLIENT (Odroid) - UDP
CoreELEC:~ # /storage/.kodi/userdata/addon_data/service.system.docker/docker/overlay2/a031a9bf8b43277757f1b38b8e1d706db47a5f89013457842bb01f8b15d733ab/diff/usr/bin/iperf -c 192.168.178.61 -u -b 100M
------------------------------------------------------------
Client connecting to 192.168.178.61, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.178.50 port 59925 connected with 192.168.178.61 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 120 MBytes 100 Mbits/sec
[ 3] Sent 85439 datagrams
CoreELEC:~ # /storage/.kodi/userdata/addon_data/service.system.docker/docker/overlay2/a031a9bf8b43277757f1b38b8e1d706db47a5f89013457842bb01f8b15d733ab/diff/usr/bin/iperf -c 192.168.178.61 -u -b 1G
------------------------------------------------------------
Client connecting to 192.168.178.61, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.178.50 port 51569 connected with 192.168.178.61 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 959 MBytes 804 Mbits/sec
[ 3] Sent 683934 datagrams
SERVER IM LAN - UDP
[neo144@centos ~]$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.178.61 port 5001 connected with 192.168.178.50 port 59925
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.0 sec 114 MBytes 95.7 Mbits/sec 0.012 ms 2147316750/2147398233 (1e+02%) *iperf client (Odroid) mit iperf -c 192.168.178.61 -u -b 100M*
[ 4] local 192.168.178.61 port 5001 connected with 192.168.178.50 port 51569
[ 4] 0.0-10.2 sec 114 MBytes 93.5 Mbits/sec 14.933 ms 2146718695/2146800182 (1e+02%) *iperf client (Odroid) mit iperf -c 192.168.178.61 -u -b 1G*