On the OpenWRT One I see that /dev/hwrng exists. But when I installed rng-tools and tried to start rngd I got:
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: Initializing available sources
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: [hwrng ]: Initialization Failed
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: [rndr ]: No HW SUPPORT
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: [rndr ]: Initialization Failed
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: Can't open any entropy source
Thu Dec 25 09:48:35 2025 daemon.err rngd[19740]: Maybe RNG device modules are not loaded
I hasten to add that I did change /etc/config/system as follows:
root@OpenWrt:~# uci set system.@rngd[0].device='/dev/hwrng'
root@OpenWrt:~# uci set system.@rngd[0].enabled=1
root@OpenWrt:~# uci commit
root@OpenWrt:~# service rngd restart
Q: "Does existence of the /dev/hwrng device node necessarily mean an hardware rng is present?"
A: No. It only means the base module for hardware rngs is loaded or built into the kernel. An actual hardware RNG driver needs to be loaded for a physically present hardware rng for it to do what you are looking for.