ODROID-C2 mainline kernel + Openwrt router = no network

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

ODROID-C2 mainline kernel + Openwrt router = no network

Postby testingalarmc2 » Sat Jul 11, 2020 4:47 pm

I have never seen it before: a device/OS that doesn't work with an Openwrt router. It hangs for a while and then says 'can not resolve host'. The LEDs on the router flash in an irregular way, as if only one packet is being forwarded every-so-often.

It is a recent, uncustomized install. With the large majority of boots everything else works fine, no real problems (one time HDMI gave a green screen, one time the USB didn't work)

The following network combinations do work, without fail:

Connecting ODROID-C2 + 3.16 kernel to Openwrt router

Connecting ODROID-C2 + mainline kernel to ISP router

Connecting a different device running A.L.ARM (same IP etc.) to Openwrt router

Connecting ODROID-C2 + mainline kernel directly to another device (no router)

So that is why I have decided it is the ODROID-C2 + mainline kernel that is the issue. I tried a USB-ethernet adapter but that didn't work. Any suggestions?? I can't explain it.
testingalarmc2
 
Posts: 4
Joined: Sat Jul 11, 2020 4:37 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby summers » Sun Jul 12, 2020 5:59 pm

Same set up as me. It was working last time I was on the odroid. When I get a moment, I'll update the odroid, and see if I have the problem.

Has to be said, openwrt on by rooter is a tad erratic, as it used nftables, and with latest openwrt this is somewhat erratic ...
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby summers » Sun Jul 12, 2020 8:18 pm

OK, just updated my odroid-c2 and its fine. So must be a problem at your end.

Look into $this->bbcode_second_pass_code('', 'networkctl status') and things like that. Anyway more from me when I get time ...
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby testingalarmc2 » Sun Jul 12, 2020 9:28 pm

Thanks for the comparison

I updated the kernel and tried disabling IPv6 via $this->bbcode_second_pass_code('', '$ echo '1' > /proc/sys/net/ipv6/conf/eth0/disable_ipv6') but no luck, also disabled firewall

If i do $this->bbcode_second_pass_code('', '$ curl https://duckduckgo.com') and simultaneously $this->bbcode_second_pass_code('', '$ ss -tu') then, under Send-Q is `1536` and connection claims to be ESTAB, but under `Recv-Q` is 0.

Similarly: $this->bbcode_second_pass_code('', '$ curl http://8.8.8.8') then $this->bbcode_second_pass_code('', '$ ss -tu') it is stuck at SYN-SENT, `Send-Q` is 1 and `Recv-Q`is 0. So it just can't send. Same combinations as in original post still work.
testingalarmc2
 
Posts: 4
Joined: Sat Jul 11, 2020 4:37 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby summers » Mon Jul 13, 2020 8:23 am

I'd back off a bit. Check the interface is up
$this->bbcode_second_pass_code('', 'ip a')
Check what it can see
$this->bbcode_second_pass_code('', 'ip neigh')
Check how its connected
$this->bbcode_second_pass_code('', 'ip route')
Now if these are set up, ip route should show the machine at the far end of the ethernet/wifi e.g. the openwrt router. It will probably have a number 192.168.1.1. Then try pinging that machine
$this->bbcode_second_pass_code('', 'ping 192.168.1.1')
And see if you can make that basic connection. Then check your default route is set up via then.

Then working out if you are getting ip configuration via dhcp or the machine setting it up.

Better to dig in slowly like, this, so you see whats going wrong ...
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby testingalarmc2 » Mon Jul 13, 2020 7:47 pm

I'm using static routing, via systemd-networkd, with the config file having been duplicated from a working setup, at: $this->bbcode_second_pass_code('', '/etc/systemd/networkd/eth0.conf') when only triggers when link is UP and indeed it registers whenever I check with $this->bbcode_second_pass_code('', 'ip a') I block pings to router via firewall, but pings beyond router I allow to be forwarded (Openwrt config tested like this for a long time). I have also tried flushing and adding same static address/routing a bunch of times, as simply as possible, but it only seems to work with ISP router.

Interestingly I did just try $this->bbcode_second_pass_code('', 'ip neigh') for the first time ever, and, unlike on another (working) device, there was no output whatsoever. So I manually added a permanent neighbour, again duplicating from a working device.

However, no luck with networking. If pinging 64.6.65.6, LEDs on router flash the same kind of way (incoming flashes, but no flashes to WAN, as if they are not being forwarded). Note I have also tried resetting Openwrt config to default, but I suppose I could try that again.

I really think Hardkernel should've spent some time brushing up the ODROID-C2 software before releasing ODROID-C4 (surely it is offputting for previous users?). I want a Korean RPI alternative to exist but it is a struggle. They did a good job of the hardware then neglected software.

https://news.ycombinator.com/item?id=22980742
testingalarmc2
 
Posts: 4
Joined: Sat Jul 11, 2020 4:37 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby summers » Tue Jul 14, 2020 8:56 am

I think whats tricky, is you are doing two things, either of which could cause your problem:
1) Manual network configuration and routing
2) Your own firewall, with unusual configuration to hide the router
So if I were you I'd dig into both separately.

