Friday, May 24, 2013

New 3.0.36+ kernel for Linux on RK3066 devices

The kernel you can find on Picuntu releases is 3.0.8-alok+, but a few weeks ago I found a 3.0.36 kernel for RK devices in github, which was released by Spanish tablet maker bq (support them if you can by buying their devices).

I soon set out to compile it for use with Linux, with some help from fellow developer Omegamoon, who is also doing a great work on OpenELEC XBMC Linux for RK devices.

Then, after adding some of the kernel fixes I've published in previous blogposts (to me the most important is the one that fixes support for 1080p monitors) as well as adding Mali 3D HW acceleration support (thanks Olegk0 for your great work!) I tested this kernel and it's more stable than the previous.

I've also noticed that an issue with USB has disappeared (on kernel 3.0.8 I experienced USB dis-/re-connects very often, which disabled USB devices for several seconds).

Please note that I am so in love with the extreme low power nature of these devices and their noiselessness that I am using my Measy U2C as a "PC stick" and work with it as much as I can (using the excellent lightweight XFCE windows manager), since you can install all the SW in the Ubuntu Software Center plus any other programs can be compiled straight away for ARM from within Picuntu itself (no need for cross-compilers).

Xubuntu on kernel 3.0.36+ running with Mali 3D on my RK3066 stick

All my code changes and fixes are publicly available in my github repositories (in this case here) but, since many people are not too comfortable compiling the kernel from sources, I've decided to release a generic 3.0.36+ image and modules+firmware so you can enjoy too this new level of stability and performance with your Linux.

You can find the 1080p kernel 3.0.36+ for RK3066 recovery image here (compressed with .7z)
and the 720p kernel 3.0.36+ for RK3066 recovery image here (compressed with .7z)
And the modules+firmware here (also .7z to be decompressed in the root folder of your Picuntu MicroSD).


My recommendation is to also install the following enhancements to your MicroSD filesystem:
- Flash support for Chromium web browser
- Mali 3D HW XF86 drivers (the above kernel includes the necessary Mali modules, but to enable them you also need these steps, except the last step of kernel compilation!)
- If you are going to use your stick as a PC, I strongly recommend adding a swap file to avoid "deadlocking" your Linux due to lack of RAM, look for "swap" here


BTW, I've enabled RK903 Wifi driver on the kernel configuration. However, I don't own a stick with the RK903, so I can't test if it works. In any case don't expect Wifi chips that didn't work with previous kernel to work with this one, since nothing has changed there, afaik.

If you find any troubles, I usually answer questions on Miniand's Linux forum, so don't hesitate to post your issues there :)



