9 9
balbes150

Armbian for TV box rk3328

Recommended Posts

3 hours ago, balbes150 said:

We will test :)

 

 

These are the areas that need more testing:

  • Using MPV and Gstreamer video players, and reporting performance. We need to choose which of the two will be the default player in the Armbian multimedia implementation.
  • Performance of Chromium streaming, playing unencrypted videos (e.g. Youtube) at different resolutions, and also DRM encrypted videos (Netflix, Amazon Prime Video, etc.).
  • General desktop experience, when using regular desktop apps (text editors, pdf readers, libreoffice, etc).

Thx. :thumbup:

Share this post


Link to post
Share on other sites
1 hour ago, JMCC said:

These are the areas that need more testing:

  • Using MPV and Gstreamer video players, and reporting performance. We need to choose which of the two will be the default player in the Armbian multimedia implementation.
  • Performance of Chromium streaming, playing unencrypted videos (e.g. Youtube) at different resolutions, and also DRM encrypted videos (Netflix, Amazon Prime Video, etc.).
  • General desktop experience, when using regular desktop apps (text editors, pdf readers, libreoffice, etc).

I tested the rest of the components. Gstreamer-runs and works with all videos, allows you to scale the video on the desktop (I think this mode, zoom capabilities, determines that this player can be used by default in images with DE). The performance of both variants (Gstreamer and MPV) seemed to me the same, but the usability (mouse, scaling, working on the X11 desktop) is clearly in favor of Gstreamer. Play youtube to brouser videos-shows everything in any way. One restriction-Internet channel. But until I found one oddity in the browser when playing video (I think it is associated with errors in dtb), on the model MX10 the browser did not switch to the acceleration mode, I will understand what the reason is. Checked KODI-everything works. I needed to run it properly. By the way, a proposal to finalize the script. It is desirable to add to the installer, the formation of data to create the KODI startup service, that it was possible after installation on the server images, activate the KODI service and get a fully working KODI system. I know that there is a LE (by the way a very good specialized system), but LE has one drawback, it is a closed binary system, in which you can not use standard approaches to install additional packages (deb). Sometimes it is necessary to have KODI and be able to extend the system by conventional means. The overall performance of Armbian in desktop mode, and without HW, is quite good. If you install the system in eMMC, the speed of the system is comparable to a normal home PC. What was missing was the full-screen video capabilities. With the release of your script, this problem is almost solved. By the way, I have long wanted to open a thread for the discussion of universal devices TV box, which can act as a replacement for conventional PCs\laptops and a media centre on the big TV. ie MiniPC + media box = TV box.

Share this post


Link to post
Share on other sites
13 minutes ago, balbes150 said:

the KODI startup service, that it was possible after installation on the server images

Yes, I remember I saw you include in your images an option to start Kodi in lightDM startup menu, is that what you mean?

 

15 minutes ago, balbes150 said:

The overall performance of Armbian in desktop mode, and without HW, is quite good.

Yes, the problem is that HW acceleration sometimes has a negative impact on overall desktop experience. It is most noticeable, for example, when dragging windows. I think it is not too bad in RK3328, seems worse to me in RK3399. So it is a trade: video and OpenGL acceleration, in exchange for worst performance in regular desktop usage.

 

18 minutes ago, balbes150 said:

the usability (mouse, scaling, working on the X11 desktop) is clearly in favor of Gstreamer

I agree with that. The only problem is that Gstreamer doesn't allow you to use subtitles. Also, you cannot select audio track with the Qt5 player, you need to install a different one. But I think that, for those features, we can just continue offering MPV and Kodi as a community work, not as part of official Armbian.

Share this post


Link to post
Share on other sites
56 minutes ago, JMCC said:

Yes, I remember I saw you include in your images an option to start Kodi in lightDM startup menu, is that what you mean?

If there is an option with Lightdm - it will also be useful. I meant something like that. That is, after installation on the SERVER, you can run the command "service kodi enable" and at subsequent starts OS of the KODI system automatically started.

https://github.com/150balbes/LibreELEC.tv/blob/Amlogic-Leia-4.x/packages/mediacenter/kodi/system.d/kodi.service

 

1 hour ago, JMCC said:

I agree with that. The only problem is that Gstreamer doesn't allow you to use subtitles. Also, you cannot select audio track with the Qt5 player, you need to install a different one. But I think that, for those features, we can just continue offering MPV and Kodi as a community work, not as part of official Armbian.

All components remain, we only assign the desired option as the default player (when the user clicks on the video file, the default option is launched).

Share this post


Link to post
Share on other sites
1 minute ago, balbes150 said:

If there is an option with Lightdm - it will also be useful. I meant something like that. That is, after installation on the SERVER, you can run the command "service kodi enable" and at subsequent starts OS of the KODI system automatically started.

https://github.com/150balbes/LibreELEC.tv/blob/Amlogic-Leia-4.x/packages/mediacenter/kodi/system.d/kodi.service

Cool, I want to see it action. I have a LePotato, Odroid-C2 and Khadas Vim2. Which image do you recommend me for download and test, with HW video accel, libmali and all the bells and whistles? Probably this one?: https://yadi.sk/d/5_32km_EsCV2A/ARMBIAN/5.71/NEXT/Armbian_5.71_Aml-s9xxx_Ubuntu_bionic_next_5.0.0-rc1-next-20190114-g8ce4d582f-dirty_desktop.img.xz

 

3 minutes ago, balbes150 said:

All components remain, we only assign the desired option as the default player

Well, I think including all three players in the default Armbian image would be too much. IMO, it would be better to just keep one player, and then make community scripts/images with more stuff. I'm planning to open a separate topic to discuss this issue, and see what other devs think about it.

Share this post


Link to post
Share on other sites

To all.

Pay attention. In the new images, the dtb that is specified by default in the image has changed. This is now a file for MX10. Since the MVR9 model is very good, but it is difficult to buy it (now the price has increased dramatically), so I decided to set the default more common variant of dtb. :)

 

 

3 minutes ago, JMCC said:

Cool, I want to see it action. I have a LePotato, Odroid-C2 and Khadas Vim2. Which image do you recommend me for download and test, with HW video accel, libmali and all the bells and whistles? Probably this one?

Such an image Armbian for S9xxx yet.  :)

There are ready-made images with Libreelec with kernel 4.19 and HW for S905 (used by LIMA) and S912 (used by PANFROST). If you're interested, I can give you a link.

 

11 minutes ago, JMCC said:

Well, I think including all three players in the default Armbian image would be too much. IMO, it would be better to just keep one player, and then make community scripts/images with more stuff. I'm planning to open a separate topic to discuss this issue, and see what other devs think about it. 

I think MPV takes up a bit of space and include all image. KODI Yes, it is possible to take out in a separate package (deb + all dependens) and to put it at will.

Share this post


Link to post
Share on other sites
19 minutes ago, balbes150 said:

If you're interested, I can give you a link.

Well, the solutions of Libreelec are not always easy to port to Armbian. I am more interested if you can point me to some debs containing libmali, panfrost, kodi for amlogic with the kodi service included, etc. I remember using some of your images a long time ago, and I think you had the debs for download in some place.

Share this post


Link to post
Share on other sites
14 minutes ago, JMCC said:

Well, the solutions of Libreelec are not always easy to port to Armbian. I am more interested if you can point me to some debs containing libmali, panfrost, kodi for amlogic with the kodi service included, etc. I remember using some of your images a long time ago, and I think you had the debs for download in some place.

I have not yet done such DEB, the process is constantly being finalized (changed and improved) and soon promise official support for decoding v4l-2m2 immediately in the main kernel (and I hope to release the official FFMPEG with such support).

Share this post


Link to post
Share on other sites
1 hour ago, balbes150 said:

I have not yet done such DEB, the process is constantly being finalized (changed and improved) and soon promise official support for decoding v4l-2m2 immediately in the main kernel (and I hope to release the official FFMPEG with such support).

Okay, so just to avoid hijacking this thread, we can continue the discussion about this in a new one. I'll tag you when I start it. I'm very interested in this topic too.

Share this post


Link to post
Share on other sites
12 hours ago, raksan said:

Update:

 

