Skip to main content.

14.3.29. The appWeb server hangs OR /dev/random hangs

Question:
I try to run the appWeb server, but it hangs, because read accesses to /dev/random hang forever. What's wrong?

Answer:
Your configuration of the Linux kernel does not contain drivers that feed enough entropy for /dev/random. Often mouse or keyboard drivers are used for this purpose, so on an embedded system without such devices /dev/random may not provide enough random numbers for your application.

Workaround:
As a quick workaround you can use /dev/urandom instead; i. e. try the following commands on your system:
   # cd /dev
   # rm -f random
   # ln -s urandom random

Solution:
The correct solution for the problem is of course to feed sufficient entropy into /dev/random. To do so you can modify one or more appropriate device drivers on your system; for example if you know that there is sufficient traffic on network or on a serial port than adding SA_SAMPLE_RANDOM to the 3rd argument when calling the request_irq() function in your ethernet and/or serial driver(s) will cause the inter-interrupt times to be used to build up entropy for /dev/random.
14.3.28. How can I access U-Boot environment variables in Linux? 1. Abstract 14.3.30. Swapping over NFS
Prev Home Next