[WIP, updated April 11th] A5X Max RK3328 TV Box support

  • WORKING:

    - Ethernet

    - Wifi

    - Bundled remote

    - CEC (tested by theAlevan )

    - Analog outputs (tested by theAlevan )


    CURRENTLY WORKING ON IT:

    - Bluetooth. It is detected, scans for devices OK, but if ends droppping connection for both BT and WiFi or totally freezing the device. In the Armbian forums user armar suggests to use an alternative firmware.

    Seems bt problems happens only when scanning for devices or caused by one of my tests devices, recently bought another bt speaker and it is working ok with it playing movie by wifi for some minutes.

    TO INVESTIGATE:

    - Whitelist seems to show all the refresh rates for 1080p, but for 720p it only shows 50hz, 59.94hz and 60hz. I'm not even sure if this is OK or not.


    I CAN'T TEST/WON'T BE ABLE TO TEST SOON, EXTERNAL HELP NEEDED:

    - SPDIF output

    TODO:

    - Enable MCE remote out of the box. I think RC6 protocol is not enabled by default on RK3328 devices like it is on x86 or Amlogic ones.

    OK, seems you cannot have two keymaps loaded at the same time even if they are for diferent IR protocols -nec and rc6 in this case-. So I plan to leave support for bundled remote as default. If you want to use a MCE, XBox, ... remote, create the file /storage/.config/rc_maps.cfg with the following line inside:

    Code
    gpio-rc-recv    *        libreelec_multi

    Random thought: for devices bundling its own remote, I think it would be a good idea to have a GUI option for enabling other remotes, or at least to enable MCE type remotes as this seems to be the most popular ones. Probably just a checkbox that will create/remove a file /storage/.config/rc_maps.cfg with "* * libreelec_multi".

    - Find a way to get the device suspended instead of powered off so you don't have to disconnect and reconnect power supply to power it on again. Works on Android, on LibreElec /sys/power/state only shows freeze and mem , both syspend the device but it won't reactive with the IR remote or an USB keyboard.

    FINAL BOSS:

    - Rewrite the dts file in a way it can be commited for inclusion in mainline.


    The last version of the dts file I'm using , along with other useful files can be found at: GitHub - madmalkav/TV-Box-DTS

    I'm providing an alpha build in case anyone wants to help test the issues without having to compile from zero, but I take zero responsability if this build breaks your device, drive you mad or both: MEGA

    Be aware this box have pretty terrible cooling: I was having playback problems until I took the PCB from its case. This is the same situations for some users in Armbian forums, so try to find a way to improve cooling. I will try to change CPU governor to mitigate the issue but is is not enough to completely fix it.

    Edited 11 times, last by madmalkav (April 11, 2019 at 10:41 PM).

  • Thanks to vpeter and chewitt for they patience and support on IRC.

    My initial dts file was garbage, but I got a promising one from user armar in Armbian forums.

    In this one, network, wifi and bluetooth work, playback works OK, USB 3.0 drives seems to give the expected speeds,... The things to improve are:

    - Seems when BT is used, Wifi and BT becomes unstable / have cuts. On the armbian forums an alternative firmware is proposed and seems to solve the issue, I'm trying to figure now where does LibreElec grab the firmware it uses to see if it is an older / newer / alternate version.

    - IR still doesn't work. I have modified the dts file to set it the PWM entry to: compatible = "rockchip,remotectl-pwm"; I have also added to the kernel config CONFIG_ROCKCHIP_REMOTECTL=y and CONFIG_ROCKCHIP_REMOTECTL_PWM=y . Dunno why it doesn't work. Any idea on how to fix it or at least debug it would be appreciated.

    Even if this dts file seems pretty good, I can see differences between the info in this file and the devicetree info in /sys on my device , so I think there is room for improvement.

    If I can fix those two issues (BT / Wifi stability and IR ) , I will try to make the dts into something that can be merged and try to iron up some other minor issues (wifi interface seems duplicated in two devices, wlan0 and p2p0 , trying to move the IR support to Linux instead of having the keymap in the dts, ...)

    Current version of the dts file available at: GitHub - madmalkav/TV-Box-DTS

    PS: I don't have a way to test CEC , analog audio out or SPDIF.

    Edited 2 times, last by madmalkav (March 19, 2019 at 7:44 PM).

  • After about 50 minutes of playback, video freezes, but audio continues, and the GUI remains responsive. Tried changing to interactive cpu governor but the problem remains.

    I'm currently out of ideas on how to solve the known issues and finding new ones, any ideas would be really appreciated.

  • Got bundled remote working OK. Also tried with a MCE remote, but it didn't work out of the box as it seems rc6 protocol is not enabled by default on RK3328 devices?

    Anyway, I'm updating the first message of this thread with current status and ToDo list.

  • I had time to test the image:

    -bundled remote works like a charm :)

    -HDMI CEC works

    -analog audio works

    -no playback problems: I watched another UHD HDR movie from a debian powered NAS, using samba to share the file. Durring the play time (~2 hours) the video did not get stuck, played to the end smoothly. I have stock cooling (the box was never opened), and pleasantly warm to the touch. Also tried the same movie with NFS share, same result.

  • Thanks for reporting back. I feel really curious about why I seem to have far more unstable playback than you

    Can you please verify if you can enable 24p output modes? I don't know if this is a real problem or just my test setup won't support it and therefore LE doesn't show it.

    Also, can you connect by SSH and see the cpu temperature with cputemp at the middle of a playback? What is the ambient room temperature aprox?

    Edited once, last by madmalkav (April 1, 2019 at 8:31 PM).

  • Cputemp output after 1 hour of playback, on 22°C room temperature:

    Code
    LibreELEC:~ # cputemp
    74 C
    Quote

    Can you please verify if you can enable 24p output modes?

    How do I do that? I combed through the settings, but haven't found a setting like this.

  • How do I do that? I combed through the settings, but haven't found a setting like this.

    Go to Settings-->System-->Display and press Enter on 'Whitelist'. A list of all possible resolutions/refresh rates will be displayed. These are the resolutions/refresh rates detected by Kodi when connected to your TV.

  • My unit gets way hotter than that on similar room temp, I will have to investigate why.

    Sorry for the lack of upgrades, life being a bitch lately, I hope to get some spare hours to continue working on this soon.

  • madmalkav same problem here with a rock64 1gb, video freezes, audio continues, then video goes fast forward to sync with the audio, my temps dont go above 60C even with cpu governor at performance.

  • buximze I've been testing and definitively seems my issue was caused by poor cooling. Also, when it fails on my box, audio continues but video never ever catch up, so I don't think it is the same issue.