Network connection issues on Odroid N2+

I am running CoreELEC 20.0 on an Odroid N2+

I have been seeing a strange network connection issue that I have noticed consistently happening for about a week now. I noticed when attempting to stream videos that I was getting a lot of buffering. From sources that I use frequently and had never experienced any buffering before on my Shield TV before I switched to using my N2+ and CE. So I tried playing some of the streams on my Shield and there was no buffering. So I decided to run an internet speed test on each device and realized that the N2+ was getting much slower speeds than the Shield despite both devices being hard wired to the same router. My Shield gets consistently around 93-95mbps all the time. My internet is actually faster than that and I can get faster speeds on wifi so I believe it’s actually because my apartment only used 100mbps ethernet cables for the pre-wired connections. But it’s never been a problem, the 93-95mbps connection I get has always been enough for my purposes and I never had any buffering problems.

So it wasn’t really making sense why the connection seemed both all over the place on my N2+ and consistently slower than the Shield. So I opened up the CoreElec Configuration addon went to Network > Wired Networks > Active > and toggled Active to off for a few seconds then toggled it back on. After this I ran several more speed tests and, “Hurray!”, I was now getting around the same speeds I get on my Shield. I tried playing some streams and everything was working great again. No more buffering. Awesome.

But then I went to bed and the next night, after work, went to watch something and the buffering started again. So I ran a few speed tests again, and sure enough the connection speed had gone back down. Confused, I did the same thing as the day prior and toggled off the Active connection from the CoreElec addon and then toggled it right back on. Then immediately ran several more speed tests and sure enough, speeds were back up to the 90-95 range I expect. Okay great. So I went back to watching buffer free for the rest of the night.

But the next day it happened again! I was like okay what the heck is going on here? I followed the same steps again and this time after watching for a few hours, before going to bed, I checked the speeds again. They looked fine. But by the next day they had dropped again.

I have had this exact problem every single day now for at least a week. It’s always the same result.

  1. I check the speed
  2. See it is much slower than expected
  3. Toggle the Active connection off from the CE addon
  4. Check the speed again
  5. See it is back up to expected levels
  6. Stays like that for the rest of the night
  7. Issue repeats itself all over again the next day

Here is an output of the speed tests I ran today

First tests:

CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Victoria, BC) [13.65 km]: 6.374 ms
Testing download speed................................................................................
Download: 58.52 Mbit/s
Testing upload speed......................................................................................................
Upload: 59.89 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TELUS Mobility (Vancouver, BC) [91.31 km]: 6.75 ms
Testing download speed................................................................................
Download: 66.59 Mbit/s
Testing upload speed......................................................................................................
Upload: 89.07 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Lunavi Inc (Bellingham, WA) [83.19 km]: 15.753 ms
Testing download speed................................................................................
Download: 35.63 Mbit/s
Testing upload speed......................................................................................................
Upload: 82.10 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Victoria, BC) [13.65 km]: 5.072 ms
Testing download speed................................................................................
Download: 57.57 Mbit/s
Testing upload speed......................................................................................................
Upload: 46.02 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TELUS Mobility (Vancouver, BC) [91.31 km]: 7.909 ms
Testing download speed................................................................................
Download: 68.15 Mbit/s
Testing upload speed......................................................................................................
Upload: 87.87 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TELUS Mobility (Vancouver, BC) [91.31 km]: 6.588 ms
Testing download speed................................................................................
Download: 43.66 Mbit/s
Testing upload speed......................................................................................................
Upload: 93.49 Mbit/s

Next tests AFTER toggling Active connection off/on

CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Victoria, BC) [13.65 km]: 5.512 ms
Testing download speed................................................................................
Download: 90.78 Mbit/s
Testing upload speed......................................................................................................
Upload: 89.69 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Victoria, BC) [13.65 km]: 5.667 ms
Testing download speed................................................................................
Download: 93.55 Mbit/s
Testing upload speed......................................................................................................
Upload: 92.40 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Victoria, BC) [13.65 km]: 6.038 ms
Testing download speed................................................................................
Download: 92.52 Mbit/s
Testing upload speed......................................................................................................
Upload: 17.58 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TELUS Mobility (Vancouver, BC) [91.31 km]: 8.627 ms
Testing download speed................................................................................
Download: 93.53 Mbit/s
Testing upload speed......................................................................................................
Upload: 52.70 Mbit/s
CoreELEC:~ # curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python
Retrieving speedtest.net configuration...
Testing from TELUS (75.155.180.103)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Access Data Group Inc (Duncan, BC) [35.96 km]: 8.026 ms
Testing download speed................................................................................
Download: 93.33 Mbit/s
Testing upload speed......................................................................................................
Upload: 82.70 Mbit/s

