We’ve written several articles detailing methods to flash firmware to Rockchip devices in Windows or Linux over the years, with tools like RKAndroidTool, RkFlashKit, upgrade_tool, or the open-source rkdeveloptool utility. This is mostly useful to flash another OS or if the device does not boot, as most products will now support OTA firmware updates.
But following my review of Zidoo M6 with Android 11, I’ve now got a Linux image for the Rockchip RK3566 mini PC, so let’s revisit the firmware flashing methods in 2021. Zidoo sent me instructions for Windows, but since I’m a Ubuntu user, I flashed the firmware with the Linux tools used by Firefly. The same methods should work for the older processors such as RK3066, RK3288, and RK3399, besides the more recent Rockchip RK3566 and RK3568 processors.
How to flash Rockchip firmware in Linux
[Important update: If your device comes with both eMMC flash and SPI flash, you may want to use the Windows tool instead to avoid bricking your device. See Willy’s comment for details]
We’ll need the firmware file (update.img) and the upgrade_tool utility downloaded from the Firefly website. Then we’ll need to enter the Loader mode to flash the image.
To do so, connect the USB OTG port from the board to your PC, press the boot/recovery button from your board, mini PC, or TV box (I used a SIM card tool here), and connect the power, wait one or two seconds and release the button. The first time, I thought connecting the power adapter first, pressing the recovery button, and inserting the USB cable would work too, as I got the following output from the dmesg:
1 2 3 4 5 6 7 |
[19722.743329] usb 1-1: USB disconnect, device number 4 [19728.753590] usb 1-1: new high-speed USB device number 6 using xhci_hcd [19728.904094] usb 1-1: New USB device found, idVendor=2207, idProduct=0006, bcdDevice= 3.10 [19728.904106] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [19728.904110] usb 1-1: Product: M6 [19728.904114] usb 1-1: Manufacturer: rockchip [19728.904117] usb 1-1: SerialNumber: EA4R1B8R7J |
I thought it meant the box was properly detected, but I could not upgrade the firmware.
1 2 3 |
sudo ./upgrade_tool uf update.img Program Data in /home/jaufranc/edev/Rockchip/Linux_Upgrade_Tool_v1.59 No found any rockusb device,please plug device in! |
So it’s important to press the recovery button before powering up the device or board, and we can see it shows as a “USB download gadget”
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[20085.784286] usb 1-1: new high-speed USB device number 7 using xhci_hcd [20085.939483] usb 1-1: New USB device found, idVendor=2207, idProduct=350a, bcdDevice= 2.23 [20085.939493] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [20085.939497] usb 1-1: Product: USB download gadget [20085.939500] usb 1-1: Manufacturer: Rockchip [20085.939503] usb 1-1: SerialNumber: EA4R1B8R7J [20088.295252] usb 1-1: USB disconnect, device number 7 [20089.972159] usb 1-1: new high-speed USB device number 8 using xhci_hcd [20090.124739] usb 1-1: New USB device found, idVendor=2207, idProduct=350a, bcdDevice= 2.23 [20090.124750] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [20090.124754] usb 1-1: Product: USB download gadget [20090.124758] usb 1-1: Manufacturer: Rockchip [20090.124760] usb 1-1: SerialNumber: EA4R1B8R7J |
In this mode, I had no trouble to flash the board:
1 2 3 4 5 6 |
sudo ./upgrade_tool uf update.img Program Data in /home/jaufranc/edev/Rockchip/Linux_Upgrade_Tool_v1.59 Loading firmware... Support Type:RK3568 FW Ver:1.0.00 FW Time:2021-08-11 19:27:19 Loader ver:1.01 Loader Time:2021-08-11 19:25:04 Upgrade firmware ok. |
Connecting the mini PC is a TV confirmed everything worked as planned.
The Android 11 firmware was replaced by a Linux image with Qt. It’s basically the same method as in previous years, and it works without too many difficulties for me.
Rockchip firmware update in Windows
I have not personally tried the Windows version, but I’ll share the method Zidoo provided me in a Word file. Updating firmware on Rockchip hardware in Windows requires a bit more effort than the Linux method with driver installation and a graphical utility to perform the firmware update. You can download both on Mega in a single ZIP file called M6 Flash Tool.zip.
The latest version of USB DriverAssitant can be found in the ZIP file in /Flash Tool/PC Drive/DriverAssitant_v5.1.1.zip, while FactoryTool.exe is located in /Flash Tool/Flash Tool/FactoryTool_1.72.4. Extract DriverAssitant and run DriveInstall.exe executable to install the proper drivers.
Now extract FactoryTool run the program, optional change the language, and load the update.img image with the Firmware button on the top left corner.
Now we need to connect the Rockchip device to the computer with a USB cable (USB OTG from board to a USB port on the computer), and enter the Loader mode as per the same method detailed in the Linux section, which involves pressing the recovery button and connecting the power.
A “Loader” type device should be detected in FactoryTool, and we can now press the Run button to perform the update…

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress