• 1
  • 41
  • 42
  • 43(current)
  • 44
  • 45
  • 70
v19 LibreELEC Testbuilds for x86_64 (Kodi 19.0)
Hi @Milhouse, it's me again, still with the connection speed issue.

I did a bit of googling and it seems that linux with the newer kernels all have issues with the realtek driver r8169 for the RTL8111/RTL8168.
A common workaround seems to be to compile the older r8168 driver for your system and it seems that this resolved the issue for most.

Now I ssh'd into my kodi machine and ran "ethtool -i eth0" to see which driver is used by libreelec and sure thing, it's the r8169.

Here's the output of my ethtool:
Quote:Shiro:~ # ethtool -i eth0
driver: r8169
version:
firmware-version: rtl8168g-2_0.0.1 02/06/13
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Would it be possible to get a version with the older r8168 driver to test and see if the issue persists?
Or was that already tested and I just missed it in the thread?

Sorry to bug you again with this issue but it really starts to get annoying lately.

And again, thank you for your work with the nightly builds!
Reply
What's your speed problem ?

I ask because i had speed* download problem from Milhouse server and other problems (add-on error, graphic glitch etc)..solved with a new fresh instal

Speed Max was 400/500 Kb/s instead of 5500 ca KB/S
Reply
New LibreELEC.tv Matrix build #0122: Generic
(Supercedes previous build)

SHA256 Checksum: 145562b5b34cc56a2d6b2d57301d1b9590cd91d9f3fd6a88367c75c62b07ccd9 (Generic)

text:
# uname -a
Linux NUC 5.4.13 #1 SMP Wed Jan 22 21:05:59 GMT 2020 x86_64 GNU/Linux

# lsb_release
LibreELEC (Milhouse): devel-20200122210427-#0122-gb382f49 [Build #0122]

# Kodi version
Kodi (19.0-ALPHA1 Git:b1efb3d). Platform: Linux x86 64-bit

Based on tip of LibreELEC.tv master (b382f49, changelog) and tip of XBMC master (b1efb3d, changelog) with the following modifications: Build Highlights:
  1. Update iwlwifi-firmware and kernel-firmware
Build Details:
  1. LibreELEC.tv:
    • samba: update to samba-4.11.5 (PR:4132, 1 commit, 1 file changed)
    • scripts/pkgbuilder.py: bookend combined log with searchable tags (PR:4134, 1 commit, 2 files changed)
  2. XBMC:
    • [Estuary] Media Flags fix (PR:17235, 1 commit, 1 file changed)
  3. Additional commits/pull requests/changes not yet merged upstream:
    • Updated: [env] PR:4098 (perma): linux (Generic/Allwinner/RPi): update to linux-5.4.16
    • Updated: [env] PR:4130 (perma): add support for setting wireless regulatory domain
    • Added: [pkg] PR:23 (perma): Update firmware for 5.4.13 (iwlwifi-firmware)
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2020-01-23, 00:19)UrushibaraRuka Wrote: Would it be possible to get a version with the older r8168 driver to test and see if the issue persists?
Or was that already tested and I just missed it in the thread?

Sorry to bug you again with this issue but it really starts to get annoying lately.

And again, thank you for your work with the nightly builds!

Can you remind me what the original problem is, as your previous post on this forum is from almost a year ago (March 2019).

Is it an internet connectivity issue? That's generally out of my control, and could be any number of things between your PC and the remote server (your network cabling, switches, your router/gateway, your ISP, proxy or peering issues etc.).

