Skip to content

Instantly share code, notes, and snippets.

@cutrus
cutrus / miniware_p906_m01_force_upgrade.md
Last active January 2, 2026 06:57
Stupid solution to unbrick Miniware MDP-P906 and MDP-M01 that stuck in DFU mode after firmware upgrade

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:

@cutrus
cutrus / magpi.sh
Created April 10, 2019 19:09 — forked from coybit/magpi.sh
Bash script to download all issues of The MagPi.
#!/bin/bash
#
# Creates a directory named "magpi" on your home folder and all issues are downloaded there.
# It also checks if you already have some of the issues and skips them from downloading.
# Use argument: --log OFF to disable logging. It is there because I have this script on my crontab and I needed to monitor if it running properly. For enabling logging do:
# $ sudo touch /var/log/magpi.log
# $ sudo chmod 666 /var/log/magpi.log
# That's it.
#
# Command execution is:
import vapoursynth
core = vapoursynth.get_core()
if "video_in" in globals():
clip = video_in
else:
# run with vspipe
clip = core.ffms2.Source(source=in_filename)
clip=core.fmtc.bitdepth(clip, bits=32)