Diagnostic step 1
On router, check running RA-related daemons: ps aux | grep -E 'odhcpd|radvd' and inspect dmesg/syslog for 'failed to bind' or EMFILE errors. Increase ulimit/file-descriptor limits if EMFILE shown, then restart odhcpd/radvd.
Generated Oct 14, 2026, 9:39:02 AM
On router, check running RA-related daemons: ps aux | grep -E 'odhcpd|radvd' and inspect dmesg/syslog for 'failed to bind' or EMFILE errors. Increase ulimit/file-descriptor limits if EMFILE shown, then restart odhcpd/radvd.
Capture RA packets on LAN (tcpdump -i br-lan -s 0 -vv icmp6) and confirm each RA contains the Router Lifetime > 0 and the 'router' flag; verify M/O flags and Prefix Information options are present and have non-zero valid/preferred lifetimes.
Temporarily set router firewall to permissive for IPv6 (ip6tables -P INPUT ACCEPT; ip6tables -F) and restart odhcpd/radvd to see if clients acquire default routes — if that fixes it, tighten rules to allow ICMPv6 types 133/134/135/136.
On representative clients, check 'sysctl net.ipv6.conf.all.accept_ra' and 'net.ipv6.conf.<iface>.accept_ra' (should be 1 for typical desktops). For NetworkManager-managed interfaces, confirm it isn't configured to ignore RA-derived routes.
If the router logs show repeated socket errors or crashes, collect full logs and escalate to OpenWrt community or vendor for a possible bug/firmware update; consider upgrading to latest stable OpenWrt after testing in lab if persistent.