Add firmware update support.
Allow hardware modes to be used again after daemon exit.
Minor fixes.