On 1) first do $this->bbcode_second_pass_code('', 'ip a
ip route') on both the odroid-c2 and openwrt router. Check that both can communicate with the other. If the configuation looks good, then temporarily disable the firewall on both, and check you can ping from one to the other. If this works your network is fine, and its a firewall problem. [e.g. if your router and odroid are on different sub nets, then you would see the problem you are having]

On firewall, your configuration is very different from mine. I have a LAN network, and a WAN connection- I give my LAN fairly free connections inside the LAN, and the ability to send what it wants to the WAN. The incoming WAN is very restrictive, only allows related and established traffic.

Now your configuration is different, it only allows forwarded traffic, and accepts very little (ssh?) on the local machine. Not quite clear to me why you want such a configuration, but thats your choice. As openwrt guess you are using iptables? I havn't used them in years, moved to nftables - which I think are easier to understand, and more powerful. Anyway if your network is OK, look carefully into the firewall.

Oh yes $this->bbcode_second_pass_code('', 'ip neigh') is mainly useful, just to know who your local machine has seen. That its empty, just says you odroid has seen no traffic from the router. So this is a clue, says your router isn't sending anything to the odroid.
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby testingalarmc2 » Sun Jul 19, 2020 5:36 pm

I decided to try one last time. Reset OpenWRT to defaults and ensured no firewall on ODROID.

But unfortunately no DHCP, after setting it in /etc/systemd/networkd/eth0.default so then I do:

$this->bbcode_second_pass_code('', '
ip a add 192.168.1.2/24 dev eth0
ip r add default via 192.168.1.1 dev eth0
ping 192.168.1.1
')

But I get only "Destination Host Unreachable" and some LEDs flash on the router.

As in original post, this is the only device/OS combination I am having any network issues with. I know, it must be difficult to believe, since it working with your (probably different) router. And it is strange that is works with my ISP router (with static routing).

The only explanation I can think of is the same reason hotplug USB doesn't work: the mainline kernel on ODROID-C2 is just fsck'd.

Maybe Hardkernel will be able to get it together in a few years on the ODROID-C4 or maybe it'll be more of the same...
testingalarmc2
 
Posts: 4
Joined: Sat Jul 11, 2020 4:37 pm

Re: ODROID-C2 mainline kernel + Openwrt router = no network

Postby summers » Mon Jul 20, 2020 7:58 pm

Did you try the same on openwrt - what happens when it pings the odroid. Is its routing correct?

Is your ethernet cord faulty?

Either of these could have a problem, and give you your problem.
summers
 
Posts: 995
Joined: Sat Sep 06, 2014 12:56 pm


Return to ARMv8

Who is online

Users browsing this forum: No registered users and 2 guests