Fortunately it is nearly impossible to 'brick' an STM32, so whatever state your Multiprotocol module is in, it should be possible to recover it.
- Re-installing the Maple DFU device drivers
- Flashing fails with JP4IN1 in the radio
- Module stuck in DFU mode after flashing
If reading or writing your MULTI-Module fails, and the verbose output is like the example below, you need to replace the Maple DFU device driver with a different one.
Filter on vendor = 0x1eaf product = 0x0003
Opening DFU capable USB device... ID 1eaf:0003
Run-time device DFU version 0110
Found DFU: [1eaf:0003] devnum=0, cfg=1, intf=0, alt=2, name="UNDEFINED"
Claiming USB DFU Interface...
Cannot claim interface
Use the latest version of Flash Multi to update the DFU drivers.
- Download and install Flash Multi 0.4.0 or newer
- Extract the files and fun
flash-multi.exe
- Plug your MULTI-Module into the computer
- Ensure that the correct COM port is selected
- Click Advanced -> Actions -> Upgrade USB Drivers
- Follow the on screen prompts to upgrade the drivers
- Disconnect and reconnect the MULTI-Module
Use Zadig to replace the DFU drivers.
- Download and extract or install the latest version of Zadig from https://zadig.akeo.ie/
- Put the MULTI-Module into DFU mode
-
Open a Command Prompt
-
Change to the directory where you have installed or extracted Flash Multi
-
Plug your MULTI-Module in, noting the COM port which appears in Device Manager
-
Run this command, substituting
COMX
for your COM port.\tools\maple-reset.exe COMX
-
Device Manager should now show the Maple DFU device
-
- Use Zadig to replace the driver
If the module is in the radio, make sure that the radio is switched off. The JP4IN1 will only go into 'flashing mode' (i.e. BOOT0 mode) when it is powered up from the USB port.
If your module isn't working, it shows up in Device Manager as Maple DFU, and attempting to re-flash it via the native USB port fails with verbose output like this:
.\tools\dfu-util.exe -R -a 2 -d 1EAF:0003 -D "C:\Temp\Multi-STM_FTDI_INV_OPENTX-v1.2.1.67.bin"
Lost Device after reset, assuming prod_id was incremented by oneNo DFU capable USB device found
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Most likely you have flashed a non-USB enabled firmware over the USB port, making the USB port (and the module) inoperable.
Luckily, the USB bootloader always starts the module up briefly in DFU mode, and we can take advantage of that to re-flash it.
-
Download or compile the correct, USB-enabled, firmware
-
Open a Command Prompt and change to the 'tools' sub-folder in the Flash Multi folder
E.g.:
cd "C:\Program Files (x86)\FlashMulti\tools"
-
Prepare the
dfu-util.exe
flash command, but don't run it yet:dfu-util.exe -R -a 2 -d 1EAF:0003 -D "[firmware_file]"
E.g.:
dfu-util.exe -R -a 2 -d 1EAF:0003 -D "C:\Temp\Multi-STM_TXFLASH_INV_OPENTX-v1.2.1.67.bin"
-
Unplug the module
-
Plug the module in and watch the red LED - it blinks very rapidly, then blinks slightly slower, then goes out
-
Unplug the module again
-
Plug the module in and as soon as the red LED is in the second phase, hit [Enter] in the Command Prompt to run the flash command
You have about 0.5s to run the dfu-util.exe
flash command while the red LED is in the second phase.
You may need to try it a few times, but if you can hit enter in the command prompt as soon as the red LED changes to the second phase you will be able to re-flash the module and it will be back to normal. Once you've got the hang of the timing you'll be able to do it easily.
Note: dfu-util.exe
always gives this error at the end:
error resetting after download: usb_reset: could not reset device, win error: The system cannot find the file specified.
You can ignore it.