As you can see the download speed was much faster after toggling the connection off/on. Does anyone have any idea what the heck could be going on here and what I can do to fix it?

1 Like

Maybe… try changing your ethernet cable to the box for troubleshooting first?

I guess I should have mentioned that I did try that. I swapped the ethernet cables between my N2+ and my Shield. It didn’t make a difference.

I honestly just tried it thinking, what the heck it can’t hurt, rather than really thinking it would actually solve the issue. Since toggling the connection from the software instantly solves the issue(temporarily), it seemed pretty clear to me that meant it wasn’t an issue with anything external like the cable or the router. I’d think if it were an issue with something like a cable that turning the connection on/off from the box wouldn’t fix something wrong with the cable. Which is why I didn’t think it worth mentioning it in my post. Nonetheless I did try it.

1 Like

Try clean boot from TF with latest CE
Try wireless connection-- yeah it is slower than wired and with different speed but just for troubleshooting.
If you have a USB NIC supported by CE, also try that.
Then you can narrow down if it’s software or hardware related.

What does SSH Command “ethtool eth0” show before and after you toggle the switch?

I ask because on my N2 connected to an Arcadyan (Speedport Smart 3) router I have a similar problem. After fresh boot (power off/on) my N2 connects to my, not very smart, router only with 100Mbit/s:

Link partner advertised link modes:
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full

So I have to force N2 via “autostart.sh” to get full ethernet speed:

Link partner advertised link modes:
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full

Here is the output I got before toggling while speedtests were down to around 20-35mbps

CoreELEC:~ # 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: No
	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: No
	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: 0x0000003f (63)
			       drv probe link timer ifdown ifup
	Link detected: yes

Sorry, what does TF mean? These are the boot modes my device supports.

  • eMMC : Removable (custom design by Hardkernel, eMMC 5.0)
  • Micro SD : Removable (UHS-I)
  • SPI : On-board (NOR, 8MiB)

My device doesn’t have built in wifi unfortunately. I know Hardkernel sells an adapter, but it would be awhile till I can try it out with the long international shipping times. I will try to do some research and see if there’s other supported adaptors I could try.

Wasn’t sure what this was either but google shows me it’s basically a ethernet to usb adaptor, right? I used to have one but no clue where it is after moving a bunch of times since last I saw it. I may just pick one up from Amazon and see if I can get it with quick shipping.

So tonight my little workaround of toggling my connection off/on didn’t work as reliably as it has been for the last week. I sat down to watch some tv and got buffering right away (don’t know why I even try anymore without checking my speed first, I guess I’m hoping it will magically fix itself). So I ran some speedtests and was getting around 20mbps. Ran a quick ethtool eth0 command as @Sholander suggested. Then toggled my connection. Ran some more speedtests but this time I was only getting around 85mbps. Which is much better but until now it has always gone right back up to around 93mbps. I noticed that the ping was a lot higher than normal too, like 25-30s and the speedtest tool was connecting to some server in Calgary, which is really far from my physical location in Victoria, BC. I thought maybe just some weirdness with my ISP tonight or something? So I double checked and ran a few speedtests on my Shield (hard-wired to the same router) and all those tests came in with ping around 4s, connecting to a Vancouver (much closer) server, and my normal speeds of around 93mbps. So I decided to go back to my CE box and toggle my connection again. Ran a few more tests and now it was back down to 20mpbs! What the heck? I ran at least 4 tests waiting about a minute between each test and they were all in that range. So I toggled once more, and then speeds went back to around 85mbps. Again, better but still slower than they should be and still using a server in Calgary for some reason.

Just wanted to update as this was a little change from what has been happening over the last week.

In the process of looking into wifi adaptors and usb ethernet adaptors now.

Well, this looks OK to me, a completely different situation than mine…, don’t know what can cause this slow speeds, except maybe some hardware fault on your N2…
Although you get 1000Mb/s speed reported when CE is running do you have green LED lit on ethernet port?

hi!

