Odroid C1+ networking issue

This forum is for supported devices using an ARMv7 Amlogic SoC.

Odroid C1+ networking issue

Postby sotn3m » Sun Dec 27, 2020 5:30 pm

Hi,

I was trying to bring back my odroid c1+ to life using arch. Unfortunately, I have run into strange problem and I have no further ideas on what might be wrong.
I have been following https://archlinuxarm.org/platforms/armv7/amlogic/odroid-c1 and I did only some minor changes after installation (pacman -Syu, timezone change, package installations etc.).
- ODROID uses eMMC 16GB, ethernet and default power supply - nothing else is connected.
- I was not changing anything with respect to the networking configuration. I expected DHCP to get ip/gateway/dns servers just like everything else. It seems to receive the things I expect:
$this->bbcode_second_pass_code('', '$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1e:06:10:33:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.163/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 67598sec preferred_lft 67598sec
inet6 fe80::21e:6ff:fe10:3304/64 scope link
valid_lft forever preferred_lft forever
')$this->bbcode_second_pass_code('', '$ ip route
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.163 metric 1024
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.163
192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.163 metric 1024
')$this->bbcode_second_pass_code('', '$ resolvectl
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: uplink
Fallback DNS Servers: 1.1.1.1 9.9.9.10 8.8.8.8 2606:4700:4700::1111 2620:fe::10 2001:4860:4860::8888

Link 2 (eth0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
DNS Servers: 192.168.1.1
')
- I can log into ssh, but I am experiencing frequent freezes.
- ping from computer to odroid results in ~3% packet loss.
- DNS seems to work:
$this->bbcode_second_pass_code('', '$ resolvectl query archlinuxarm.org
archlinuxarm.org: 50.116.36.110 -- link: eth0
2600:3c02::f03c:91ff:feae:a51f -- link: eth0

-- Information acquired via protocol DNS in 156.4ms.
-- Data is authenticated: no
')
- Most puzzling given above: ping from odroid to gateway (via ip address) fails (!). ping itself do not show anything, but uses 100% of the cpu.
- I have not find anything meaningful in journalctl

Does anyone have any ideas?

Thank you,
Tomek
sotn3m
 
Posts: 10
Joined: Sun Dec 02, 2012 11:35 am

Re: Odroid C1+ networking issue

Postby summers » Sun Dec 27, 2020 9:39 pm

DNSSEC possibly? Did a thread about switching this off some time ago if it is your problem https://archlinuxarm.org/forum/viewtopic.php?f=15&t=14188&start=10#p63017
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid C1+ networking issue

Postby sotn3m » Sun Dec 27, 2020 10:35 pm

Thank you very much for posting the suggestion.

Unfortunately, this does not seem to be the issue. I am already running systemd-networkd and systemd-resolved.
$this->bbcode_second_pass_code('', '$ resolvectl
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: uplink
Fallback DNS Servers: 1.1.1.1 9.9.9.10 8.8.8.8 2606:4700:4700::1111 2620:fe::10 2001:4860:4860::8888

Link 2 (eth0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.1.1
DNS Servers: 192.168.1.1
')
The way I am reading the thread, DNSSEC is turned off for me already and because of that seems unrelated.
Also, the only file under 'network' dir:
$this->bbcode_second_pass_code('', '$ cat /etc/systemd/network/eth0.network
[Match]
Name=eth0

[Network]
DHCP=yes
DNSSEC=no
')
sotn3m
 
Posts: 10
Joined: Sun Dec 02, 2012 11:35 am

Re: Odroid C1+ networking issue

Postby summers » Mon Dec 28, 2020 1:58 am

That's the only arm arch network issue I remember. Only other thing I recall similar is bringing a half duplex line at full duplex (which was printer openwrt issues).$this->bbcode_second_pass_code('', 'ethtool eth0') I'd expect the c1 to do full duplex. Broken Ethernet cable possibly?
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid C1+ networking issue

Postby sotn3m » Mon Dec 28, 2020 10:36 am

I have not thought about cable since I have taken a new one. I have changed the switch and the cable. Unfortunately, the problems persist.

$this->bbcode_second_pass_code('', '$ sudo 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
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Link detected: yes
')
I guess the above is correct.
sotn3m
 
Posts: 10
Joined: Sun Dec 02, 2012 11:35 am

Re: Odroid C1+ networking issue

Postby summers » Mon Dec 28, 2020 12:00 pm

Yes thats what I'd expect, the C1 says it can do anything almost, and has set up a full duplex 1Gb/s connection. Hopefully the same at the far end. Anyway makes it hard to diagnose the problem. Maybe try things like does a flood ping loose more than a slow ping? That would just give some understanding of the problem, and not help with a solution.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid C1+ networking issue

Postby sotn3m » Mon Dec 28, 2020 8:31 pm

Unfortunately, flood ping did not lead me to anything: sometimes the cursor does not move and sometimes I can see 6 lines of dots written until it works again.
However, I though ping "not starting" is suspicious and so I have started "strace ping". I can see this block repeated over and over again:
$this->bbcode_second_pass_code('', 'clock_gettime(CLOCK_REALTIME, {tv_sec=1609187307, tv_nsec=54814043}) = 0
getpid() = 273
getuid32() = 1001
getrandom(0xbec46750, 4, GRND_NONBLOCK) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1609187307, tv_nsec=55322042}) = 0
getpid() = 273
getuid32() = 1001
getrandom(0xbec46750, 4, GRND_NONBLOCK) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1609187307, tv_nsec=55831042}) = 0
getpid() = 273
getuid32() = 1001
getrandom(0xbec46750, 4, GRND_NONBLOCK) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1609187307, tv_nsec=56349042}) = 0
getpid() = 273
getuid32() = 1001
')

I have checked and rngd seems to be working fine (dd from /dev/random is faster (??))
sotn3m
 
Posts: 10
Joined: Sun Dec 02, 2012 11:35 am

Re: Odroid C1+ networking issue

Postby summers » Tue Dec 29, 2020 4:20 am

That $this->bbcode_second_pass_code('', 'sudo ping -f') runs at times without producing endless dots is interesting. It says at times your network is running perfectly, and with Gbs ethernet, you'll be really hammering it. So your problem is intermittent. This makes it very confusing, I have no idea what could cause that.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid C1+ networking issue

Postby sotn3m » Tue Dec 29, 2020 11:59 am

Your summary is pretty much accurate and the reason I have written in the first place. It escapes me what might be wrong. Thank you for your help summers.

Just to be clear for anyone reading it:
- ping flood described above is about pinging odroid from outside.
- the strace I have posted is the not-working ping on the odroid itself.
These might be related or not at all - I have no idea.

Well, I have one: incompatibility between old kernel and new Arch...
sotn3m
 
Posts: 10
Joined: Sun Dec 02, 2012 11:35 am

Re: Odroid C1+ networking issue

Postby summers » Tue Dec 29, 2020 1:10 pm

So remote ping to c1 works much of the time. ping sends out an ICMP packet, that is handled by the c1 kernel. So that part of the kernel is alive.

E.g. if you start a remote ping of the c1, then on the c1 type as root:
$this->bbcode_second_pass_code('', 'echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all')
The first will stop the pings being responded to, and the second will start them again.

So problem seems the user space on the odroid c1. Like some library or something is missing. This shouldn't happen on a fresh install.

Just a thought, what happens if you bring up the network manually on the c1, instructions on the arch site. I suspect bring up the ethernet interface, assign an ip address, assign routing, assign dns server. Doing pings as you can as you go along. Maybe if we can see where it fails, we'll get some idea of what is missing. From what you've said, the kernel sounds like its working correctly, but if so this means the problem is in arch - so we should be able to dig into the problem.

And you mention you are on an old kernel, I note 5.8.9 is available for the odroid-c1, why not update?
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Next

Return to Amlogic

Who is online

Users browsing this forum: No registered users and 5 guests