Test your PC using iperf3 (available in the LibreELEC network-tools add-on - you'll need to find a suitable iperf3 binary to run on another - "server" - PC in your network) as that will confirm if the driver is working OK, at least on your LAN. For WAN issues, contact your ISP...

One time I had an "internet connection" problem with my main PC (connected to a £35 8-port Netgear gigethernet switch, which then uplinked to the ISP gateway). For most of the day I could not get better than a few Mb/s when uploading/downloading on an unlimited 1Gbs symmetric connection. After spending most of the day blaming my ISP, I eventually realised that another PC connected to the same 8-port switch had been busy all day copying large video files to a NAS (as I had told it to do!) and the cheap-arse Netgear switch could not handle the massive number of packets from both PCs (both 1000Mb/s connections). So it wasn't an ISP problem at all, or even a PC problem, but entirely a fault within my own network - my fault for buying cheap 8-port consumer-grade switches (I still need to replace them... one day!)

Another thing to check is that your PC is connected at the expected link speed, ideally this should be 1000Mb/s full duplex. Also try a different cable, different switch port, different switch, disconnect all other devices, etc.

The r8168 driver you talk about is unfortunately an out of tree module which isn't worth trying to build as there's zero chance of it being added long term even if it does work (Realtek drivers suck very, very hard), so the best option is to identify when the issue with r8169 started, as this is the preferred in-tree driver, and then maybe it can be isolated (assuming it's even a problem with the r8169 driver at all, and not something in your own network).

I have tested my r8169-based Revo3700 (booted with kernel 5.5-rc7) and it has no connectivity problems - it is downloading from the LAN and WAN at close to full speed, 100MB/s:
text:

##############################################
# LibreELEC #
# https://libreelec.tv #
##############################################

LibreELEC (Milhouse.next): devel-20200120222743-#0120x-g5c2daec (Generic.x86_64)
LibreELEC:~ # uname -a
Linux LibreELEC 5.5.0-rc7 #2 SMP Mon Jan 20 22:36:41 GMT 2020 x86_64 GNU/Linux

LibreELEC:~ # ethtool -i eth0
driver: r8169
version:
firmware-version: rtl_nic/rtl8168e-2.fw
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

LibreELEC:~ # 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: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 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/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes

LibreELEC:~ # iperf -c 192.168.0.9 -t 10 -i 1
Connecting to host 192.168.0.9, port 5201
[ 5] local 192.168.0.12 port 36302 connected to 192.168.0.9 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.01 sec 112 MBytes 928 Mbits/sec 0 505 KBytes
[ 5] 1.01-2.01 sec 110 MBytes 925 Mbits/sec 0 554 KBytes
[ 5] 2.01-3.00 sec 110 MBytes 932 Mbits/sec 0 580 KBytes
[ 5] 3.00-4.00 sec 110 MBytes 923 Mbits/sec 0 580 KBytes
[ 5] 4.00-5.00 sec 109 MBytes 911 Mbits/sec 13 211 KBytes
[ 5] 5.00-6.00 sec 110 MBytes 923 Mbits/sec 0 383 KBytes
[ 5] 6.00-7.00 sec 110 MBytes 924 Mbits/sec 0 409 KBytes
[ 5] 7.00-8.01 sec 105 MBytes 876 Mbits/sec 0 427 KBytes
[ 5] 8.01-9.00 sec 112 MBytes 949 Mbits/sec 0 433 KBytes
[ 5] 9.00-10.00 sec 110 MBytes 923 Mbits/sec 0 433 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.07 GBytes 921 Mbits/sec 13 sender
[ 5] 0.00-10.00 sec 1.07 GBytes 919 Mbits/sec receiver

iperf Done.

LibreELEC:~ # time curl -L http://milhouse.libreelec.tv/builds/mast...382f49.tar -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 234M 100 234M 0 0 99.0M 0 0:00:02 0:00:02 --:--:-- 99.0M
real 0m 2.39s
user 0m 0.49s
sys 0m 1.69s

The 234MB Generic #0122 tar file downloaded in 2.5s which is about ~99MB/s. I'm on a 1Gb/s fibre connection to my ISP, the Revo3700 is connected over Cat5 to an 8-port GigE switch uplinked to the ISP gateway. The libreelec.tv download server has a better than 3Gb/s connection.

Edit: The forum seems to have elided the download url: http://milhouse.libreelec.tv/builds/mast...382f49.tar
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2020-01-23, 03:11)Milhouse Wrote:
(2020-01-23, 00:19)UrushibaraRuka Wrote: Would it be possible to get a version with the older r8168 driver to test and see if the issue persists?
Or was that already tested and I just missed it in the thread?

Sorry to bug you again with this issue but it really starts to get annoying lately.

And again, thank you for your work with the nightly builds!

Can you remind me what the original problem is, as your previous post on this forum is from almost a year ago (March 2019).

Is it an internet connectivity issue? That's generally out of my control, and could be any number of things between your PC and the remote server (your network cabling, switches, your router/gateway, your ISP, proxy or peering issues etc.).

Test your PC using iperf3 (available in the LibreELEC network-tools add-on - you'll need to find a suitable iperf3 binary to run on another - "server" - PC in your network) as that will confirm if the driver is working OK, at least on your LAN. For WAN issues, contact your ISP...

One time I had an "internet connection" problem with my main PC (connected to a £35 8-port Netgear gigethernet switch, which then uplinked to the ISP gateway). For most of the day I could not get better than a few Mb/s when uploading/downloading on an unlimited 1Gbs symmetric connection. After spending most of the day blaming my ISP, I eventually realised that another PC connected to the same 8-port switch had been busy all day copying large video files to a NAS (as I had told it to do!) and the cheap-arse Netgear switch could not handle the massive number of packets from both PCs (both 1000Mb/s connections). So it wasn't an ISP problem at all, or even a PC problem, but entirely a fault within my own network - my fault for buying cheap 8-port consumer-grade switches (I still need to replace them... one day!)

Another thing to check is that your PC is connected at the expected link speed, ideally this should be 1000Mb/s full duplex. Also try a different cable, different switch port, different switch, disconnect all other devices, etc.

The r8168 driver you talk about is unfortunately an out of tree module which isn't worth trying to build as there's zero chance of it being added long term even if it does work (Realtek drivers suck very, very hard), so the best option is to identify when the issue with r8169 started, as this is the preferred in-tree driver, and then maybe it can be isolated (assuming it's even a problem with the r8169 driver at all, and not something in your own network).

I have tested my r8169-based Revo3700 (booted with kernel 5.5-rc7) and it has no connectivity problems - it is downloading from the LAN and WAN at close to full speed, 100MB/s:
text:

##############################################
# LibreELEC #
# https://libreelec.tv #
##############################################

LibreELEC (Milhouse.next): devel-20200120222743-#0120x-g5c2daec (Generic.x86_64)
LibreELEC:~ # uname -a
Linux LibreELEC 5.5.0-rc7 #2 SMP Mon Jan 20 22:36:41 GMT 2020 x86_64 GNU/Linux

LibreELEC:~ # ethtool -i eth0
driver: r8169
version:
firmware-version: rtl_nic/rtl8168e-2.fw
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

LibreELEC:~ # 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: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 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/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes

LibreELEC:~ # iperf -c 192.168.0.9 -t 10 -i 1
Connecting to host 192.168.0.9, port 5201
[ 5] local 192.168.0.12 port 36302 connected to 192.168.0.9 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.01 sec 112 MBytes 928 Mbits/sec 0 505 KBytes
[ 5] 1.01-2.01 sec 110 MBytes 925 Mbits/sec 0 554 KBytes
[ 5] 2.01-3.00 sec 110 MBytes 932 Mbits/sec 0 580 KBytes
[ 5] 3.00-4.00 sec 110 MBytes 923 Mbits/sec 0 580 KBytes
[ 5] 4.00-5.00 sec 109 MBytes 911 Mbits/sec 13 211 KBytes
[ 5] 5.00-6.00 sec 110 MBytes 923 Mbits/sec 0 383 KBytes
[ 5] 6.00-7.00 sec 110 MBytes 924 Mbits/sec 0 409 KBytes
[ 5] 7.00-8.01 sec 105 MBytes 876 Mbits/sec 0 427 KBytes
[ 5] 8.01-9.00 sec 112 MBytes 949 Mbits/sec 0 433 KBytes
[ 5] 9.00-10.00 sec 110 MBytes 923 Mbits/sec 0 433 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.07 GBytes 921 Mbits/sec 13 sender
[ 5] 0.00-10.00 sec 1.07 GBytes 919 Mbits/sec receiver

iperf Done.

LibreELEC:~ # time curl -L http://milhouse.libreelec.tv/builds/mast...382f49.tar -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 234M 100 234M 0 0 99.0M 0 0:00:02 0:00:02 --:--:-- 99.0M
real 0m 2.39s
user 0m 0.49s
sys 0m 1.69s

The 234MB Generic #0122 tar file downloaded in 2.5s which is about ~99MB/s. I'm on a 1Gb/s fibre connection to my ISP, the Revo3700 is connected over Cat5 to an 8-port GigE switch uplinked to the ISP gateway. The libreelec.tv download server has a better than 3Gb/s connection.

Edit: The forum seems to have elided the download url: http://milhouse.libreelec.tv/builds/mast...382f49.tar  

The issue is that my kodi machine is limited to about 5400kbps (5Mbps) on a 1Gbps network with 150Mbps to WAN. Every other machine, all 3 desktops, both laptops and both raspberries get full speed.
This limit is not only visible when I download the updates but also when I stream movies on Amazon Prime, Youtube, Twitch, WatchBox and so on.
Sometimes the connection gets dropped fully so that any movie stream get's paused for 15-30 seconds before it starts buffering or crashes back into the menu with the error that the stream was not found or something across these lines.
Samba transfers suffer the same slow connection.

The kodi machine got a new cable (Cat7 cable with RJ45 connector, so basically a slightly better Cat6) several times, I tested a different router, direct connection and with a small switch inbetween.
I also reinstalled a fresh kodi several times already and the issue still persists.

What I noticed is that you have a "rtl8168e" while mine is the "rtl8111g" (according to manufacturer site and handbook of my board). As far as I was able to google it, only the "G-Models" of the RTL8111/RTL8168 are suffering from the driver issue.

Here are my outputs for both ethtools (it is synced with 1000Mb/s Full Duplex), I'm trying to get the iperf to work and add it later on:
Quote:Shiro:~ # ethtool -i eth0
driver: r8169
version:
firmware-version: rtl8168g-2_0.0.1 02/06/13
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Shiro:~ # ethtool eth0
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 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 Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
I'm really at a loss here and I'd rather not rebuild my kodi machine with new hardware because of that.
Reply
if i'm not wrong i also have a 8168, will try this night
Reply
This is my eth dump

LibreELEC:~ # ethtool -i eth0
driver: r8169
version:
firmware-version: rtl8168g-2_0.0.1 02/06/13
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Test speed asap
Reply
gigabit is ok

c:\>iperf3 -c 192.168.2.237
Connecting to host 192.168.2.237, port 5201
[  4] local 192.168.2.38 port 1400 connected to 192.168.2.237 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   112 MBytes   935 Mbits/sec
[  4]   1.00-2.00   sec   112 MBytes   939 Mbits/sec
[  4]   2.00-3.00   sec   112 MBytes   939 Mbits/sec
[  4]   3.00-4.00   sec   113 MBytes   948 Mbits/sec
[  4]   4.00-5.00   sec   112 MBytes   937 Mbits/sec
[  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec
[  4]   6.00-7.00   sec   112 MBytes   937 Mbits/sec
[  4]   7.00-8.00   sec   112 MBytes   940 Mbits/sec
[  4]   8.00-9.00   sec   112 MBytes   939 Mbits/sec
[  4]   9.00-10.00  sec   113 MBytes   945 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver


LibreELEC:~ # uname -a
Linux LibreELEC 5.4.13 #1 SMP Wed Jan 22 21:05:59 GMT 2020 x86_64 GNU/Linux

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 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/Half 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: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
Reply
New LibreELEC.tv Matrix build #0123: Generic
(Supercedes previous build)

SHA256 Checksum: e5d0b7dafcc3762be4a79761a98b4800baebbb66c840ddd255ebead916cefae6 (Generic)

text:
# uname -a
Linux NUC 5.4.14 #1 SMP Thu Jan 23 21:48:29 GMT 2020 x86_64 GNU/Linux

# lsb_release
LibreELEC (Milhouse): devel-20200123214708-#0123-gd829752 [Build #0123]

# Kodi version
Kodi (19.0-ALPHA1 Git:1d912cc). Platform: Linux x86 64-bit

Based on tip of LibreELEC.tv master (d829752, changelog) and tip of XBMC master (1d912cc, changelog) with the following modifications: Build Highlights:
  1. LE Settings: Add custom regdom option
  2. RTL8192EU: update to RTL8192EU-83b5aff
  3. [url] skip parsing username:password@ for udp/rtp streams
Build Details:
  1. LibreELEC.tv:
    • RTL8192EU: update to RTL8192EU-83b5aff (PR:4138, 1 commit, 1 file changed)
    • open-vm-tools: update to open-vm-tools-stable-11.0.5 (PR:4123, 1 commit, 2 files changed)
  2. XBMC:
    • [macos][packaging] fix parsing device handle of a mounted dmg (PR:17245, 1 commit, 1 file changed)
    • [cmake] fix optional platform dependencies for X11 GLES (PR:17243, 1 commit, 1 file changed)
    • [cmake] fix not allowed depends check (PR:17232, 1 commit, 1 file changed)
  3. Additional commits/pull requests/changes not yet merged upstream:
    • Updated: [env] PR:4098 (perma): linux (Generic/Allwinner/RPi): update to linux-5.4.16
    • Updated: [pkg] PR:17195 (perma): [PVR] EPG Memory optimizations/Performance improvements
    • Added: [pkg] PR:147 (perma): Add custom regdom option (service.libreelec.settings)
    • Added: [pkg] PR:17222 (perma): [url] skip parsing username:password@ for udp/rtp streams
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2020-01-23, 09:15)UrushibaraRuka Wrote: The issue is that my kodi machine is limited to about 5400kbps (5Mbps) on a 1Gbps network with 150Mbps to WAN.

What kernel do you use ("uname -a")?

Older kernels are known to have problems with the rtl8111 chips. I have the rtl8111h and its a desaster. Newer kernels (>= 5.3) should be better, but I'm still on LibreELEC 9.2 and I think not all changes are backported to the 5.1 kernel, because I still have this problem (but much less frequently than with older 4.19 kernels). You can try the known workarounds (https://kodi.wiki/view/Chromebox => search for "slow ethernet performance" on the page), perhaps they still work.
KODI has an excelent caching mechanism, so most of the time it hides this problem for you. But for playback types where caching isn't implemented (LiveTV, streams) you can't ignore, how shitty those cheap realtek chips are.
Reply
@Roby77 how is your internet connectivity, watching videos, downloading tar files - presumably you don't have any issues?

@UrushibaraRuka I'm really not sure what to suggest as I don't have a fix. If this is a kernel issue with rtl8168g then you'll need to take it up with the kernel maintainers, providing them with debug logs etc. (I've not seen any logs to give any clue what error it is you are actually having) - it's not really something I can help with as I'm just the middle man. Alternatively - and I know you don't want to do this - my solution would be to drop a cheap Intel desktop PCIe NIC into the machine and hopefully that solves the problem (if not, then the Realtek driver isn't the problem). if you don't want to open up your machine then you could even use a USB-to-Ethernet NIC (a UBS2 device should get about 350Mbps, more with USB3 - either should be adequate for video playback).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2020-01-24, 17:03)Milhouse Wrote: I'm really not sure what to suggest as I don't have a fix. If this is a kernel issue with rtl8168g then you'll need to take it up with the kernel maintainers, providing them with debug logs etc. (I've not seen any logs to give any clue what error it is you are actually having) - it's not really something I can help with as I'm just the middle man. Alternatively - and I know you don't want to do this - my solution would be to drop a cheap Intel desktop PCIe NIC into the machine and hopefully that solves the problem (if not, then the Realtek driver isn't the problem). if you don't want to open up your machine then you could even use a USB-to-Ethernet NIC (a UBS2 device should get about 350Mbps, more with USB3 - either should be adequate for video playback).

@Milhouse It's not that I don't want to open my kodi machine, I'll keep the PCIe NIC in mind but I'd really like to get this issue on the ground because I found something very, very weird and I have no explanation at all.

iperf output (on build #0122):
Quote:Shiro:~ # iperf -c 192.168.178.27 -t 10 -i 1
Connecting to host 192.168.178.27, port 5201
[  5] local 192.168.178.21 port 57644 connected to 192.168.178.27 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   955 Mbits/sec    0    220 KBytes
[  5]   1.00-2.00   sec   113 MBytes   952 Mbits/sec    0    220 KBytes
[  5]   2.00-3.00   sec   113 MBytes   950 Mbits/sec    0    220 KBytes
[  5]   3.00-4.00   sec   113 MBytes   949 Mbits/sec    0    220 KBytes
[  5]   4.00-5.00   sec   113 MBytes   947 Mbits/sec    0    220 KBytes
[  5]   5.00-6.00   sec   113 MBytes   951 Mbits/sec    0    220 KBytes
[  5]   6.00-7.00   sec   113 MBytes   946 Mbits/sec    1    202 KBytes
[  5]   7.00-8.00   sec   113 MBytes   951 Mbits/sec    0    215 KBytes
[  5]   8.00-9.00   sec   113 MBytes   950 Mbits/sec    0    215 KBytes
[  5]   9.00-10.00  sec   113 MBytes   947 Mbits/sec    0    215 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.11 GBytes   950 Mbits/sec    1             sender
[  5]   0.00-10.00  sec  1.11 GBytes   949 Mbits/sec                  receiver

iperf Done.
time curl for build #0122 (on build #0122):
Quote:Shiro:~ # time curl -L http://milhouse.libreelec.tv/builds/mast...382f49.tar -o /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  234M  100  234M    0     0  18.2M      0  0:00:12  0:00:12 --:--:-- 18.4M
real    0m 12.84s
user    0m 1.79s
sys     0m 3.97s
same build #0122 download within kodi itself (on build #0122):
Image

So...what the hell is going on here?!? I really don't understand how that's even possible.
The same speed issue happens with youtube, amazon and so on. It's pretty visible when I look at the speed graph in my router.
Also transfered 1 episode of "Lost Girl" with a filesize of around 2gig at full speed, so SMB or LAN in general is fine, as is the SSD and the download in the console.
So why the hell is everything inside kodi itself so slow?
I know there's a setting to limit the bandwith but that's set to 0 or unlimited.
I'm really baffled right now.

Is there any file where the bandwith limit setting is stored? Maybe, even though I installed it fresh several times, this file/setting persists?
I don't know, grabbing straws here.

And something on the RTL8111 issue I was talking about with how the guy fixed it in his case (blacklisted the r8619, compiled the r8168 and installed that one)
https://unixblogger.com/how-to-get-your-...ted-guide/
But seeing the results in the console I doubt that's the problem.
Reply
@UrushibaraRuka 
Did you check if pcie ASPM is enabled for your rtl NIC? Seems like it may cause all sorts of weird issues.
Quote:LibreELEC:~ # lspci -vv

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
        Subsystem: ASRock Incorporation RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many))
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 20
        Region 0: I/O ports at e000
=256        Region 2: Memory at a1104000 (64-bit, non-prefetchable)
=4K        Region 4: Memory at a1100000 (64-bit, non-prefetchable)
=16K        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 01
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 10.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 4096 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via message/WAKE#
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
                Vector table: BAR=4 offset=00000000
                PBA: BAR=4 offset=00000800
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [140 v1] Virtual Channel
                Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                Arb:    Fixed- WRR32- WRR64- WRR128-
                Ctrl:   ArbSelect=Fixed
                Status: InProgress-
                VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
                        Status: NegoPending- InProgress-
        Capabilities: [160 v1] Device Serial Number 57-4a-b1-c2-85-70-00-00
        Capabilities: [170 v1] Latency Tolerance Reporting
                Max snoop latency: 3145728ns
                Max no snoop latency: 3145728ns
        Capabilities: [178 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=150us PortTPowerOnTime=150us
                L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
                           T_CommonMode=0us LTR1.2_Threshold=163840ns
                L1SubCtl2: T_PwrOn=150us
        Kernel driver in use: r8169
Reply
(2020-01-24, 22:59)smp1 Wrote: @UrushibaraRuka 
Did you check if pcie ASPM is enabled for your rtl NIC? Seems like it may cause all sorts of weird issues.

Just checked and ASPM is disabled:
Quote:Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)
        Subsystem: ASRock Incorporation RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (Motherboard (one of many))
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 35
        Region 0: I/O ports at d000 [size=256]
        Region 2: Memory at ff900000 (64-bit, non-prefetchable) [size=4K]
        Region 4: Memory at d0800000 (64-bit, prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 01
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 4096 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via message/WAKE#
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
                Vector table: BAR=4 offset=00000000
                PBA: BAR=4 offset=00000800
        Capabilities: [d0] Vital Product Data
Reply
(2020-01-24, 22:31)UrushibaraRuka Wrote: same build #0122 download within kodi itself (on build #0122):

OK, so downloading _within_ Kodi is slightly (actually, quite) different to the command line test - our Python download code might need some optimisations as that does appear to be performing significantly slower than the command line download - on an NVMe based Skylake i5 NUC the command line download (writing the tar to /storage, rather than /dev/null as before) is maxing out at 100MB/s but Kodi on the same machine only reaches 22.5MB/s. I'll investigate this later this evening and see if that can be tweaked for better performance - my suspicion right now is that the GUI updates that show the user the progress information may be quite expensive - a simple Python3 test outside of Kodi (without GUI updates) achieves 99MB/s. We do use fairly small 32KB chunks in the Kodi download so increasing the chunk size may help improve bandwidth. Need to investigate.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
  • 1
  • 41
  • 42
  • 43(current)
  • 44
  • 45
  • 70

Logout Mark Read Team Forum Stats Members Help
LibreELEC Testbuilds for x86_64 (Kodi 19.0)3