Here ntp fails, name resolution fails, and dhcpd fails. According to a link in the answer, a race condition is known.
In case I wasn't the only one for whom this update didn't go through properly, but rather made my network unusable, should this version better be withdrawn?
dhcpd is a usual abbreviation of a DHCP server (d=daemon).
It fails here, after having survived a bunch of updates, this time it doesn't give out IPvX addresses.
You have the 'logread' command to examine service start failures.
Your childish explanation of dhcpd was uncalled, in case of OpenWRT DHCP is served by dnsmasq along with DNS and I am quite certain they dont race.
Good to know that you know better than me, which service is actually used in OpenWRT, @brada4.
For the rest, I unfortunately have to stick to my gun: I had updated from 23.05.3 to 23.05.5; keeping the configuration; as always.
Today, I reverted to 23.05.3 with
openwrt-23.05.3-ath79-generic-engenius_eap600-squashfs-sysupgrade.bin
, likewise with keeping the configuration. I changed the NTP servers back to X.openwrt.pool.ntp.org
, rebooted once again, and everything was working properly, without any further ado.
The Openwrt-box immediately caught the correct time, dished out DHCP, and worked as name resolver.
My suggestion therefore stays put: withdraw this release!
Let’s take a look at your config just to make sure there aren’t any errors.
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
# ubus call system board
{
"kernel": "5.15.150",
"hostname": "my_host",
"system": "Atheros AR9344 rev 2",
"model": "EnGenius EAP600",
"board_name": "engenius,eap600",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.3",
"revision": "r23809-234f1a2efa",
"target": "ath79/generic",
"description": "OpenWrt 23.05.3 r23809-234f1a2efa"
}
}
# cat /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 'fda1:4618:3ed5::/48'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.100.200'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.100.1'
option broadcast '192.168.100.255'
list dns '192.168.100.1'
list dns '8.8.8.8'
# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/ahb/18100000.wmac'
option channel '36'
option band '5g'
option htmode 'HT20'
option country 'ES'
option cell_density '0'
option txpower '23'
config wifi-device 'radio1'
option type 'mac80211'
option path 'pci0000:00/0000:00:00.0'
option channel '1'
option band '2g'
option htmode 'HT20'
option cell_density '0'
option txpower '20'
config wifi-iface 'wifinet2'
option device 'radio0'
option mode 'ap'
option ssid 'my_AP'
option encryption 'psk2+ccmp'
option key 'my_pass'
option network 'lan'
config wifi-iface 'wifinet3'
option device 'radio1'
option mode 'ap'
option ssid 'my_AP
option encryption 'psk2+ccmp'
option key 'my_pass'
option network 'lan'
option wds '1'
# cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option cachesize '1000'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option localservice '1'
option ednspacket_max '1232'
list server '192.168.100.1'
list server '8.8.8.8'
option authoritative '1'
config dhcp 'lan'
option interface 'lan'
option start '101'
option limit '99'
option leasetime '12h'
option dhcpv4 'server'
list dhcp_option '3,192.168.100.1'
list dhcp_option '6,192.168.100.1,8.8.8.8'
option dynamicdhcp '0'
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'
config host
# cat /etc/config/firewall
config defaults
option syn_flood 1
option input REJECT
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 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
So far, to be honest. I haven't done anything on this device through command line settings. More 'fire and forget'; that is GUI until it did what I wanted it do.
So if you see a mistake, please inform me.
This device appears to be configured as an ap, not the main router, is that correct?
How is this device connected to the main router? Ethernet or wifi?
Is this involved in a wds extender context? If so, is it the main or remote wds device? What is the device and firmware that is used for the other side of that wds connection?
Is this device supposed to be the dhcp server for the network? (This is uncommon on an AP that is not the main router, but is obviously possible to do).
Yes, it is an AP, connected to a fibre modem via RJ45. That modem does NAT, serves as gateway, and 'resolver'. No DHCP.
There is no WDS.
Yes, it is sole DHCP, for its ability to link MAC-addresses to IP-addresses in a nice way.
It's good to know that you know everything. I don't. I just use it, like my car. I don't know all the ins and outs of its engine.
No idea how it came into it. It looks like it is wrong. I'll change it.
Would it explain the observed bahaviour? Would it not read NTP dates, dish out DHCP, resolve names if there was no second WDS AP?
So you're saying that you altered the original list of NTP servers when you had the issue - or that the list is missing from the default 23.05.5 config?
I don't understand why you say the release is faulty.
You are victim of a general flaw, the unpredictable completion sequence of the services. Services are started in certain sequence, but it is not reliable, whether a service is completely up before starting second one, which depends on the first one. Called "timing issue", causing non-deterministic system behaviour. In your case, DNS is not up, when ntp is started. Which can be (and is, obviously) different on other systems. You might introduce some custom code into /etc/init.d/ntp checking for available DNS. Of course, there might be another service (i.e. wireguard) depending upon ntps job done ...
Again, this is a general flaw, the bad consequences showing up regularly from time to time.
the time is updated only when I reboot my router, and it reboots once a day.
you can add as many time servers as you want.
I have the sysntpd service itself disabled.
That is, at startup, after 25 seconds, the sysntpd service starts
in a second there is a request to update the time
then after 10 seconds the time service stops
since there was a problem with getting an IP address from the provider when rebooting the router, I did this
( sleep 10 && /etc/init.d/network restart )
( sleep 5 && /etc/init.d/firewall restart )
( sleep 10 && /etc/init.d/sysntpd start )
( sleep 1 && ntpd -q -p time.nist.gov )
( sleep 10 && /etc/init.d/sysntpd stop )
exit 0
I have 5 time servers
there has never been a failure, the time is always updated when the router is rebooted