Updated Marauder flasher to v2.6

This commit is contained in:
UberGuidoZ 2024-01-18 16:55:00 -08:00
parent ea53a3ce22
commit 611893d056
5 changed files with 265 additions and 6 deletions

Binary file not shown.

View File

@ -0,0 +1,256 @@
@echo off
setlocal enabledelayedexpansion
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
:: Basic error checks
IF NOT EXIST esptool.exe GOTO ESPERROR
set BR=921600
for /f "tokens=1" %%A in ('wmic path Win32_SerialPort get DeviceID^,PNPDeviceID^|findstr /i VID_303A') do set "_com=%%A"
if not [!_com!]==[] echo Attempting to use serial port: !_com! & GOTO CHOOSE_FW
for /f "tokens=1" %%A in ('wmic path Win32_SerialPort get DeviceID^,PNPDeviceID^|findstr /i VID_10C4') do set "_com=%%A"
if not [!_com!]==[] echo Attempting to use serial port: !_com! & GOTO WROOM
echo Cannot find ESP32-S2 DevBoard or WROOM (Marauder)!
echo For Devboard, make sure to hold BOOT when plugging in USB.
echo For WROOM, try continuing to hold the boot button through the process.
echo.
echo Otherwise, make sure drivers are installed and USB cable is good.
echo.
echo Drivers: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
GOTO ERREXIT
:CHOOSE_FW
echo.
echo Which action would you like to perform?
echo.
echo 1. Flash Marauder (no SD mod) to Devboard
echo 2. Flash Marauder (with SD mod) to Devboard
echo 3. Save Flipper Blackmagic WiFi settings
echo 4. Flash Flipper Blackmagic
echo 5. Download USB UART Drivers (Silicon Labs).
echo 6. Update Marauder BIN file (v0.13.6 included)
echo.
set choice_fw=
set /p choice_fw= Type choice and hit enter:
if '%choice_fw%'=='1' GOTO MARAUDER
if '%choice_fw%'=='2' GOTO MARAUDERSD
if '%choice_fw%'=='3' GOTO BACKUP
if '%choice_fw%'=='4' GOTO FLIPPERBM
if '%choice_fw%'=='5' GOTO DRIVERS
if '%choice_fw%'=='6' GOTO UPDATE
echo Please choose 1, or 2!
ping 127.0.0.1 -n 5
cls
GOTO CHOOSE_FW
:MARAUDER
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
set last_firmware=
for /f "tokens=1" %%F in ('dir Marauder\esp32_marauder*flipper.bin /b /o-n') do set last_firmware=%%F
IF [!last_firmware!]==[] echo Please get and copy the last firmware from ESP32Marauder's Github Releases & GOTO ERREXIT
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset erase_region 0x9000 0x6000
echo Firmware Erased, preparing write...
ping 127.0.0.1 -n 5 > NUL
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 SD\bootloader.bin 0x8000 SD\partitions.bin 0x10000 SD\!last_firmware!
GOTO DONE
:MARAUDERSD
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
set last_firmware=
for /f "tokens=1" %%F in ('dir SD\esp32_marauder*flipper_sd_serial.bin /b /o-n') do set last_firmware=%%F
IF [!last_firmware!]==[] echo Please get and copy the last firmware from ESP32Marauder's Github Releases & GOTO ERREXIT
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset erase_region 0x9000 0x6000
echo Firmware Erased, preparing write...
ping 127.0.0.1 -n 5 > NUL
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 Marauder\bootloader.bin 0x8000 Marauder\partitions.bin 0x10000 Marauder\!last_firmware!
GOTO DONE
:BACKUP
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
echo Saving Flipper Blackmagic WiFi Settings to "FlipperBlackmagic\nvs.bin"
esptool.exe -p !_com! -b %BR% -c esp32s2 -a no_reset read_flash 0x9000 0x6000 FlipperBlackmagic\nvs.bin
GOTO DONE
:FLIPPERBM
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
IF EXIST FlipperBlackmagic\nvs.bin (
echo Flashing Flipper Blackmagic with WiFi Settings restore
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 FlipperBlackmagic\bootloader.bin 0x8000 FlipperBlackmagic\partition-table.bin 0x9000 FlipperBlackmagic\nvs.bin 0x10000 FlipperBlackmagic\blackmagic.bin
) ELSE (
echo Flashing Flipper Blackmagic without WiFi Settings restore
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset erase_region 0x9000 0x6000
echo Firmware Erased, preparing write...
ping 127.0.0.1 -n 5 > NUL
esptool.exe -p !_com! -b %BR% -c esp32s2 --before default_reset -a no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 FlipperBlackmagic\bootloader.bin 0x8000 FlipperBlackmagic\partition-table.bin 0x10000 FlipperBlackmagic\blackmagic.bin
)
GOTO DONE
:WROOM
echo.
echo Which action would you like to perform?
echo.
echo 1. Flash Marauder WROOM (including older v4 OEM).
echo 2. Update Marauder BIN file (v0.13.3 included).
echo 3. Download USB UART Drivers (Silicon Labs).
echo.
set choice=
set /p choice= Type choice and hit enter:
if '%choice%'=='1' GOTO WRMARAUDER
if '%choice%'=='2' GOTO WRUPDATE
if '%choice%'=='3' GOTO DRIVERS
echo Please choose 1, 2, or 3!
ping 127.0.0.1 -n 5
cls
GOTO CHOOSE
:WRMARAUDER
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
set last_firmware=
for /f "tokens=1" %%F in ('dir WROOM\esp32_marauder*_old_hardware.bin /b /o-n') do set last_firmware=%%F
IF [!last_firmware!]==[] echo Please get and copy the last firmware from ESP32Marauder's Github Releases & GOTO ERREXIT
esptool.exe -p !_com! -b %BR% -c esp32 --before default_reset -a no_reset erase_region 0x9000 0x6000
echo Firmware Erased, preparing write...
ping 127.0.0.1 -n 3 > NUL
esptool.exe -p !_com! -b %BR% --before default_reset -a hard_reset -c esp32 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x1000 WROOM\bootloader.bin 0x8000 WROOM\partitions.bin 0x10000 WROOM\!last_firmware! 0xE000 WROOM\boot_app.bin
GOTO WRDONE
:WRUPDATE
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
echo Please download OLD_HARDWARE.BIN file to WROOM folder, delete any other BIN files, and rerun Flasher.
echo.
echo Press any key to open Marauder download location in default browser...
pause>NUL
start https://github.com/justcallmekoko/ESP32Marauder/releases/latest
GOTO ERREXIT
:DRIVERS
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
echo Please download and install the correct drivers and rerun Flasher.
echo.
echo Press any key to open driver download location in default browser...
pause>NUL
start https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
GOTO ERREXIT
:UPDATE
cls
echo.
echo #########################################
echo # Marauder Flasher Script v2.60 #
echo # By UberGuidoZ, original by Frog #
echo # Tweaked by ImprovingRigmarole #
echo # WROOM inspired by SkeletonMan #
echo #########################################
echo.
echo Please download the correct flipper BIN file to Marauder or SD folder,
echo delete any other BIN files, and rerun Flasher...
echo.
echo Press any key to open Marauder download location in default browser...
pause>NUL
start https://github.com/justcallmekoko/ESP32Marauder/releases/latest
GOTO ERREXIT
:DONE
echo.
echo -------------------------------------------------------------------------------------------
echo Process has completed! Please disconnect your Devboard and connect it to your Flipper Zero.
echo -------------------------------------------------------------------------------------------
echo.
echo ==========================================================================
echo ERRORS ABOVE MAY BE NORMAL - Please ignore them for now and give it a try.
echo ==========================================================================
echo.
echo (You may now close this window or press any key to exit.)
pause>nul
exit
:WRDONE
echo.
echo ---------------------------------------------------------------
echo Process has completed. Device may reboot to finish the update.
echo Otherwise, disconnect the device and plug it into your Flipper!
echo ---------------------------------------------------------------
echo.
echo ==========================================================================
echo ERRORS ABOVE MAY BE NORMAL - Please ignore them for now and give it a try.
echo ==========================================================================
echo.
echo (You may now close this window or press any key to exit.)
pause>nul
exit
:ESPERROR
echo esptool.exe is missing. Please download and extract the full package.
GOTO ERREXIT
:ERREXIT
echo.
echo (You may now close this window or press any key to exit.)
pause>nul
exit

