The Hornet 1.1 seems to have a stability bug when doing full reset. Atheros added
a double full reset mechanism as workaround. It's using a magic to know if they already reset twice.
For uncompressed u-boot's they forgotten to remove they magic after booting normal.
The result is a single reset when doing a "warm" reset.
For factory flashing it is the easiest if we can force the
recovery process. Parse the "force" from a potential second
argument and then skip the timeout.
When pressing the reset button on boot the system will enter the
recovery mode, this is done by setting a preboot command. Inside the
preboot command we will sleep and then check if the button is still
pressed, then tftp will be used to download the image and flash it. If
something fails after the DHCP state the network console will be
enabled.
Sequence is stored in 'bootstopkey' environment variable, default
sequence is <ESC> key (\x1B).
Non-printable chars in env variable should be escaped
using (\x1F) notation. Max len of sequence 40 chars for env
variable, 20 chars for raw (unescaped) string.