96 comments:

  1. Galland-

    I recently came across your discovery of some MT5931 source code. I grabbed an archive of your fork, how well has that been compiling against the current kernel release in 3.0.8? I bought an MK802 IIIS (also listed as MK802 IIIB, or MK802 III w/ bluetooth) which doesn't contain the truly supported Realtek chipset.

    Of course, just as picuntu-da-server.sh describes, the Linux stick is pretty useless without a wifi driver. I am reluctant to purchase a separate card.

    Looking forward to hearing more from you in the world of the MT5931. I'll try compiling it on the stick tonight either way. Let me know if I can be of any help with the Picuntu project or any of your own endeavors.

    Best,
    Aaron

    GMail account: aaronthesilber

    ReplyDelete
  2. I've smashed my head in both kernels 3.0.8 and 3.0.36 against the 3 different source codes I've found for those Mediatek chips, but they are isolated from the kernel, I'm missing the connection with the RK3066 SoC's pins.
    Truth be told, I'm not an expert, by any means, in most parts of the kernel related to making this BT+Wifi through SDIO work, so I may very well be missing something (apart from Mediatek's documentation!!!!:)

    If you look at the 3.0.36 commit history you'll see part of my struggle :)
    https://github.com/Galland/rk3x_kernel_3.0.36/commits/master

    Thank you very much for your help! :)

    ReplyDelete
  3. Could this help....

    https://www.dropbox.com/s/gepvwaqeb45ut6v/TAB%2010IS%28RK3066%2BMT5931%2BMT6622%29.pdf

    ReplyDelete
  4. I have kernel 3.0.36+ with the modules installed on a UG-802.
    I need to compile a driver for my USB-LAN adapter (HG20G9.ko).
    I downloaded the 3.0.36 source code for rk3066 in my UG802, I compiled the source code but couldn't execute the insmod command because the compiled module wasn't for kernel 3.0.36+ but for 3.0.36.

    Could you please tell me where I can find the source code for UG-802 3.0.36+ kernel ?

    Thanks in advance

    ReplyDelete
    Replies
    1. Look for the link "(in this case here)" above, where it says:

      "All my code changes and fixes are publicly available in my github repositories (in this case here)"

      Delete
  5. Hi Galland,
    thanks for putting all this RK3066 related info together!
    I installed 3.0.36+ on my UG802. This stick is equipped with RTL8188EU WiFi chip and it seems that built-in driver doesn't recognize it. I had to revert to original Picuntu RTL8188EU driver to get it working. Basically I did step 4 from this post: http://www.rikomagic.co.uk/forum/viewtopic.php?f=6&t=3299#p9313 - modified /drivers/net/wireless/Kconfig and Makefile, disabled new rtl8188eu driver and reenabled old one.

    ReplyDelete
    Replies
    1. Thank you very much for sharing this info and your fix!

      Right now I'm working on getting Linux to work on the latest kernel (one step ahead of the one in this post, and with RK3066/RK3188 support), and hope to blog about it when it works... but can't tell when, this one is difficult!

      I'll follow your indications for this wifi chip's driver! :)

      Delete
    2. Hi Galland,

      Thanks for everything. I managed to install everything but now I am facing RTL8188CUS driver issues (wifi usb dongle).

      I tried to download the driver from realtek website but can't compile at all (I am quite a newbie here).

      Is there an easy way to add the driver for this wifi chipset?
      My stick is CX-803 II (http://www.radiolocman.com/news/new.html?di=148118).

      As you'll notice, the wifi chipset for the stick is also RTL8188.

      Thanks again for the good work and for sharing!

      Jon

      Delete
    3. Hi,

      I was wondering if someone is using RTL8188cus and if it is the case, can anyone share ko file? That would be terrific ;)

      Thanks again for the great work!

      Jon

      Delete
    4. Thank you jerry.tk and thank you a lot Galland for your kernel and all your wonderfull posts !
      To enable wifi on chipsets with 8188eu, don't forget before the compiling process after commenting new drivers and uncommenting old drivers in /drivers/net/wireless/Kconfig and Makefile as stated by jerry.tk to modify your .config file and replace this line
      # CONFIG_RTL8188EU is not set
      with this one :
      CONFIG_RTL8188EU=m
      to be able to have the module compiled !

      To enable this wifi I followed http://hwswbits.blogspot.in/2013/03/compiling-picuntu-kernel-ubuntu-linux.html and made the corrections stated in this comment before launching the compiling.
      The first time I compiled the kernel and modules I couldn't find the module for my wifi chip... So I had to change the .config file and now it works !

      Delete
  6. Hi Galland,
    I wanna try this kernel on my mk808, but the wifi is not working, I got eth0 while the mac address is 0:0:0:0:0:0, any idea how to fix this?
    Thank in advance.

    ReplyDelete
    Replies
    1. I think that for the MK808 it's enough with compiling the kernel with RK901 as Wifi.

      Delete
  7. Hi Galland, thanks for this! Got 3.0.36 running on my UG802 and so far so good. I'm not using it with Picuntu though, it's fairly easy to put your own root filesystem on the MicroSD so I'm currently using Debian Wheezy.

    uname -a
    Linux ug802 3.0.36 #1 SMP PREEMPT Sat Jun 15 18:38:15 CEST 2013 armv7l GNU/Linux

    ReplyDelete
  8. I noticed that you didn't state if one needed to have their device rooted. - I have an MK809 II and haven't noticed it being mentioned in many posts, so I'm feeling a little wary of trying to root it, if I need to.

    ReplyDelete
    Replies
    1. You may need to root your device's Android in order to do a "reboot recovery" (or use an app that executes that command for you, like "Autorun Linux") to boot into Picuntu.

      Delete
  9. Hi Galland,
    Would it be possible to make VGA version of kernel available in addition to 720p & 1080p?
    Many thanks!

    ReplyDelete
  10. Can you compile this kernel for mk802 iiis?
    Thx

    ReplyDelete
    Replies
    1. You should be able to flash the above kernel in your stick. Though internal Wifi is not supported.

      Delete
    2. It doesn't boot, with ug802 kernel from http://home.g8.net/index.php/downloads it's ok.

      Delete
  11. Can somebody give kernel working with mk802 iiis w/o bluetooth with hw acceleration?

    ReplyDelete
  12. Galland please add this drivers
    https://docs.google.com/file/d/0B4NgnJBkcMWfaDJpbTBGWER3MW8/edit?usp=sharing

    ReplyDelete
  13. This comment has been removed by the author.

    ReplyDelete
  14. sorry for my english :(

    i have problem with (Motorola)-Lapdock Resolution (and Lapdock hangs on boot), can you help? omegamoon "Black Screen" fix(?) for Android kernel, this works, but i do not know how i do this in kernel 3.0.36 for picuntu? see: "video: Fix 'Black screen'/'No signal' problem" : https://github.com/omegamoon/rockchip-rk30xx-mk808

    or how i can omegamoon android Kernel compiled for picuntu? except cmdline and initrd adaptable in config., what i need more to change? i tried but it does not boot (PL330 error...) :(


    ReplyDelete
    Replies
    1. I understand you have flashed the 720p kernel (does the lapdock allow this resolution?)

      Does your stick boot this kernel when connected to an HDMI screen (not the Lapdock)?
      If no: then your stick is not supported by this kernel
      If yes: let me know

      Delete
  15. Thanks for reply ...

    yes, i've tried 720p and 1080p kernel.
    Lapdock can 720p (orig resolution from Lapdock is 1366x768 with Atrix Smartphone)

    Stick boot with your kernel when connected to an HDMI screen, no problem....

    with Lapdock boot only when LID closed and reopened after boot...when LID open and boot, i have only 720x576p@50Hz and hangs.. :( with omegemoon kernel (for Android) i have boot 1080p with LID open, no hangs...


    ReplyDelete
    Replies
    1. Omegamoon's kernel was 3.0.8
      Rockchip may have changed the way this is handled in 3.0.36, though it looks like the Lapdock doesn't report well its capabilities (EDID info).

      Sorry that I can't be of more help, I don't have a lapdock myself

      Delete
  16. dmesg: http://pastebin.com/GaykdgEd

    ReplyDelete
  17. ok thanks.... you might know what I need to do to omegamoon (Android) kernel to compiled for picubuntu?

    ReplyDelete
  18. hi galland,
    I flashed your kernel in to mk808,find the bcm40181 wifi notwork,then I try to compiled driver by my self,and the wifi still can't run
    finally, I edit the code (see below) of confing.galland and the wifi is working now
    however,thanks for your great works and sorry about my english ^^"

    CONFIG_BCMDHD_FW_PATH="/system/etc/firmware/fw_bcmdhd.bin"
    CONFIG_BCMDHD_NVRAM_PATH="/system/etc/wifi/bcmdhd.cal"

    change to

    CONFIG_BCMDHD_FW_PATH="/lib/firmware/fw_RK901a2.bin"
    CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/nvram_RK901.txt"

    ReplyDelete
    Replies
    1. Thanks for your contribution! And glad it works now :)

      Delete
  19. yes!

    for all Lapdock users with this Kernel and picuntu! no problem at boot more!
    you do not need to open and close LID! Kernel boots directly in 720p! here is the recovery.img: https://docs.google.com/file/d/0B5rgrQkNmPhuVGwxZ1NBcFBqS2s/edit?usp=sharing

    Have fun! :)

    ReplyDelete
    Replies
    1. cool! what did you change to make it work?

      Delete
    2. thank you very much lapdock fix works great

      Delete
  20. yes!

    for all Lapdock users with this Kernel and picuntu! now with 1366x768 resolution!

    https://docs.google.com/file/d/0B5rgrQkNmPhuYVo0WnR5V3NTeG8/edit?usp=sharing



    sudo /etc/rc.local and Add only:

    fbset -rgba 8/16,8/8,8/0,8/24 -a

    see also xorg.conf
    sudo nano /etc/X11/xorg.conf
    ...
    SubSection "Display"
    Depth 24
    Modes "1366x768"
    EndSubSection

    ...

    have fun! :)


    ReplyDelete
    Replies
    1. Hey Joy,

      Will this work with a 1366x768 resolution ordinary TV monitor? To try it out, is it enough to change the /etc/rc.local and /etc/X11/xorg.conf files as above, or does your google docs kernel need to be flashed as well?

      Thanks for your post


      Delete
    2. I tried this, flashing the 1366 recovery and modifying the files, and it worked when plugged directly into the TV, nice work Joy.

      However, it actually helped me diagnose the issues with my AV unit - turns out it will only pass through a 1080p input, so I actually needed the 1080 recovery instead of the 720 I was using. Thank you Galland for putting up both versions.

      Delete
  21. Hello Galland,

    have tested several Kernels right now, from RC2.2, RC3.0 and homeio, but none of them allowed to scan wlan networks and after a couple of hours the static configured WLAN connection is broken (all very unstable).

    Would like to give your Kernel a try, since you made several patches to the MicroSD also, is there a possibility to get a dump of your working MicroSD?

    Best wishes,

    Mark

    ReplyDelete
    Replies
    1. Actually the kernel is, more exactly, what you flash into recovery, whereas the MicroSD contents are the OS files (Picuntu == Xubuntu).
      Wlan issues are driver related, so that's a kernel thing, or, more likely, the stick's wifi is low quality (as happens to most of us)

      Delete
    2. Kernel compilation and flashing to kernel and/or recovery space works fine - I am using MK808 (not b). Problem occurs during bootup, it stops with ureadahead termination. After putting files from different sources into /lib folder it finally booted - then the rgba and wlan issue appeared so I tweaked some kernel config, e.g. 720p, RK901 and switching to fw_RK901a2.bin. But actually fw_RK901a2.bin is not available, any git repo to take it from (since I dropped android completely)? Do you think boot probs could occur due to timing issues also, e.g. DDR 400 on MK808?

      Delete
    3. I've answered exactly this same problem to "Gabriel Schanuel" on "Full RK3066 Technical Reference Manual found" blogpost (from June)

      Delete
  22. Hi galland,

    what is the easiest way to install linux (picuntu) on measy u2c for noobs?

    I ve found this tutorial:
    http://www.slatedroid.com/topic/77977-ubuntu-1210-complete-armmk808rk3066-desktop-solution-new-homeio-release-chromiumtrue-flash-gles-goodies-xbmc-easy-setup-and-much-more/

    but I think we need specific file for measy (driver, rom, kernel?)

    ReplyDelete
    Replies
    1. i've forgot to post this... android 4.2 seems to work on measy u2c, but driver for webcam is missing:
      http://www.freaktab.com/showthread.php?5386-android-4-2-for-imito-on-u2c

      Delete
    2. Assuming your Measy U2C is already ROOTED (or else see http://hwswbits.blogspot.com/2013/03/ubuntu-linux-picuntu-rc3-on-measy-u2c.html):

      Download Picuntu 0.9 RC3 from here:
      https://www.dropbox.com/s/0rm8i7mohgyhws6/picuntu-linuxroot-0.9-RC3.tgz

      Follow ONLY this page's instructions to create the uSD with the above file:
      https://www.miniand.com/wiki/Part+2b-Creating+the+linuxroot+filesystem+manually

      Copy the modules+firmware of this blogpost into the uSD from your PC

      Flashing the recovery kernel in this blogpost

      Insert uSD into U2C and boot into recovery (Autorun Linux is a nice and simple app for that), you should get to a login, pwd is 12qwaszx

      Run ./picuntu-da-server.sh to install XFCE and other packages

      I STRONGLY recommend applying the fixes in these posts:
      http://hwswbits.blogspot.com/2013/03/picuntu-09-rc3-crash-in-xfce-dbus.html
      http://hwswbits.blogspot.com/2013/03/picuntu-xfce-problems-fixes.html

      Remember there is no internal wifi support, so an usb dongle with wifi or eth is required.

      Delete
  23. Hi Galland..

    I have a MK808b "original" Finless 2.1 Kernel 3.0.36+ WiFi+Bluethoot working for the droid side....working GPU/VPU etc.
    but in Picuntu side with Kernel 3.0.8+ Olek0's Recovery img + homeoi.rc1.tar.gz...booting with USB or SD no WiFi and Blu

    I flashed your 720 3.0.36+ img and unzip .7z file in USB with kernel 3.0.8+. Updating some folder and files in /LIB. But now stops after loading SWAP partition and loop forever.

    I just want to know one thing my Wifi'/Blu's ONLY works with Android NEVER with Picuntu or maybe in the near future when I compile my own kernel on my old p4 fedora core 10 with your source code of course.

    Thanks for your time.

    ReplyDelete
    Replies
    1. I don't have that stick, so no idea, sorry. If you want to try for yourself, the RK903 drivers are part of the 3.0.36 source code.

      Delete
  24. Hello, Galland!
    Thanks for your work.
    I do see rndis_host module in modules list.
    Do I understand you correctly, that it is possible to connect the dongle by usb with windows machine and after boot is finished, we can establish communication with windows over usb network ?

    ReplyDelete
    Replies
    1. If it works on a typical Linux setup, it should also work here.

      Delete
  25. Hi Galland, I was wondering if you plan on building the 3.11 kernel now that it officially has RK3xxx support and is in the RC stage.

    ReplyDelete
    Replies
    1. Unfortunately that support is still very primitive, doesn't get you to a system you can work with. I'm heading more towards using RK official code, turning it into a patchset to android-3.0 (very similar but not exactly equal to Linux kernel 3.0.x) and then trying to go up the ladder to android-3.4

      Delete
  26. Hello Galland,

    Thanks again for your work.
    I am still trying to get my wifi dongle work (RTL8188CUS) and everything I try goes wrong.
    I even tried to compile de driver from Realtek, but I have the following problem: arm-linux-gnuabihf-ld not found

    As far as I know, this file is missing from your source files. Also note that I had to convert your source files to unix format (dos2unix), because it wouldn't let me compile at all, stating "\r" problem (if it can help others).

    Could anyone give me any instructions or help regarding driver compilation under picuntu? I would really like to use this dongle and access to my network with my picuntu installation! ;)

    ReplyDelete
    Replies
    1. See http://hwswbits.blogspot.com/2013/03/compiling-picuntu-kernel-ubuntu-linux.html

      Delete
  27. Can someone compile a 3.0.36 kernel from Galland's sources and include this patch
    http://www.freaktab.com/showthread.php?6454-Temporary-RK903-Wifi-Patch-for-MK808B and also the mali overclocked to 400 mhz for a MK808B and tests if it works.

    Read more here, last 3 posts
    http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=115&t=1587&start=60

    Thanks

    ReplyDelete
    Replies
    1. wifi patched Kernel Download https://docs.google.com/file/d/0B5rgrQkNmPhuX1J6WUlSaGxhdXM/edit?usp=sharing


      Modules:
      https://docs.google.com/file/d/0B5rgrQkNmPhuTGZMUUJDVzhXaEE/edit?usp=sharing



      now I do not know what is different? the wifi works without patch and with this patch ...? all you have to do; https://www.miniand.com/forums/forums/18/topics/mk808-b-picuntu-kernel-3-0-36-for-motorola-lapdock-with-1366x768-resolution#post-8670

      for mk808b/rk903 Firmware Download: https://docs.google.com/file/d/0B5rgrQkNmPhuX2FESVh5NE5jUXM/edit?usp=sharing
      https://docs.google.com/file/d/0B5rgrQkNmPhuSnNVS2JzdTEtSDA/edit?usp=sharing

      copy to /lib/firmware/

      sudo modprobe bcm40181 and then see iwconfig...


      Delete
    2. Thanks Joy

      But it seems I can't get the kernel boot up.
      Are you also using Finless2.1 and flash the kernel above to the recovery partition?

      Thanks

      Delete
    3. Um..
      If I understand it correctly, you can make the RK903 module works correctly without my patch?
      How is it done?

      Delete
    4. see here: "WLAN (MK808B/Joy-IT Version 2.0/...RK903)"
      https://www.miniand.com/forums/forums/18/topics/mk808-b-picuntu-kernel-3-0-36-for-motorola-lapdock-with-1366x768-resolution#post-8670

      Delete
    5. I just tried the kernel, lib, firmware and cal files provided in the fourth post but it only booted to the kernel messge page and immediately rebooted to my android.
      No log was written.
      Any clues?

      Delete
  28. hmm....there are differences between mk808 B version...?

    my kernel config is optimized for tps65910 Power Controller...

    maybe you have WM831X Power Controller?

    or why does not work for you

    ReplyDelete
  29. Hi, Michael C, I didn't know that the 3.0.36 kernel worked for mk808b rk903 wifi without the patch.
    Perhaps the GPIO dump posted by A-wen at http://www.freaktab.com/showthread.php?6454-Temporary-RK903-Wifi-Patch-for-MK808B is for a clone mk808b, as it seems that 3.0.36 kernel enables your mk808b rk903 wifi.
    I don't own a MK808B but some friends do, so perhaps I'll test this some time later.

    ReplyDelete
  30. Hi.

    How i can compile the driver for usb wifi rtl8188cu. Make modules and editing config got many errors... Anyone has it ?¿

    ReplyDelete
    Replies
    1. type "lsusb" before and after plugging in the wifi, there should be one new line, paste it here

      Delete
  31. This comment has been removed by the author.

    ReplyDelete
  32. root@picuntu:~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
    Bus 002 Device 003: ID 1d57:0008 Xenta
    Bus 002 Device 004: ID 046d:c313 Logitech, Inc. Internet 350 Keyboard
    Bus 002 Device 005: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

    --------------------------------------------

    root@picuntu:~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
    Bus 002 Device 003: ID 1d57:0008 Xenta
    Bus 002 Device 004: ID 046d:c313 Logitech, Inc. Internet 350 Keyboard
    Bus 002 Device 005: ID 0bda:8171 Realtek Semiconductor Corp. RTL8188SU 802.11n WLAN Adapter
    Bus 002 Device 006: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

    Here is....My RT5370 continues disconnect i dont know why.....

    ReplyDelete
    Replies
    1. which one is the problem? RT5370 or RTK8188SU?

      Delete
    2. If the problem is the RTL8188SU, then download this file:
      https://www.dropbox.com/s/nixx71ffwwhkwqt/8712u.ko

      and in a terminal do:
      sudo cp 8712u.ko /lib/modules/3.0.36+/kernel/drivers/net/wireless/8712u.ko
      sudo depmod -a
      wget http://svn.debian.org/wsvn/kernel/dists/trunk/firmware-nonfree/realtek/RTL8192SU/rtl8192sfw.bin
      sudo mkdir /lib/firmware/RTL8192SU
      sudo cp rtl8192sfw.bin /lib/firmware/RTL8192SU

      reboot and then
      sudo modprobe 8712u.ko
      ifconfig -a

      and see if you get a new wlan interface

      Delete
  33. Hi Galland.

    My problem is with RTL8188SU.

    First probe in a home:io --> When i plug usb-wifi, picuntu freeze. When i boot picuntu with usb-wifi got a error and not boot picuntu....

    ReplyDelete
  34. Hi, I'm trying to make picuntu ( home://io version) work on my mk802iiis with a usb wifi dongle that has the realtek 8187 chipset, so far, I have flashed the 3.0.36 kernel into the recovery partition. Under iwconfing I can see a wlan interface named wlan2 which corresponds to the wifi dongle but when I open wpa_gui there's no adapter listed... what am i doing wrong?

    Thanks!

    ReplyDelete
    Replies
    1. OK, I have run picuntu-da-server script where I can choose the wlan interface and rebooted and now it appears at the adapter combo in wpa_gui (also, i ran ifconfig up but I'm not sure if that is really neccesary). Now I can scan but I'm not being able to connect to the network, it keeps disconnecting and it never gets an ip...

      Delete
  35. This comment has been removed by the author.

    ReplyDelete
  36. Aloha Galland,

    Thanks for all your hard work in this area. If I understand you correctly, with this kernel wifi ought to work on RK903-equipped devices, like my MK808B.

    Other than the instructions you provided above (flash the kernel and copy the mod+fw files to the linuxroot volume, and depmod), is there anything else that should be required to get RK903 wifi working? Because I still have no wifi with this :-(

    And - my screen has a distinct cyan tint with this kernel!

    Peace,
    Rasha

    ReplyDelete
  37. Hi Galland,

    Thanks very much for your hard work.I want to make my MK802 IIIS with MT5931 work,has both Mali400 3D acceleration and the internal MT5931 chip wifi, what should I do then?

    Should I use your 3.0.36+ kernel and find some ways to make MT5931 work or use your RK3188 kernel and just follow this http://hwswbits.blogspot.jp/2013/04/3d-hw-acceleration-on-picuntu-linux.html to make a new kernel(or maybe it called modules?), which way is available or faster?

    Thanks!

    ReplyDelete
    Replies
    1. You should use the rk3x_... kernel (still my recommended one for rk3066 devices) and find your way to the mt5931. For this, people have been able using this procedure: https://github.com/aloksinha2001/picuntu-3.0.8-alok/issues/2

      Delete
    2. Thank you so much for your quick response.I'll try it...

      Delete
  38. Thermal Management
    Hi Galland. Thank you very much for your great kernel. I am using it on a bog-standard MK808 with Picuntu 4.5 RFS on microSD and, after a great deal of perseverance, the machine boots and runs reliably for hours on end. Of course, the WiFi does not operate but my USB/RJ45 adapter works well.
    To reach this point, I had to research some thermal issues and find a way to prevent the RK3066 chip from overheating. I was not prepared to cobble together a heat sink.

    1. The RK3066 has a specified operating temperature range of -40C to +85C.
    2. Surprisingly, the "interactive" cpufreq governor does not prevent temperature rise beyond 85C.
    3. Even when operating at the seemingly modest cpufreq of 816 MHz, temperature can exceed 85C.

    I have never succeeded in booting your 720P kernel and, initially I had a lot of trouble booting your 1080P kernel. The boot process would stall at various stages depending on how hot the RK3066 was. Why was the RK3066 hot? Presumably, because Finless Bob's kernel (2.1 or 1.7c) did a pretty good job of preheating it and then your kernel's default cpufreq setting allowed further unregulated temperature rise during the boot process which is a fairly CPU intensive process.
    I'm reluctant to criticise the heroic work of yourself and Finless Bob in making so much possible but I feel obliged to request that a little less emphasis be placed on speed and a bit more be placed on system stability and robustness, particularly during the boot process of machines that may not have been fitted with "special" heat sinking provisions.

    ReplyDelete
    Replies
    1. I am of your view, and even went as far as adding a new lower power frequency for the CPU (126 MHz). Try cpufreq-info to check how long is your stick running at each freq.

      However in your case there is at least one further problem: the MK808 is the cheapest stick because it doesn't have a PMIC (Power Management IC) so that all components run at the highest voltages (for 1.6 GHz) even at the lowest frequency (126 MHz), causing all that heat, no matter how low the frequency.

      With a PMIC: lower freqs run at a lower voltage, meaning much less heat.
      Try setting conservative CPU governor to diminish that disadvantage a bit.

      Delete
    2. Thanks for your prompt response. My cpufreq-info sheds some light but further confusion too!
      1. There is no "conservative" nor "powersave" governor listed among the "available cpufreq governors". Six governors are listed (some with bizarre names) but I have been unable to find any documentation about their operating algorithms in order to make a reasoned selection.
      2. Although my machine has been operating at its maximum allowed cpufreq (816 MHz) for many hours, cpufreq-info indicates that it has been at 1.61 GHz for 100% of the time.
      3. Thanks for adding 126 MHz to the list of possible cpufreqs. If only I can find a governor that knows how/when to use low cpufreqs.
      4. Without compiling one's own kernel, is there any way for the user to specify the cpufreq to be used during boot?

      Many thanks again.

      Delete
    3. cpufreq Governor Algorithms
      I have just found a pretty decent description (http://forum.xda-developers.com/showthread.php?t=1663809) of many governors and so I can now investigate whether any of my available options is likely to work better than "interactive".

      Delete
    4. Postscript - My difficulties in booting the MK808 returned and worsened to the extent that I reverted to my backup RFS, which did not help. I then tried justintime4tea's installation without success. In desperation I tried olegk0's 3.0.8+ kernel with the Picuntu 4.5 RFS and found that the combination worked fine, booting first time every time and running dependably. The Picuntu official (ug802recovkernel.img) kernel also behaves solidly and allows a wider range of possible cpufreq's. Using 3.0.8+ kernels I was able to get WiFi working with both internal chip and USB dongle but performance was pathetic in both cases so instead I am using a USB/RJ45 (Asix) adapter which works well in combination with a cheap (A$22) WiFi repeater/range extender that has an RJ45 port. Can't help but be impressed by how sweetly the RK3066 can support the normal productivity apps (web browsers, LibreOffice etc).

      Delete
    5. Post Postscript - Further testing of WiFi with a Ralink USB adapter has demonstrated acceptable performance with ping times of about 40ms to local ADSL2+ ISP and packet loss of 0% usually.

      Delete
  39. Thermal Management Measures
    1. Disable the screensaver - the picture may seem "cool" but it will probably cause your CPU temperature to rise and may cause the device to stall.
    2. After installing cpufrequtils (sudo apt-get install cpufrequtils), do use the sudo cpufreq-set -u 816000 command if you expect CPU load to be high for extended periods of time.
    3. Instead of adopting the dual-boot mode of operation (which allows Android to preheat the CPU) you can use Finless Bob's Reboot app (1.7c ROM) to Reboot To Recovery which causes all subsequent boots to go directly to the recovery partition.

    ReplyDelete
    Replies
    1. Hi Lloyd, I'd be very interested to learn more about your experience of booting 3.0.36 on mk808. I've been trying to revitalize this device for several weeks now, but really strange things happen. I use my own Ubuntu 12.04 rfs running unity. The only 3d accelerated kernel providing me internet access (asix) is jjhmod's from here:
      http://www.freaktab.com/showthread.php?5161-Updated-kernel-and-MicroSD-image-for-rk3066-ubuntu&p=69513&viewfull=1#post69513
      It boots all right every time I flash this kernel no matter how hot my stick was.
      However, this source is not available for tweaking, and also, 3.0.36 should provide better performance. And so I tried Galland's kernels (never managed to get his 720p to boot, and did get 3.0.36 to boot - sort of - with some really weird gui issues). Then I tried olegk0's 3.0.36 kernel (link provided on his github), and it is providing by far the best performance, same as jjhmod boots up at any time no matter what, however it doesn't provide internet access. But when I compile this same kernel from source (adding just asix support), it stalls same as Galland's 720p. It seems that current Oleg's source is for his experimental kernel (3.0.36_exp), rather than plain 3.0.36 one. I have some reason to believe that thermal issue was less pronounced with oleg's plain kernel, since when I reboot to recovery without sdcard inserted it gets me to initramfs. Upon inserting sdcard, I can execute: "exec switch_root -c /dev/console /mnt/root /sbin/init.sysvinit" which then mounts the rfs all right to gui. But when I repeat the same with my compiled kernel, it stalls the same way again. Any ideas would be greatly appreciated. Best regards, Goran Sevo

      Delete
  40. Hello
    Thanks for your effort..It is good for us to enjoy linux.
    BTW I want to ask some help form you.I want to use the serial in MK808.
    I want to use this serial to control my equatorial telescope.But the serial could not work..
    It always says serial.0 timeout 1000000..
    I just connect three wires to my equipment...(GND TXD RXD).
    So,could you give me some advice?

    ReplyDelete
    Replies
    1. I only know this: http://www.omegamoon.com/blog/static.php?page=mk808_serial_console

      Delete
  41. Hi Gallard!
    Thanks you very much for your work and awesome lectures.
    Could you please compile the kernel on up to 1.2GHz and memory on 300 in order to run smootly on MINIX Neo G4? Thanks in advance!
    Veso

    ReplyDelete
  42. MK902 eth0 issue.
    Hi all. I know that is not the right post (rk3188) but I dont know where to find help anymore. I have a problem with internal eth (ASIX AX8872CLF) and Picuntu. The Wifi it is working from startup, but the eth0 is not working. In Xubundu I managed to wake up the eth0 by putting in rc.local 3 lines (ifconfig eth0 down; ifconfig eth0 hw ether MAC; ifconfig eth0 up), but in Picuntu is not working (do nothing).

    ReplyDelete
  43. Hi Galland!

    At first, sorry for my bad english! I have a mk808(rk3066) with Finless 2.1 (Kernel 3.0.36+) and I'd like to if it works with wn823n usb wifi dongle (RTL8192cu).
    Can you help me in this?

    ReplyDelete
  44. I have the kernel running nicely on a mk808ii but for the life of me I can't seem to get embedded GL and XV working together... Problem seems to be eGL, have XV going by allocating the framebuffers pre load.

    Need your help desperately!

    ReplyDelete
  45. Hi Galland

    I know the rk3066 is getting old, but i'm doing a science fair project, and i really need 1280x800 linux support for my mk802 iiis. If you, or anyone u know could help me out that would be appreciated soooo much!

    PLz and thanks a million
    Johan

    ReplyDelete
  46. hi galland

    i suppose you are not working on this chip for a while but maybe you can help me
    i have an imito mx1 device with ubuntu 14.04 your 1080p kernel and the hardware acceleration is not working
    i followed your tutorial to enable it but when i'm lauching glesmark i get errors to initialise opengl es
    sudo glmark2-es2
    Error: eglInitialize() failed with error: 12291
    Error: Error: Could not get a valid XVisualInfo!
    Error: Error: Couldn't create X Window!
    Error: main: Could not initialize canvas

    but my mali and ump seems to be enabled

    test@ubuntu:~$ dmesg | grep -i mali
    [ 5.711687] Mali: init_mali_clock mali_clock c0e259c0
    [ 5.713953] Mali: Mali device driver loaded
    [ 5.815627] DRM: mali_platform_drm_probe()
    [ 5.815636] mali_drm_init(), driver name: mali_drm, version 0.1
    [ 5.816352] DRM: mali_driver_load()
    [ 5.816400] [drm] Initialized mali_drm 0.1.0 20100520 on minor 0
    test@ubuntu:~$ ^C
    test@ubuntu:~$ dmesg | grep -i ump
    [ 5.631887] UMP: UMP device driver loaded

    do you have any idea about the issue ?
    anyway thanks for your work !

    ReplyDelete
  47. Help, I can't get working wifi module, 8188eu chip. I tried different builds(linux), different drivers, does not work, if look in the output of lsusb shows the module. prompt how to force to work Wi-Fi? give a link to a working driver or image with a working linux build (img), thanks.
    I have ug802

    to collect himself probably can't, so I'm not deeply versed in linux

    ReplyDelete
    Replies
    1. module 8188cus, 0bda:8179

      Delete
    2. This comment has been removed by the author.

      Delete
    3. I have radxa lite board
      Want to update kernel to 3.12 or above
      How to do that...?

      Delete
  48. Can I use this kernel to replace a kernel in Android running on RK3066?

    ReplyDelete
  49. Any chance to have the new kernel 4.10 https://kernelnewbies.org/Linux_4.10
    It can be now RK3066 MK808 compatible and maybe with UG802

    ReplyDelete