I managed to get Wifi work. I've successfully compiled rtl8821cu from this repo.  First, it throws lots of error. I've change the target to RPI3, then it got compiled. I did "sudo make install", "sudo modprobe 8821cu", it loads to kernel but no wlan0 yet. Until today, I did some change to dtb file by changing the Wifi entry to match my box. Then to my surprise, it load automatically on boot and I can connect wifi to my router.

 

This is what my wifi entry:


    wireless-wlan {
        compatible = "wlan-platdata";
        rockchip,grf = <0x1c>;
        wifi_chip_type = "rtl8821cu";
        sdio_vref = <0x708>;
        keep_wifi_power_on;
        WIFI,poweren_gpio = <0x3f 0x13 0x1>;
        WIFI,host_wake_irq = <0xcd 0x1 0x0>;
        WIFI,reset_gpio = <0xcd 0x8 0x1>;
        status = "okay";
    };
Quote

Congrats, raksan.

Do you mean you've got to work out internal wifi in MX-10 Android 8.1? I've tried your dtb but no rtl8821cu driver in kernel. Tried 8723bs (from nx-10 original dts) but no luck. I do not mind recompiling kernel, but 3 hours (I use the target machine for it). I'm working on kernel 4.4.154 from balbes150's github rockchip-kernel, with a config that gets most of wifi drivers as working modules modules. and little bugs on ssv6051 driver corrected. I'll post all this in short so balbes150 could use them on his own criteria.

Now, I'll try to get the rtl8821cu included in the kernel tree as a module. First time I manage Kconfigs from scratch. I wish beginner's luck.

 

Share this post


Link to post
Share on other sites

@CarlosPiles thank you! Yeah, I'm very happy the internal Wifi is working. Anyway my box is Beelink A1, not MX-10.  I didn't compile the whole kernel, I just compile the wifi driver for my box.  Is your box has 8723bs driver? If so, it's already included in the image. You should play around dtb file, try to get your original dtb file from android, convert it to dts and compare the entry. I got it working that way. I hope you get wifi working too.

Share this post


Link to post
Share on other sites

Test media-script to MX10

http://forum.puppyrus.org/index.php?topic=21337.msg153103#msg153103

 

Mode 1080 (used TV \ monitor with Full HD) desktop-MPV and Gstreamer (and player based on it) twist all the videos in full screen without problems. The main advantage of Gstreamer - it can be scaled in arbitrary proportions directly on the desktop, MPV - only full screen on the entire desktop and control only buttons (or remote control if it has support in the system)
KODI-works without problems with any formats.
Playing in the browser-there is something strange and do not understand what the reason. Full-screen playback mode. If you select the parameters in the YouTube more than 720-begin braking and regular friezes with a spinning white circle in the center. I have the feeling that not enough channel speed Internet.

 

Desktop mode on a 4K TV with 4K.

Video. A strange glitch on my TV 4K-when you try to run any video software with any video format - green horizontal chaotic flat on video and brakes when playing, the only thing that if you run KODI, then it will be the video itself is normal, but it is necessary to move the mouse or try to display the video reference information on the "O" button - immediately appear the same green bars and video slows sharply. And it does not matter what the resolution of the desktop to set at 720 and 1080 exactly the same kanitel. I don't know what the reason is. You'll have to check MVR9.
But if you run a clean LE-4K TV, everything works without interference, any video turns in full screen (including 4K). I tried to install the YouTube plugin in LE and watch the video in IT, there you can set only 720, and the video works without problems with the desktop format 4K.
I think the reason in software or settings or banal heating, it is necessary to understand.

 

 

Test to MVR9

http://forum.puppyrus.org/index.php?topic=21366.msg153162#msg153162

 

Checked on MVR9 on TV 4K-everything works in MPV gstreamer KODI without glitches, which described about MX10. So the reason in something on the MX10, most likely in dtb or kernel.

A pleasant surprise, it turned out that MVR9 in KODI, MPV and on the desktop Armbian (in the file Manager and other things) out of the box working remote, though not all of the buttons (not the main "Ok").

With video playback in the browser at 4K screen resolution and video playback in YouTube and MVR9 there are problems (but better than MX10) - very slow, have to put a very low resolution in YouTube and oddly enough to switch to full screen, then works better than in a normal window in the browser. I think the reason is that HW somehow doesn't work correctly with the browser at 4K screen resolution.