View File

@ -18,21 +18,24 @@ Flasher includes auto-detection and BINs for Flipper devboard, ESP32-WROOM, and
## Now it's as easy as 1, 2, 3 to install or update Marauder on Windows. ## Now it's as easy as 1, 2, 3 to install or update Marauder on Windows.
1. Download and extract [the ZIP file](https://github.com/UberGuidoZ/Flipper/raw/main/Wifi_DevBoard/FZ_Marauder_Flasher/FZ_Marauder_v2.5.zip) above to the same directory.<br> 1. Download and extract [the ZIP file](https://github.com/UberGuidoZ/Flipper/raw/main/Wifi_DevBoard/FZ_Marauder_Flasher/FZ_Marauder_v2.6.zip) above to the same directory.<br>
2. Hold `BOOT` on the devboard and plug it into your PC directly via USB.<br> 2. Hold `BOOT` on the devboard and plug it into your PC directly via USB.<br>
3. Double-click `flash.bat` from the extracted files then choose `Flash` or `Update`. 3. Double-click `flash.bat` from the extracted files then choose `Flash` or `Update`.
* If you choose `Flash Marauder` the script will locate your board and flash Marauder automatically!<br> * If you choose `Flash Marauder (no SD mod)` the script will locate your board and flash Marauder automatically!<br>
* If you choose `Update Marauder` you'll be taken to the Marauder download location to grab a new version.<br> * If you choose `Flash Marauder (with SD mod)` the script will locate your board with an SD mod and flash Marauder automatically!<br>
(Simply download the Flipper BIN file, stick it in the Marauder subfolder by the batch file, and delete the old BIN.)<br>
* If you choose `Save Flipper Blackmagic WiFi settings` your current Blackmagic configuration will be saved.<br> * If you choose `Save Flipper Blackmagic WiFi settings` your current Blackmagic configuration will be saved.<br>
* If you choose `Flash Flipper Blackmagic` the script will flash the updated v0.1.1 Blackmagic firmware. * If you choose `Flash Flipper Blackmagic` the script will flash the updated v0.1.1 Blackmagic firmware.
* If you choose `Update Marauder` you'll be taken to the Marauder download location to grab a new version.<br>
(Simply download the Flipper BIN file, stick it in the Marauder subfolder by the batch file, and delete the old BIN.)<br>
Current Marauder version included in the ZIP: v0.13.20231026 (current release as of Oct 26, 2023) * If you have a WROOM device, this will be detected automatically and you'll be presented with a similar menu, but for WROOM!
Current Marauder version included in the ZIP: v0.13.20231214 (current release as of Dec 14, 2023)
**Once the install has completed, [head over here](https://github.com/UberGuidoZ/Flipper/tree/main/Wifi_DevBoard#marauder-install-information) to learn more about what Marauder can do!** **Once the install has completed, [head over here](https://github.com/UberGuidoZ/Flipper/tree/main/Wifi_DevBoard#marauder-install-information) to learn more about what Marauder can do!**
The [batch file](https://github.com/UberGuidoZ/Flipper/blob/main/Wifi_DevBoard/FZ_Marauder_Flasher/Flash-v2.5.bat) is also included above for review and to track coming changes. The [batch file](https://github.com/UberGuidoZ/Flipper/blob/main/Wifi_DevBoard/FZ_Marauder_Flasher/Flash-v2.6.bat) is also included above for review and to track coming changes.
Acknowledgements:<br> Acknowledgements:<br>
* [justcallmekoko](https://github.com/justcallmekoko/ESP32Marauder) for the AWESOME work in developing Marauder and porting it to the Flipper. * [justcallmekoko](https://github.com/justcallmekoko/ESP32Marauder) for the AWESOME work in developing Marauder and porting it to the Flipper.