If there would be an Oscar for the WORST firmware upgrade procedure (and associated drivers, documentation and general quality of software) Rikomagic should win this by a country mile !

Rikomagic MK902

Since all the information I found on the interwebs said Linux was not supported I ended up borrowing friends notebooks (as I don’t own any Windows machinery anymore). My main Toshiba Ultrabook seemed to have issues with picking up the USB from a Windows Virtual Machine). After not being able to get the absolute crap USB drivers that come with the firmware download with any of the machines (Vista & Win7_64) I was ready to throw in the towel and put the purchase of this unit (in hindsight I would not do it again anyway) down as a total waste.

I tried a last search on upgrading using Linux it turns out there was a very recent Rockchip Linux Upgrade Tool release.

Download Upgrade Tool

http://dl.radxa.com/rock/tools/linux/Linux_Upgrade_Tool_v1.16.zip

Dependencies

If you haven’t got the Android SDK or tools yet you need to install

sudo apt-get install android-tools-adb android-tools-fastboot

USB Configuration

sudo vim /etc/udev/rules.d/51-android.rules
#add the following line
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2207", MODE="0666", GROUP="plugdev"

Restart udev
sudo udevadm control --reload-rules

vim ~/.android/adb_usb.ini
#add at the end of the file
0x2207

Restart the adb server

adb kill-server
adb start-server

You should be able to test with
adb devices

The output should be like the following:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
0123456789ABCDEF recovery

Please note: for adb to recognise the device it needs to be booted in recovery mode (as per the instructions in the so-called “documentation” from Rikomagic).

Boot into recovery mode

  1. Plug in USB Male-to-Male connector into the port marked “Slave” – not the other 3 hubs
  2. Press the “Reset” button using a paper-clip or similar pointy object (I used a letter opener which at times I would have loved to use on whoever came up with the crap Windows-only drivers and wasted hours of my life I will not get back… :P )
  3. After 3-5 seconds release reset button and plug the other end of the USB Male-to-Male connector into the Ubuntu box.

Upgrading

This bit took me a little while to work out. Turns out the device was in recovery mode and for the firmware upgrade process needs to be in bootloader mode.

Boot Device in Recovery Mode

Set the device into bootloader mode with adb.

adb reboot bootloader

Testing the bootloader mode

sudo ./upgrade_tool

./upgrade_tool List of rockusb connected
DevNo=1 Vid=0x2207,Pid=0x310b,LocationID=10c Loader
Found 1 rockusb,Select input DevNo,Rescan press ,Quit press :

Run the final upgrade of the downloaded image.

sudo ./upgrade_tool uf RKM_MK902_4.4.2_20140515.img

Helpful Resources

Thanks to the respective authors !

http://wiki.radxa.com/Rock/flash_the_image#Linux
http://www.cnx-software.com/2013/11/19/how-to-flash-rockchip-rk3066-rk3188-firmware-in-linux/
http://linux-rockchip.info/mw/index.php
http://www.rockchipfirmware.com/developer-tools

NOTE: If you haven’t bought this device yet and you are thinking of it – my advise is have another look somewhere else unless you have a lot of time AND are a very patient person …..

Leo Gaggl

ict business owner specialising in mobile learning systems. interests: sustainability, internet of things, ict for development, open innovation, agriculture

This Post Has 10 Comments

  1. Dogesaurus

    Actually your abysmal upgrade experience with this Android Mini-PC is typical of all Android devices with a Rockchip SOC, at least until the appearance of this command-line tool you mentioned. A shame since Android is supposed to be Linux-based. So I’d modify your advice to include avoiding all RK-based tablets and mini-pcs unless you have a spare Windows machine lying around.

  2. Leo Gaggl

    @Dogesaurus: I would agree with you, but I didn’t want to sound too harsh in the blog …

    And now I have worked out to communicate with this unit from Linux it’s only a matter of time until I replace their Android with some *ubuntu version anyway.

  3. Kramer

    Well, that work like a charm ! I’ve unlocked bootloaders and rooted my fair share of phones and tablets without the need of a Windows machine, but that was too easy. No errors or problems whatsoever ; worked the first time around. So thanks !

    I didn’t have any “51-android.rules” file so I copy pasted from Github before adding your line. Not sure that was even necessary though…
    Also, I didn’t have any “adb_usb.ini” file either, so it only contained “0x2207” after creating it. Still worked.

    The 4.4.2 release even has a built-in system update mechanism apparently, so that’s that.

    I too still find amazing (read depressing) though how Windows is always the system of choice to do this kind of stuff especially when 1) Android is a Linux based OS and 2) it’s never been actually required ; all can be done from within an android terminal without the use of any additional hardware.

  4. Kramer

    Well that’s disappointing… It was already rooted when delivered but the 4.4 firmware update IS NOT ??? Come on Rikomagic !

  5. Gregor Oblak

    @Leo Gaggl: So if I buy android version, can it be “updated” to linux? In my country they only sell android version for 105€. If I buy linux version from china I pay +50€ VAT and customs inspetion.

  6. Leo Gaggl

    @Gregor: I am not aware of any Linux ports for this particular unit out in the wild. There seems to be similar units that run modified Ubuntu kernels. I am sure it can be done, but would require some fiddling and some binary blobs. From what I read there are issues with video acceleration on others.

  7. Alex

    Thank you Leo,

    i need a new “PC” for my HomeAutomation and that MK902 seems to be good because it is faster then a Raspberry Pi.
    After some time with google i found your blog here.
    I hope i can run linux at this device, i have no linux version here in germany. I can order, but it needs more time for the delivery.

    But with the help of your links i think i should be able to install ubuntu on the MK902. I hope it is the same as “radxa rock board”.
    Anyway i will see, maybe you now a bit more since you started this page?
    Regards

  8. Leo Gaggl

    @Alex: Unfortunately I haven’t had any time to look at this (even though I really would like to get rid of the extremely buggy RMK Android firmware). All I can suggest is to search for ‘picuntu’ – that seems to be the best way to find relevant info.

    If you manage to get it running please let me know ! Good luck !

  9. coire1

    Thank you for this upgrade guide it is really useful!
    Same as Kramer for me: no “adb_usb.ini” file, but it still worked.
    Unfortunately Wifi and Bluetooth of my RKM902 are gone (apparentely not firmware related, this is the reason for my successful upgrade)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.