The desktop itself while 4K resolution works quickly, the Windows drags fast, the menus are not slow.

Share this post


Link to post
Share on other sites

I have MX10 PRO: https://www.gearbest.com/tv-box/pp_009678683822.html

 

I wanted to test this image, but I'm not able to boot form SD card. If I hold the recovery button during powering on the box boots to Android system recovery.

The recovery button is in the AV socket and must be pressed by a stick. It is similar like the other TV boxes.

 

I've copied the image to the SD card with Ether on Windows and the card is readable in Android on the box, therefore the card and reader are OK. 

Images for Orange Pi One created same way boot fine therefore the program can cerate bootable images.

 

Did somebody test the image with MX10 PRO?

Is my boot procedure wrong?

Share this post


Link to post
Share on other sites
12 hours ago, pvo11 said:

If I hold the recovery button during powering on the box boots to Android system recovery.

For all I know the models rk33xx not need to press anything. The system itself should automatically start from the SD card.

 

 

Share this post


Link to post
Share on other sites
1 hour ago, balbes150 said:

For all I know the models rk33xx not need to press anything. The system itself should automatically start from the SD card.

If I don't press the button, the box boots to Android.

 

1 hour ago, jeanrhum said:

Have you burnt uboot on the sdcard?

My last post in this topic give one procedure.

I didn't know it is necessary, but it didn't help.

I hope I've used the correct files. I've used the files form here:  https://yadi.sk/d/DSO6euzB3ahemo/UBOOT/20180930

Share this post


Link to post
Share on other sites

I didn't find any SD image which boots on my device. Besides Armbian I've tested LibreELEC alpha image for RK3328.

Unfortunately, I'm not very familiar with the booting of such devices therefore I've asked if somebody has tested the same box.

Share this post


Link to post
Share on other sites
26 minutes ago, pvo11 said:

I didn't find any SD image which boots on my device. Besides Armbian I've tested LibreELEC alpha image for RK3328.

Unfortunately, I'm not very familiar with the booting of such devices therefore I've asked if somebody has tested the same box.

It looks like you have the same problem as the Z28 , the manufacturer has made it impossible to run other systems easily. The topic Z28 is infa, how can you try to solve it, but it requires some training.

Share this post


Link to post
Share on other sites

Hello. Now working on MX-10 8,1 Oreo 4/32 internal wifi. I've got access to internal android devicetree via adb (running box)and want to extract it from to box to a file to view parameters. How can I do this task. I've googled for it and only got help for extracting from OTA and ROM files.

TIA

 

Share this post


Link to post
Share on other sites
On 1/13/2019 at 3:07 PM, balbes150 said:

New version 5.69 20190113.

