[Update November 2016: If you don’t like USB Burning Tool or don’t have the necessary USB cable, you can flash Amlogic IMG firmware to a micro SD card instead]
In the first few years when Android TV Boxes/mini PCs started to hit the markets, in the 2012-2014 period, online firmware update was inexistent for the vast majority of the boxes, and if you wanted to update your firmware you had to use some windows tools like USB Burning Tool for Amlogic, AndroidTool for Rockchip, or PhoenixUSBPro / PhonixSuite for Allwinner platforms. All those tools have poor design, for example the window is not resizable, so it’s impossible to your an old netbook (1024×600 resolution), and then you have to install drivers which is easy, for after detection of the box may be hit and miss, and you have to follow a procedure with the right power sequence with a USB cable connected to a USB OTG port (not always properly marked) and the recovery pin hole or button. It’s taken me close to 4 hours in the past to update firmware through that method switching between USB ports and computers to find out what may be wrong… Luckily in recent years, many devices are now supporting OTA firmware updates, or an easy offline update procedure using a micro SD card or USB flash drive. That means most people should not need to torture themselves using such terrible tools and procedure, unless your TV box is somehow bricked, in which case Windows tools, or their Linux equivalent, are required.
I’ve writing about this because Rikomagic must have been nostalgic and decided not to provide OTA firmware update, and only distribute MK22 TV box firmware as an IMG file for Amlogic USB Burning Tool, both of which can be downloaded on Rikomagic download page. Even though I must have had to use such tools for nearly two years, I was naively expecting it update the firmware in a few minutes, since I used such tools extensively in the past. I was wrong, and I did managed to flash the firmware after two hours, most of it due my own mistakes, as I forgot some of the caveat, and did not read the complete instructions. So I’ll report my experience in case it can help somebody.
The first challenge was to find which one of the USB ports is the OTG one, as there are three, and no specific markings. At first, none of the ports would be detected due the wrong recovery sequence as explained, but I eventually found out it was the lonely USB port on the side, on the left of the micro SD slot and recovery pinhole.
I know that normally you need to insert a toothpick in the recovery button and apply power, before releasing the recovery button, and I did just that and could not get into recovery mode at anytime. My mistake was that I had also inserted the USB cable, and it took me a while to realize it would also power the power through USB, not enough to show anything on the TV, but enough to boot the processor, and prevent me from accessing recovery mode. So the correct procedure, is to enter recovery mode by pressing the recovery button, applying power, and a few second later release the recovery button, and only then you can insert the USB cable.
After that I fired up a Windows 7 virtual image through VirtualBox, and installed USB Burning Tool and drivers by clicking on setup_v220.127.116.11_build7.exe downloaded from Rikomagic website. The installation went smoothly, but after enabling “Amlogic” device in Virtual Box, it would report the device is not supported, so I removed the drivers and reinstalled them, and I could get “Worldcup Device” in the Device Manager.
Good, now I can start USB Burning Tool, change the language to English in the program, and the TV box is detected, so I loaded the firmware file (File->Import Image… RKM MK22_161031.img), hoping to get ready to flash the firmware, but I got another error message “Get key failed” with the mac = 0 on the right window when click on Start button… Very odd.
But I’m not the only one with the issue, and for some reasons, Amlogic decided to add a license to their factory software… Hard to understand why, but I should definitely have read the provided “MK22.MK06 Software installation intructions-161013.doc” manual, as it explicitly states to
copy the folder”license” to the path when you set by this step. For example: I set C:\Program Files (x86)\Amlogic\USB_Burning_Tool
And there’s indeed a license folder in the downloaded file from Rikomagic, so I copied the directory to C:\Program Files (x86)\Amlogic\USB_Burning_Tool, overwriting the current license directory, and started USB burning tool again. Hmm… same “get key failed” error… Should I reboot? Let’s do it, but same error again after reboot.
So I decided to uninstall everything, and start from start with the drivers and USB Burning Tool, and made sure I copied the license directory before starting USB burning tool. After which I started the program, loaded the firmware file, click on Start button, and after just under 7 minutes I had managed to flash the firmware! Woohoo!
That was a painful experience. So while there’s a case (firmware recovery) for such tools and images, end users should not be asked to install the firmware through that method. It’s complicated, and the default settings wipe out your data and apps.