add a timeout for hid_read()
try to make authenticate behave a bit better