Expanded the list of WiFi modules (but I don't know if it will work or not).

There is a model ssv6051. It loads fine, but WiFi didn't show up on the MX10. You can try to find the reason yourself. Most likely you need to change the DTB (take the necessary data from the native dtb from Android firmware).

First I want to say that all my tests are on a MX-10 4/32 Oreo 8.1. Kernel compilation an tests are done into the same machine. Mx-10 DOS NOT use ssv6051 wifi but rtl8723bs. Once this said I can help a bit with this. It seems sources are still forn android defaults

 

In drivers/net/wireless/rockchip_wlan/ssv6xxx/firmware/ssv6051-wifi.cfg  , change

firmware_path = /vendor/etc/firmware/  ----> firmware_path = /lib/firmware/ssv6051/

In drivers/net/wireless/rockchip_wlan/ssv6xxx/ssvdevice/ssvdevice.c change line 61

char DEFAULT_CFG_PATH[] = "/vendor/etc/firmware/ssv6051-wifi.cfg";

with

char DEFAULT_CFG_PATH[] = "/lib/firmware/ssv6051/ssv6051-wifi.cfg";

And drivers/net/wireless/rockchip_wlan/ssv6xxx/firmware/ssv6051-wifi.cfg must be installed in /lib/firmware/ssv6051 directory

You also need firmware file installed in this folder (ssv6051-sw.bin got from armbian for S905 3.14 Kernel)

ssv6051-sw.bin

Share this post


Link to post
Share on other sites
On 1/13/2019 at 8:23 AM, raksan said:

@CarlosPiles I'm in the same boat, I'm trying to compile rtl8821cu for my box but stuck at some error. I've found this installable kernel header here https://yadi.sk/d/apAYXzjHA2Pekw you can try it.

this is a how-to include rtl8821cu into kernel tree for future compilation

1 Extract the compressed file into drivers/net/wireless/rockchip_wlan/

2 Modify drivers/net/wireless/rockchip_wlan/Kconfig and change about line 47

source "drivers/net/wireless/rockchip_wlan/rtl8822be/Kconfig"
source "drivers/net/wireless/rockchip_wlan/mvl88w8977/Kconfig"
source "drivers/net/wireless/rockchip_wlan/ssv6xxx/Kconfig"

  /* Insert the Kconfig path to 8821cu module */
 
source "drivers/net/wireless/rockchip_wlan/rtl8822be/Kconfig"
source "drivers/net/wireless/rockchip_wlan/rtl8821cu/Kconfig"
/* ----->  
source "drivers/net/wireless/rockchip_wlan/mvl88w8977/Kconfig"
<------ */
source "drivers/net/wireless/rockchip_wlan/ssv6xxx/Kconfig"

3 Modify Makefile to get rid of the new module

original Makefile
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_AP6XXX)	+= rkwifi/
obj-$(CONFIG_RTL8188EU)	+= rtl8188eu/
obj-$(CONFIG_RTL8188FU)	+= rtl8188fu/
obj-$(CONFIG_RTL8189ES) += rtl8189es/
obj-$(CONFIG_RTL8189FS) += rtl8189fs/
obj-$(CONFIG_RTL8723BS) += rtl8723bs/
obj-$(CONFIG_RTL8723BU) += rtl8723bu/
obj-$(CONFIG_RTL8723CS)	+= rtl8723cs/
obj-$(CONFIG_RTL8723DS) += rtl8723ds/
obj-$(CONFIG_RTL8822BE)	+= rtl8822be/
obj-$(CONFIG_SSV6051)	+= ssv6xxx/
obj-$(CONFIG_MVL88W8977)	+= mvl88w8977/
obj-$(CONFIG_WL_ROCKCHIP)	+= wifi_sys/rkwifi_sys_iface.o
obj-$(CONFIG_WL_ROCKCHIP)	+= rkwifi/rk_wifi_config.o
obj-$(CONFIG_CYW_BCMDHD)	+= cywdhd/

New Makefile
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_AP6XXX)	+= rkwifi/
obj-$(CONFIG_RTL8188EU)	+= rtl8188eu/
obj-$(CONFIG_RTL8188FU)	+= rtl8188fu/
obj-$(CONFIG_RTL8189ES) += rtl8189es/
obj-$(CONFIG_RTL8189FS) += rtl8189fs/
obj-$(CONFIG_RTL8723BS) += rtl8723bs/
obj-$(CONFIG_RTL8723BU) += rtl8723bu/
obj-$(CONFIG_RTL8723CS)	+= rtl8723cs/
obj-$(CONFIG_RTL8723DS) += rtl8723ds/
obj-$(CONFIG_RTL8822BE)	+= rtl8822be/
obj-$(CONFIG_RTL8821CU)	+= rtl8821cu/
obj-$(CONFIG_SSV6051)	+= ssv6xxx/
obj-$(CONFIG_MVL88W8977)	+= mvl88w8977/
obj-$(CONFIG_WL_ROCKCHIP)	+= wifi_sys/rkwifi_sys_iface.o
obj-$(CONFIG_WL_ROCKCHIP)	+= rkwifi/rk_wifi_config.o
obj-$(CONFIG_CYW_BCMDHD)	+= cywdhd/

 

rtl8821cu.tar.xz

Share this post


Link to post
Share on other sites
10 hours ago, CarlosPiles said:

Hello. Now working on MX-10 8,1 Oreo 4/32 internal wifi. I've got access to internal android devicetree via adb (running box)and want to extract it from to box to a file to view parameters. How can I do this task. I've googled for it and only got help for extracting from OTA and ROM files. 

