I was just playing around with the OpenWRT environment, and I happened to check this:
# cat /proc/sys/kernel/random/entropy_avail
0
There is no entropy in the pool for /dev/random. Sure enough, cat /dev/random hangs forever.
I thought the system used interrupts for entropy, and I also thought there was a mechanism for choosing which interrupts could be used, but apparently under Linux this is done by setting some bits in the driver code. Thus, it's not something easy to change from the command-line.
In examining /proc/interrupts, it looks like IRQ's 4 and 5 are fine sources of randomness. One of them is the ethernet, the other the radio, I assume, but I'm not sure which is which.
Unfortunately I can't think of any other sources of randomness that could be used. And maybe this is not something to be worried about, as perhaps there are no packages that use /dev/random.
In my reading, I found that some crypto experts consider network packet timings to be an insecure source of randomness, because an attacker can possibly control the packet timings and thus influence the random generator.
However, I would suggest that the vast majority of installed WRT's have very random traffic, both on the WAN and LAN side. I know that my WAN light is constantly flashing due to ARP traffic, and my LAN generates all sorts of weird activity..
Are the interrupt handlers installed in Broadcom's closed-source code, and thus can't be influenced? I'm curious if anyone else has looked into this.