firmware: More robut WDT handling

backported optimization by @gblargg
firmware: CRC checking of all received data

backport of optimizations by @gblargg