Home > Freescale i.MX, Linux, Programming, Software management > Developer Community for Freescale i.MX6 HDMI Dongles

Developer Community for Freescale i.MX6 HDMI Dongles

February 13th, 2013 Leave a comment Go to comments

Last week, I explained how to build U-boot, the kernel, and Android for Freescale i.MX6 HDMI dongle reference platform. Since them, there has been a bit more activity, with Richtechie releasing source code to some ARMTvTech members. However, this source code is very similar to the one released by Freescale, and misses some part present in the kernel config on GK802 such as CONFIG_MACH_MX6Q_RICHTECHIE, and the company clearly does not comply with the GPL. Let’s forget that for now, as Jasbir (who is also behind the Hackberry board) has managed to build and boot the kernel on his mini PC. There’s still more work to do, but at least we have a based to work on. In the meantime, I’ve noticed rz2k, an other developer, was also giving it a try on #arm-netbook Freenode IRC channel, so we decided to setup a few things to facilitate development and communication between developers.

There are now 2 repositories on gihub rz2k account for HI802/GK802 software development:

Assuming, you’ve already installed Linaro toolchain in Ubuntu or another Linux distribution, here’s how to get and build the Linux kernel:

git clone git://github.com/rzk/linux-imx.git
cd linux-imx
git checkout imx-android-r13.4-ga-hdmidongle
make imx6_android_defconfig CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
make -j8 CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm

and U-boot:

git clone git://github.com/rzk/uboot-imx.git
cd uboot-imx
git checkout imx-android-r13.4-ga-hdmidongle
make mx6q_hdmidongle_android_config CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
make -j8 CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm

For both repositories, the git checkout part is not really needed since imx-android-r13.4-ga-hdmidongle is the default branch, and there’s no default config for Hi802/GK802 yet, so “imx6_android_defconfig” and “mx6q_hdmidongle_android_config” are just taken as examples, but this should change soon.

We’ve also setup two communication channels for developers, and anybody is welcomed to join:

Freescale i.MX6 platform holds a lot of promise with GPU and VPU support in Linux, and hopefully, there will be enough traction in the community to make it a great Linux platform.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. m][sko
    February 13th, 2013 at 18:52 | #1

    are you able to boot some debian/ubuntu on Hi802/GK802 ?
    freescale provide working debian/ubuntu distro with working hw acceleration (from readme file)

  2. February 13th, 2013 at 18:55 | #2

    @m][sko
    It’s best for Jasbir or rz2k to answer, but I understand they have used the binary U-boot for now, done some modifications to the kernel, and Jasbir is able to boot to Ubuntu with this kernel. He said there’s more work to do however, but I don’t know the details.

  3. February 13th, 2013 at 18:57 | #3

    Ubuntu on the i.MX6 is booting on the Wandboard and demo images are available.

  4. February 13th, 2013 at 19:01 | #4

    @wandboard
    I’ll try that next week on the Wandboard hopefully :)
    Do you know if OpenGL is working now? I’ve heard there was a problem for all platforms with the GPU drivers in Linux.

  5. sky770
    February 15th, 2013 at 13:09 | #5

    @cnxsoft
    Yes.
    And that is 101% confirmed for all platforms (/boards).
    Also as the company released source code(s) have always been incomplete and now that Limar is taking fight back to the corporate f4g5..its about time.
    Go Lima!

  6. Jasbir
    February 16th, 2013 at 04:53 | #6

    @cnxsoft
    Progress and instructions for creating a bootable image – http://jas-hacks.blogspot.co.uk/2013/02/imx6-gk802hi802-working-kernel-with.html.

  7. ASM
    March 4th, 2013 at 09:44 | #7

    Small typo in post: the link to “linux-imx” is pointing to “uboot-imx”.

  8. March 4th, 2013 at 09:46 | #8

    @ASM
    Thanks. Fixed.

  9. hroth
    April 28th, 2013 at 02:14 | #9

    @cnxsoft – I thought it was a little complex, thanks!

    And – unfortunately with the ever-shifting sands – this git repository of rz2k (rzk) doesn’t seem to exist anymore. Is there another i.mx6 Android repository to use?

    Thank you so much for helping me learn the ropes!

  10. April 28th, 2013 at 11:38 | #10
  11. hroth
    April 29th, 2013 at 06:22 | #11

    @cnxsoft

    Thank you – as always!

    I can compile but:

    shell@android:/data/home # insmod hid-quanta.ko
    insmod hid-quanta.ko
    insmod: init_module ‘hid-quanta.ko’ failed (Exec format error)

    where dmesg reads:

    hid_quanta: no symbol version for module_layout

    I wonder if I missed a step? This is for the 1.65.4 Richtechie Android kernel, so it seems like I’ve got the wrong symvers for this.

  12. April 29th, 2013 at 10:11 | #12

    @hroth
    Google tells me to use “modprobe -f hid-quanta”, or re-build your kernel: http://askubuntu.com/questions/14627/no-symbol-version-for-module-layout-when-trying-to-load-usbhid-ko

  13. hroth
    April 29th, 2013 at 14:37 | #13

    @cnxsoft

    Right, thanks for your patience and help. I did read that earlier – unfortunately Android seems a little stunted (I can only find insmod in the toolbox, not modprobe) and it seems like the GK802 Android kernel cannot be re-built without Richtechie’s assistance which they’ve confirmed they will not release.

    http://tabletrepublic.com/forum/freescale-i-mx6-quad-core/3234-%5Brom%5D-i-mx6-stock-rom-mod-57-print.html

    A dead end, it seems. I did email Richtechie in case they had time to compile the kernel module.

    I am sure it is a lot easier to compile the kernel natively in Ubuntu on the MX6Q. If only it could run Android APKs!

  14. m][sko
    April 29th, 2013 at 15:51 | #14

    I want to buy device with iMX.6
    anybody can confirm if there is working hw accelerated video and audio decoding/encoding with working libs(gstreamer for example) on ubuntu ?
    I saw some information about watermarking

  15. April 29th, 2013 at 16:32 | #15

    @m][sko
    Yes, it works – http://www.cnx-software.com/2013/03/25/ubuntu-11-10-image-for-hi802-gk802-is-now-available-for-download/
    I started a post about gstreamer a little while back, I stopped (temporarily) because multi-video playback does not work with X11 (That is playing like 3x 1080p at the same time). But it’s supposed to work if you have an image without X.
    Also if I use gstreamer in Ubuntu, the video will show with some alpha blending so we can see the desktop though the video. But It’s just because of my lack of knowledge, because Totem player, which I’ve been told uses gstreamer, works just fine.

  16. hroth
    April 30th, 2013 at 01:33 | #16

    @cnxsoft

    Finally, some success. I looked again at the Richtechie tarball release of source code and it included a Module.symvers. I preserved that and compiled the hid-quanta module… and it worked!

    For your interested readers:

    1. Download the Richtechie tarball
    2. Edit include/config/auto.conf (as if you were Richtechie)
    3. make M=drivers/hid CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm

    and it seems everything is accepted in the 1.65.4 Android kernel.

    Only problem is that it doesn’t appear to work when the device is connected. (!!) But it may be useful for other Android readers. And maybe I can actually debug something.

    Here is the dmesg from the Android kernel:

    ehci_fsl_bus_suspend begins, DR
    ehci_fsl_bus_suspend ends, DR
    ehci_fsl_bus_resume begins, DR
    ehci_fsl_bus_resume ends, DR
    usb 1-1: new full speed USB device number 15 using fsl-ehci
    usb 1-1: device v0408 p3008 is not supported
    generic-usb 0003:0408:3008.0009: usb_submit_urb(ctrl) failed
    generic-usb 0003:0408:3008.0009: timeout initializing reports
    input: Quanta OpticalTouchScreen as /devices/platform/fsl-ehci.0/usb1/1-1/1-1
    :1.0/input/input9
    generic-usb 0003:0408:3008.0009: input,hidraw0: USB HID v1.10 Mouse [Quanta O
    pticalTouchScreen] on usb-fsl-ehci.0-1/input0
    usb 1-1: USB disconnect, device number 15

    ehci_fsl_bus_suspend begins, DR
    ehci_fsl_bus_suspend ends, DR
    ehci_fsl_bus_resume begins, DR
    ehci_fsl_bus_resume ends, DR
    usb 1-1: new low speed USB device number 16 using fsl-ehci
    usb 1-1: device v0461 p4d81 is not supported
    input: USB Optical Mouse as /devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/inp
    ut/input10
    generic-usb 0003:0461:4D81.000A: input,hidraw0: USB HID v1.11 Mouse [USB Opti
    cal Mouse] on usb-fsl-ehci.0-1/input0

  17. April 30th, 2013 at 09:58 | #17

    @hroth
    I’ve read quanta-hid driver is different for Android and Linux: https://sites.google.com/site/notesonandroid/dual-touch-patch-for-quanta-hid-driver

  18. hroth
    April 30th, 2013 at 13:09 | #18

    @cnxsoft

    Yes, you’re right – although that patch doesn’t appear to be for the hid-quanta.c in the current tarball. I wonder if I will have to manually apply the patch.

    Also – I’m embarrassed that I didn’t realize the quanta was only being recognized as a “generic-usb” instead of hid-quanta… I have to convince Android to use the hid-quanta driver still.

  19. hroth
    April 30th, 2013 at 13:43 | #19

    Which ends up being CONFIG_USB_HID which is already compiled in the kernel. It looks like recompiling the kernel is the only way to proceed. Unfortunately, that doesn’t sound possible with the Richtechie compile options.

  1. March 9th, 2013 at 16:20 | #1
  2. April 24th, 2013 at 11:20 | #2