I read that there are programs for RK under Windows that allow you to immediately pull out all the firmware from eMMC and disassemble it into components. If you can pull the DTB off the MX10, share it, I want to learn it. I haven't opened the case for my MX10 yet, but I've seen internet that this model uses ssv6051. The module and firmware I have in the image, but need the correct settings for the dtb.

Share this post


Link to post
Share on other sites
16 hours ago, balbes150 said:

I haven't opened the case for my MX10 yet, but I've seen internet that this model uses ssv6051. The module and firmware I have in the image, but need the correct settings for the dtb.

Hi @balbes150

Not mine. Here you can see.

ubuntu@ubuntu-Ci5:~$ adb connect 192.168.0.142:5555
connected to 192.168.0.142:5555
ubuntu@ubuntu-Ci5:~$ adb shell
rk3328_box:/ # lsmod
Module                  Size  Used by
8723bs               1400585  0 
rk3328_box:/ # 

Here it use rtl8723bs

Share this post


Link to post
Share on other sites
17 hours ago, balbes150 said:

If you can pull the DTB off the MX10, share it, I want to learn it. I haven't opened the case for my MX10 yet, but I've seen internet that this model uses ssv6051. The module and firmware I have in the image, but need the correct settings for the dtb. 

 

Hi @balbes150

Here you have my mx-10 internal dts

mx-10-from-box.dts

Share this post


Link to post
Share on other sites

How to extract DTB from an RK3328 TVBOX

The DTB is in the resource partition and it's less than 100 KB long in size.

With this scripts you can get it from a TVBOS. I've enabled USB debugging and Internet ADB in developer options within TVBOX setup. Change the IP in connect to fit your environment

ubuntu@ubuntu-Ci5:~$ adb connect 192.168.0.142:5555
connected to 192.168.0.142:5555
ubuntu@ubuntu-Ci5:~$ adb shell
rk3328_box:/ # cd data
rk3328_box:/data # cd media
rk3328_box:/data/media # cd 0
rk3328_box:/data/media/0 # cd Download
rk3328_box:/data/media/0/Download # dd if=/dev/block/by-name/resource of=resource.img bs=100k count=1
1+0 records in
1+0 records out
rk3328_box:/data/media/0/Download # exit
ubuntu@ubuntu-Ci5:~$ adb pull /data/media/0/Download/resource.img
393 KB/s (102400 bytes in 0.254s)
./extract-dtd.py resource.img

And you get the dtb in the dtb folder

Share this post


Link to post
Share on other sites
49 minutes ago, CarlosPiles said:

I've enabled USB debugging and Internet ADB in developer options within TVBOX setup.

 

Sorry if it is obvious, but how do I do this? Thanks.

Share this post


Link to post
Share on other sites

For those of you interested in running Armbian and compiling kernel within MX-10 TVBOX (working with cheap MX-10 4/32 Oreo 8.1)

 Step 1: Burn https://yadi.sk/d/DSO6euzB3ahemo/ARMBIAN/5.68/20190110/Armbian_5.68_Rk3328-tv_Ubuntu_bionic_default_4.4.154_desktop_20190110.img.xz

into SD

Step 2: Change FDT in BOOT/extlinux/extlinux.conf to

  FDT    /dtb/rockchip/rk3328-box-mx10.dtb

Step 3: Insert in TVBOX | First run | Create user | sudo apt update && sudo apt upgrade

Step 4: git clone https://github.com/150balbes/rockchip-kernel.git

Step 5: apt install libncurses5-dev (for make nconfig)

Step 6: Use attached configXXXXXX file as .config

Step 7: make nconfig (here you can adjust your kernel config)

Step 8: F6 Save as .config

Step 9: make all (I use make -j 4 all to launch 4 prcesses and it runs for about 1 hour)

Step 10: Backup full /boot folder

Step 11: sudo make install

Step 12: sudo make config_install

Step 13: Modify BOOT/extlinux/extlinux.conf to boot new kerner (4.1.154)

LABEL Armbian
  LINUX /vmlinuz-4.4.154
  INITRD /uInitrd
  FDT /dtb/rockchip/rk3328-box-mx10.dtb
  APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=uart8250,mmio32,0xff130000 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

Ready to reboot

config20190113

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
9 9