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 !
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
- Plug in USB Male-to-Male connector into the port marked “Slave” – not the other 3 hubs
- 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 )
- 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 …..
#Android Upgrade Rikomagic MK902 Android MiniPC from Ubuntu http://t.co/BQwPEfzkhc
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.
@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.
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.
Well that’s disappointing… It was already rooted when delivered but the 4.4 firmware update IS NOT ??? Come on Rikomagic !
@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.
@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.
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
@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 !
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)