DHCP failing, clients lose connection

I've been struggling with this issue for some time, and I believe that it started sometime around OpenWRT 22.03, but unsure of which release I moved to. Device is WRT1900AC v1, was running 22.03.2. Now running 22.05.0-rc1, issue remains.

Symptom is that wireless clients will have a working connection, then the connection stops, IP on client is a 169.x.x.x address. Turning off wifi and back on restores this for a time. Windows laptop, iOS devices, same issue.

Thinking it was related to the wifi, I disabled the radio in the WRT1900AC and set up a separate access point for wifi, issue remained. Separate access point is not set up for DHCP, that remains with main WRT1900AC router. Wired systemswith static IPs have no issues with loss of connection.

I found some postings regarding mvebu issues which caused no further builds of 22.03, kernel 5.15 supposedly fixed these, but updating to 22.05-rc1 hasn't helped my situation and so I may be seeing a separate issue here. I'm not seeing anything unusual in the System logs on the router.

let's see your config.

Please copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall
1 Like

Requested files below.

/etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'redacted'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config device
	option name 'lan1'
	option macaddr 'redacted'

config device
	option name 'lan2'
	option macaddr 'redacted'

config device
	option name 'lan3'
	option macaddr redacted'

config device
	option name 'lan4'
	option macaddr 'redacted'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.1.2'

config device
	option name 'wan'
	option macaddr 'redacted'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'wan'
	option proto 'dhcpv6'

/etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc/soc:pcie@82000000/pci0000:00/0000:00:02.0/0000:02:00.0'
	option channel '1'
	option band '2g'
	option htmode 'HT20'
	option country 'US'
	option cell_density '0'
	option disabled '1'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option macaddr 'redacted'
	option ssid 'Home Base'
	option encryption 'psk2'
	option key 'wrighton'
	option disabled '1'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'soc/soc:pcie@82000000/pci0000:00/0000:00:03.0/0000:03:00.0'
	option channel '36'
	option band '5g'
	option htmode 'VHT80'
	option disabled '1'
	option country 'US'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'none'
	option macaddr 'redacted'

/etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

/etc/config/firewall

config defaults
	option syn_flood '1'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'REJECT'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

config rule
	option name 'Support-UDP-Traceroute'
	option src 'wan'
	option dest_port '33434:33689'
	option proto 'udp'
	option family 'ipv4'
	option target 'REJECT'
	option enabled 'false'

config include
	option path '/etc/firewall.user'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option src 'wan'
	option src_dport '80'
	option dest_port '80'
	option name 'http'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'https'
	option src 'wan'
	option src_dport '443'
	option dest_port '443'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'SMTP 25'
	option src 'wan'
	option src_dport '25'
	option dest_port '25'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Submission'
	option src 'wan'
	option src_dport '587'
	option dest_port '587'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'POP'
	option src 'wan'
	option src_dport '110'
	option dest_port '110'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'IMAP'
	option src 'wan'
	option src_dport '143'
	option dest_port '143'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'IMAPS'
	option src 'wan'
	option src_dport '993'
	option dest_ip '192.168.1.20'
	option dest_port '993'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Mail SSH'
	option src 'wan'
	option src_dport '8080'
	option dest_port '22'
	option dest_ip '192.168.1.20'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Router SSH'
	option src 'wan'
	option src_dport '82'
	option dest_ip '192.168.1.2'
	option dest_port '22'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'OpenWRT Web'
	option src 'wan'
	option src_dport '81'
	option dest_ip '192.168.1.2'
	option dest_port '80'

I've reverted back to 21.02.7, issue appears to be gone, so I'm assuming some bug crept in after that and was still present in 22.05-rc1. Will continue to monitor.

I was going to file an official bug report, but the form requires some exact output from the console for the version having the issue, and I've already wiped that install... LOL I guess if I test with rc2 (and take down the family internet again) I can do a bug report then.