For some reason I can't upgrade my MDP-M01 and MDP-P906 devices to newest firmware (M01: v2.02 and P906: v3.01).
Using .hex files always results in an error, and using .bin files bricks the devices and leaves them stuck in DFU mode.
This issue occurs for me on both Linux and Windows.
I found that after you get an error (your .hex file gets renamed to an .err file), you can flash the internal controller with any .hex file.
The problem is the available space on the device — there is not enough room to copy the full firmware twice.
So I discovered that you can truncate the original .hex file, trigger the error, and then copy the full .hex firmware again.
For example, for my MDP-P906 with new firmware: