Add hardware arg to firmware update - fixes #26
Improve error messages
Rebase to fix commits