Just a quick clarification: the fact that a specific error code *might* match with a U00N one is purely coincidental.
The U00N errors are from the OTA updater, and we're using the factory updater here, which throws 00N errors (+/- one zero, can't remember the exact padding used).
004 indeed happens to be a checksum mismatch error

.