Announcement

Collapse
No announcement yet.

H96max running OrangePI Ubuntu.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    H96max running OrangePI Ubuntu.

    The topic.
    Very simple. Take the distro from Opi site, dd it on the SD-card. insert and turn on power. It is running.
    Later, the kernel changed to
    [email protected]:~# uname -a
    Linux localhost 4.4.114 #11 SMP Mon Mar 12 08:46:26 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

    The problem is with dtb file: partially it works.
    USB2 is ok, HDMI is ok, Ethernet is ok.
    But:
    [ 0.809301] cdn-dp fec00000.dp: Direct firmware load for rockchip/dptx.bin failed with error -2
    (file dptx.bin present)

    So, USB3 is off (both type-C and normal USB3 blue socket; it works in Android).
    Also, I cannot check AV output and ALSA shows only SPDIF, that has no controls.
    I think the only need is any correct dtb file to work with the board.

    #2
    Solution should be taking Orginal Device Firmware unpack it and exchange the dtb.
    Then it should work.

    Regards
    Neomode

    Comment


      #3
      Very interesting for people who want to use the box for emulation.

      Like me.

      ​​​​

      Comment


        #4
        Originally posted by neomode View Post
        Solution should be taking Orginal Device Firmware unpack it and exchange the dtb.
        Then it should work.
        mmmm.....there was a problem with android's image unpacking for that device with the help of RK tools and android SDK native tools. I do not know why, and have no time to learn and investigate all tools and formats.
        but I've got the string from the image (comments line in source dtb file), compile the same dtb, but with no effect.
        so, waiting for some help....

        Comment


          #5
          I didn't have any issue with unpacking the android image. I used the RKTool_Linux.tar.gz (from OPI Mega cloud, folder RK3399_Tools) which contains the Linux_Pack_Firmware and that can disassemble the whole android image 'update.img' into bits (run unpack.sh). The dtb is extracted to the output/Image/resource.img file, but has a header of size 0x600 which needs to be stripped off. I tried a DTB from android 7.1 which improved audio and USB3, but didn't enable linux framebuffer (/dev/fb), but I could login via serial and verify the audio (there's now hdmi out and spdif) and USB 3.0 port. I tried to fix the fb but no luck so far.
          Then I downloaded linux image for odroid-n1 SBC which has also rk3399 soc and used their dtb. This dtb supports frame buffer, hdmi audio and USB 3.0, GBit ethernet, but no spdif on the H96max tv box. Still it's an improvement. Unfortunately there seems to be no graphics acceleration so the Xorg desktop (lxde) was sluggish, but usable.

          Comment


            #6
            I've made an SD card disk image of the Debian Linux for H96Max TV box. It's more like a a proof of concept, many things may not work as expected.

            What works for me:
            * hdmi video & audio
            * ethernet network
            * USB, both 2.0 and 3.0

            What doesn't work or untested:
            * on-board wifi (but an external USB wifi does work)
            * everything else, feel free to improve it :-)

            The Micro SD card image can be found here: https://app.box.com/s/pd9eymt4z0sjbn5ckirp0ycxvrxjy7j0
            Download all parts from the above link and decompress via '7zr x h96max_debian_lxde_r1.img.7z.001' on Lin, or via 7zip on Win. Then use Etcher app to burn the uncompressed image to your Micro SD card.
            Turn off the TV box, insert the card and power on the box. That's it. If you want to switch back to Android, just turn off the box and eject the Micro SD card. A rootfs was taken from Hardkernel's odroid board image, so the passwords for root is 'odroid'. As usual, after the first boot change the user passwords and update via 'sudo apt update' and 'sudo apt upgrade'.

            Credits go to: Slack for finding and trying out the OPI Linux image and reporting his findings, Xunlong Software CO. (convenient booting of linux kernel on rk3399), Hardkernel (Debian rootfs, dtb), FriendlyELEC (linux kernel and modules).

            Comment


              #7
              Hello olin

              Can you post a link for Etcher app ?

              thanks

              Michael T.
              3.0.x Lollipop firmware RK3288 By Wasser/ My Standard Remote IR
              CVSB-K200-Wireless Mini QWERTY Keyboard / Motion Mouse for Android RF
              Rii Mini i25 Qwerty Keyboard/Motion Mouse For Android RF
              Media Flow Suite ... 24 TB ReadyNas Pro wired 1 GB Ethernet

              Comment


                #8
                Etcher is here:

                Etcher.io for Windows.

                Neomode

                Comment


                  #9
                  Originally posted by olin View Post
                  I've made an SD card disk image of the Debian Linux for H96Max TV box. It's more like a a proof of concept, many things may not work as expected.

                  What works for me:
                  * hdmi video & audio
                  * ethernet network
                  * USB, both 2.0 and 3.0

                  What doesn't work or untested:
                  * on-board wifi (but an external USB wifi does work)
                  * everything else, feel free to improve it :-)

                  The Micro SD card image can be found here: https://app.box.com/s/pd9eymt4z0sjbn5ckirp0ycxvrxjy7j0
                  Download all parts from the above link and decompress via '7zr x h96max_debian_lxde_r1.img.7z.001' on Lin, or via 7zip on Win. Then use Etcher app to burn the uncompressed image to your Micro SD card.
                  Turn off the TV box, insert the card and power on the box. That's it. If you want to switch back to Android, just turn off the box and eject the Micro SD card. A rootfs was taken from Hardkernel's odroid board image, so the passwords for root is 'odroid'. As usual, after the first boot change the user passwords and update via 'sudo apt update' and 'sudo apt upgrade'.

                  Credits go to: Slack for finding and trying out the OPI Linux image and reporting his findings, Xunlong Software CO. (convenient booting of linux kernel on rk3399), Hardkernel (Debian rootfs, dtb), FriendlyELEC (linux kernel and modules).
                  Thanks for the image. Confirm that both USB 2.0 and 3.0 works. HDMI works.
                  However I cannot connect to the network eth0.
                  I can't get the IP from DHCP and even if I set a static IP, it still does not work.
                  Is there any config file I need to update?
                  Thank you.

                  Comment


                    #10
                    Originally posted by enodeb View Post

                    However I cannot connect to the network eth0.
                    Hi,
                    thanks for the report. You are right, the image r1 doesn't support ethernet (oops...), I must have tested it with a different dtb file then. Sorry for that. The good news is I've fixed the dtb and made a new release r2. This should fix the ethernet issue. Let me know if the new image works for you. There are now 3 sound devices detected: hdmi, spdif and analog audio. I could only test hdmi - which may need to be switched on in the mixer widget first (right click on the speaker icon on the task bar, then Launch Mixer). I recompiled the kernel, somehow it helped with the hdmi output along with the original android dtb. So I'm using that dtb plus some fixes. The kernel now outputs the log through the serial port - use bitrate 1500000 8N1 in the terminal if you want to inspect the booting process. I took a look at the internal wifi, unfortunately support for it may be a bit problematic as the internal wifi combo chip (CM273SM compatible with QCA9377) uses Atheros 10k driver via SDIO bus. The SDIO bus connection to Ath10k wifi cards is not supported in version 4.4 of the Linux kernel (only through PCIe bus), but there is an experimental SDIO driver for the chipset in the latest kernel. To make it work somebody would have to either backport Ath10k SDIO to kernel 4.4, or use the latest kernel 4.18. The other option of using USB wifi dongle should still work. I've added some more wifi dongle modules as well. I also mounted the boot partiton to the /boot directory so it's more convenient to change kernel images and dtbs. The new release can be found in the same link as release r1.

                    BTW. the internal eMMC is accessible via /dev/mmcblk1 device. It's possible to back-up the whole Android by making a disk dump (from eMMC to USB disk). Then the device can be partitioned and formated under linux to give you extra 32GB of disk space. I've actually done that and then restored my Android backup (to check the android kernel boot log), so it can be used for emergency de-bricking of the box (the backup must exist of course).

                    Comment


                      #11
                      Originally posted by olin View Post

                      Hi,
                      thanks for the report. You are right, the image r1 doesn't support ethernet (oops...), I must have tested it with a different dtb file then. Sorry for that. The good news is I've fixed the dtb and made a new release r2. This should fix the ethernet issue. Let me know if the new image works for you. There are now 3 sound devices detected: hdmi, spdif and analog audio. I could only test hdmi - which may need to be switched on in the mixer widget first (right click on the speaker icon on the task bar, then Launch Mixer). I recompiled the kernel, somehow it helped with the hdmi output along with the original android dtb. So I'm using that dtb plus some fixes. The kernel now outputs the log through the serial port - use bitrate 1500000 8N1 in the terminal if you want to inspect the booting process. I took a look at the internal wifi, unfortunately support for it may be a bit problematic as the internal wifi combo chip (CM273SM compatible with QCA9377) uses Atheros 10k driver via SDIO bus. The SDIO bus connection to Ath10k wifi cards is not supported in version 4.4 of the Linux kernel (only through PCIe bus), but there is an experimental SDIO driver for the chipset in the latest kernel. To make it work somebody would have to either backport Ath10k SDIO to kernel 4.4, or use the latest kernel 4.18. The other option of using USB wifi dongle should still work. I've added some more wifi dongle modules as well. I also mounted the boot partiton to the /boot directory so it's more convenient to change kernel images and dtbs. The new release can be found in the same link as release r1.

                      BTW. the internal eMMC is accessible via /dev/mmcblk1 device. It's possible to back-up the whole Android by making a disk dump (from eMMC to USB disk). Then the device can be partitioned and formated under linux to give you extra 32GB of disk space. I've actually done that and then restored my Android backup (to check the android kernel boot log), so it can be used for emergency de-bricking of the box (the backup must exist of course).
                      Thanks for the update.
                      Confirmed that the Ethernet works now! Brilliant!
                      Confirmed that USB WiFi Dongle and that works (https://xiaomi-mi.com/wifi-routers/x...e-wifi-orange/)
                      I mounted files from my NAS via NFS so I can access videos and games from it.
                      Tried to play videos (1080p x264 DTS, 1080p x265) and they works great!
                      Unfortunately bluetooth does not work, I guess it was not included in the dtb or driver not in the kernel? I'm not sure as I'm really to this.
                      Would be great if it can be fixed, which means we can use bluetooth controller to play games.

                      Thanks for the work olin!

                      Comment


                        #12
                        Anyone got video playback working using hardware acceleration?

                        Seems you need rkmpp and new ffmpeg.
                        I'm trying to get it working on rk3328 but if it works on rk3399, the same instrunctions could work as both rk3328 & rk3399 use the same kernel, mpp & ffmpeg.

                        Comment


                          #13
                          Originally posted by enodeb View Post
                          Thanks for the update.
                          Confirmed that the Ethernet works now! Brilliant!
                          I'm glad it works this time


                          Originally posted by enodeb View Post
                          Unfortunately bluetooth does not work, I guess it was not included in the dtb or driver not in the kernel? I'm not sure as I'm really to this.
                          Would be great if it can be fixed, which means we can use bluetooth controller to play games.
                          Bluetooth and Wifi are 'bundled' together in the CM273SM chip, and as I wrote earlier the SDIO bus protocol used in this TV box to pass data between CPU and this particular Wifi/BT chip is not in the Linux Kernel ver. 4.4. Also the driver in the latest Linux kernel is marked as Experimental, therefore it might not work reliably. Unfortunately the kernel module for this Wifi chip used in Android image does not work with the kernel I use, so that is not an option either. If by any means somebody finds the source code or patches for the CM273SM chip for Linux kernel 4.4 please share the knowledge.



                          Comment


                            #14
                            And there we go... I just accidentally fried my box by powering it via 12V power supply conveniently placed on my desk full of junk . If anybody wants it either for fix-up or for spares let me know - I'm happy to donate it.

                            Comment


                              #15
                              Originally posted by olin View Post
                              And there we go... I just accidentally fried my box by powering it via 12V power supply conveniently placed on my desk full of junk . If anybody wants it either for fix-up or for spares let me know - I'm happy to donate it.
                              Oppss...RIP dear box.
                              It would be great if you could donate your knowledge =)
                              Can you share how did you compile the Debian image?
                              After I "unzipped" the img file I can see bunch of aft.img, boot.img, rootfs.img and they can further extract to see the file system inside.
                              Did you compiled the kernel from scratch or repacking things?
                              I have totally no idea how things pack/repack/compile but keen to learn it.
                              Can you give me some hints on it? Thanks mate!

                              Comment

                              Working...
                              X