How to flash firmware to Rockchip devices in Windows and Linux (2021 Edition)

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.

Zidoo M6 rockchip firmware updateTo 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:


I thought it meant the box was properly detected, but I could not upgrade the firmware.


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”


In this mode, I had no trouble to flash the board:


Connecting the mini PC is a TV confirmed everything worked as planned.

Linux Qt Zidoo M6The 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.

DriverInstall.exeNow extract FactoryTool run the program, optional change the language, and load the update.img image with the Firmware button on the top left corner.

Rockchip FactoryTool

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.
FactoryTool Rockchip Loader USB device detectedA “Loader” type device should be detected in FactoryTool, and we can now press the Run button to perform the update…

FactoryTool - Rockchip flash firmware successThat’s it.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
10 Comments
oldest
newest
luka
luka
20 days ago

does this work for rk3328 too?

Adeel Hassan
20 days ago

can i flash Ubuntu lite version called lububtu on it?

willy
willy
20 days ago

Note, the procedure will vary depending on available storage. The Linux versions of the flashing utilities do not allow you to select the target device, and in my case, I bricked two Station-M2 devices by applying the exact documented procedure, just because apparently the eMMC image was sent to the NOR, which resulted in confusing the ROM code, preventing from detecting the NOR when booted from SD, thus not being able to erase it anymore. Once in this situation, even the Windows utility failed with timeouts. I could recover only one of the two by pure luck. I started to… Read more »

willy
willy
20 days ago

It was still possible to boot off micro-SD but from there there was no access to the SPI. And the image they used to provide was only in the crappy Rockchip’s proprietary format, so you couldn’t simply flash the eMMC from a valid working image. In short, in order to use the vendor’s image, you needed to open it via the stupid tools that tried to write it to the NOR, and once the machine booted to a boot-loader or kernel, these ones didn’t detect it to allow to fix it. Trying to erase it from the stupid tools would… Read more »

willy
willy
20 days ago

By the way I suspect that simply desoldering the NOR would have fixed everything but I didn’t want to hack on it before a possible RMA 🙂

Theguyuk
Theguyuk
20 days ago

The really is a need for a protected software area on today devices, a software boot to bios feature, so as to reduce bricked devices.

willy
willy
20 days ago

I agree. Ideally boot loaders ought to always be pre-loaded to ease the deployment of any other OS. That’s what EFI based firmware do, but they come with their own other set of problems 🙂

Advertisement