Removing retry logic and adding a timeout

I think .5 second is a bit aggressive, in particular for a protocol that is designed to work on very slow and intermittent links. It's common to see 1 minute timeout here, we could be a more aggressive, but we will still need multiple seconds here.