i also noticed that network speed in ce 20.0 is slower than in 19.5 final. i also experienced visible buffering and the starting of playback seems to take quite a bit longer than usual. i remember that i had a similar problem in 19.5 rc3, which was discussed by someone else in the feedback thread for rc3, but was reported as resolved in this answer here. it had something to do with a dtb.img file. so just to be sure…is it possible that this fix didn’t make its way into 20.0?

my ethtool output looks as follows:

CoreELEC (official): 20.0-Nexus (Amlogic-ng.arm)
      Machine model: Hardkernel ODROID-N2Plus
     CoreELEC dt-id: g12b_s922x_odroid_n2plus
      Amlogic dt-id: g12b_w400_b

CoreELEC:~ # 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: No
        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: No
        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: No
        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: 0x0000003f (63)
                               drv probe link timer ifdown ifup
        Link detected: yes
CoreELEC:~ #

greetings…and sorry if this hint is wrong

Sorry, what does TF mean?

TransFlash= Micro SD : Removable (UHS-I)

Maybe with different CE version like 19.5 if you are running 20 or vice versa, this is to check if it is CE compability related, u never know.

Using USB NIC is to further determine if it is hardware related. I myself encountered a broken wired NIC on a S905L box with flutuate pings, but wifi works normally.

For more information you will need to test “older” releases if they behave stable:

Start with 19.5_rc2 if stable. If yes try 19.5_Final next, thx.
And next time include debug logs requested by CE to be able to give support:
https://wiki.coreelec.org/coreelec:ce_support

Thanks for the info, I’m going to test out 19.5 and see if the issue still occurs

Okay, will try this out and report back!

Sorry, could you explain what you want for debug logs? What exactly would I post logs of? I’m not getting any actual errors or issues that I can reproduce. I’m seeing buffering but that is explained by the slow internet connection. The reason I didn’t include any logs is because I don’t know what actions to take. Are you wanting me to turn on debug logging and run a specific command? Turn it on and run a speed test, or toggle the connection?

I gave you the link 3 times now, more I can’t do…

You must be thinking of someone else? This is the first time you have ever replied to anything I have posted and you posted 1 link to CE releases and 1 link to the troubleshooting section of the CE wiki. I have read through the entire thing and it does not answer the question I asked you.

The most important part being

Prior to posting a debug log, reboot the device and reproduce the issue.

And as I stated in my reply to you, I do not know how to reproduce the issue

So you could do more by answering my question, which would be greatly appreciated since I don’t understand what you are asking of me. The question is. What do you want me to post debug logs of?

  1. Turn on debug logging and run a specific command?
  2. Turn it on and run a speed test, or toggle the connection?
  3. Something else?

Switched to hidden until “some” usefull log info is provided…

READ WIKI

I did read the WIKI. Over and over again. And as I stated… The wiki says EXACLY this

Prior to posting a debug log, reboot the device and reproduce the issue.

And as I stated, I do not know how to reproduce the issue.

So unless you tell me what you expect me to do in order to reproduce something I do not know how to reproduce, or update the wiki so that it is explained there… then I do not know how to follow what is in the wiki.

I am a happy and appreciative user who has only been using CE for a couple of weeks now. I am thankful there are talented people building a great product like this and have already started recommending CE to many of my friends. I am just trying to get some help with your product. And I am not sure why, but it seems you are being purposely difficult.

I guess you must have missed this page which I last modified on 2022/12/06.

Being unable to reproduce the issue with a clean installation means there is no problem with CoreELEC (I really shouldn’t have to explain this, it’s a no brainer).

It is an issue though. Maybe not with CE, maybe with the device I’m running it on. That’s what I’m trying to figure out. But it’s just not something I can reproduce. Rather, I should say it’s not something I know how to reproduce in a debug log. Basically I am having issues where my network connection slows down to much lower than it should be. But I don’t know of a way to tell the logs, “Hey show how slow my internet is right now!” I have basically been SSHing into my device and running curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 20 | python. But that’s not going to show up in a debug log. So I don’t know how reproduce my issue, which I can reproduce in an SSH session, but in the context of a debug log.

Like maybe stress-ng --matrix 0 -t 1m is the answer here? But I don’t really know for sure, which is why I’m asking for some guidance. Would stress-ng --matrix 0 -t 1m be the way to go? Something else?

Thanks so much