-
Posts
15 -
Joined
-
Last visited
Reputation Activity
-
Vittorio Mori got a reaction from jock in CSC Armbian for RK322x TV box boards
@primoitt: @ilmich solved it for me by compiling a libreleec 11 build with mpv binary included- Everything works, h264/hevc/mpeg2 ..... brilliant.
-
Vittorio Mori got a reaction from MattWestB in CSC Armbian for RK322x TV box boards
@primoitt: @ilmich solved it for me by compiling a libreleec 11 build with mpv binary included- Everything works, h264/hevc/mpeg2 ..... brilliant.
-
Vittorio Mori got a reaction from primoitt in CSC Armbian for RK322x TV box boards
@primoitt: @ilmich solved it for me by compiling a libreleec 11 build with mpv binary included- Everything works, h264/hevc/mpeg2 ..... brilliant.
-
Vittorio Mori got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
@primoitt: @ilmich solved it for me by compiling a libreleec 11 build with mpv binary included- Everything works, h264/hevc/mpeg2 ..... brilliant.
-
Vittorio Mori reacted to primoitt in CSC Armbian for RK322x TV box boards
Hey @Vittorio Mori
If you need only H265 decoding, try this:
Focal Legacy 4.4.194
https://users.armbian.com/jock/rk322x/armbian/stable/
@jock 's media framework
ffmpeg -decoders |grep mpp V..... h264_rkmpp h264 (rkmpp) (codec h264) V..... hevc_rkmpp hevc (rkmpp) (codec hevc) V..... vp8_rkmpp vp8 (rkmpp) (codec vp8) V..... vp9_rkmpp vp9 (rkmpp) (codec vp9)
For testing:
wget https://test-videos.co.uk/vids/bigbuckbunny/mp4/h265/1080/Big_Buck_Bunny_1080_10s_30MB.mp4 mv Big_Buck_Bunny_1080_10s_30MB.mp4 Big_Buck_Bunny_1080_10s_30MB_h265.mp4 ffmpeg -benchmark -loglevel debug -hwaccel drm -hwaccel_device /dev/dri/renderD128 -c:v hevc_rkmpp -i Big_Buck_Bunny_1080_10s_30MB_h265.mp4 -f null -
VP8, VP9 and H265 works
H264 not working..
Encoding is not working...
ffmpeg -encoders |grep mpp
-
Vittorio Mori reacted to jock in CSC Armbian for RK322x TV box boards
@Vittorio Mori Hardware video decoding is available since kernel 5.10 on armbian, thanks to libreelec patches, but the userland part is a bit worrysome.
You can try with this, but it is a very old post and very old binaries that probably don't work on recent kernel because it is more than one year old.
The problem is that ffmpeg never really stabilized the v4l2-request kernel api, thus you have to compile the libreelec patches version and then supply the static libraries to mpv to gain hardware video decoding via v4l2-request.
I don't know if recent ffmpeg 6.0 release include working support for v4l2-request or there is the need to still use the libreelec patched version.
-
Vittorio Mori got a reaction from vhick in CSC Armbian for RK322x TV box boards
I have uploaded the OpenWRT-22.03-rc6 image for rk322x on my google drive here's the link:
https://drive.google.com/file/d/1MxEDd1COSNiQDrocZLgSscracWDXdVqT/view?usp=sharing
NOTES/INSTRUCTIONS:
The .dtb for booting is the GENERIC rk3229 from LibreELEC made by @ilmich.
Other .dtb files are in the FIRST PARTITION (fat32/boot) of the image. Copy & overwrite the one you prefer to rk322x-box.dtb. i.e.:
Once the box has booted, enter the console via an attached keyboard and:
mount /dev/mmcblk0p1 /mnt
cp /mnt/<name of the dtb you prefer>.dtb /mnt/rk322x-box.dtb
umount /mnt
reboot
The .dtb files are fom LIbreELEC 10 - check this post
https://forum.libreelec.tv/thread/25236-unofficial-rk3228-rk3229-libreelec-10-x-builds/
on "supported devices" for names/clock etc.
ON FIRST BOOT the eth0 (br-lan) interface has default IP to 192.168.1.1
SOMETIMES ON FIRST BOOT - AND ONLY FIRST ONE - eth0 gets "stuck" and does not respond: to make it work just enter the console with an attached keyboard and do a
ping 192.168.1.xxx
with xxx as a "live" host on your network: after a couple of pings the interface responds. It happened to me a couple of times, just on FIRST BOOT. Once you configure the interface in OpenWRT everything is ok.
Point your browser to 192.168.1.1, configure OpenWRT.
P.S. obviously you have to configure br-lan with an appropriate gateway/dns to install/upgrade packages.
Check OpenWRT docs if in doubt.
WIFI is disabled by default: to enable it, do :
echo <name of wifi module> > /etc/modules.d/<name of wifi module>
example:
echo ssv6051 > /etc/modules.d/ssv6051
(do not enable ssv6051: for some reason it slows down everything)
Enjoy.
-
Vittorio Mori got a reaction from remlei in CSC Armbian for RK322x TV box boards
I have uploaded the OpenWRT-22.03-rc6 image for rk322x on my google drive here's the link:
https://drive.google.com/file/d/1MxEDd1COSNiQDrocZLgSscracWDXdVqT/view?usp=sharing
NOTES/INSTRUCTIONS:
The .dtb for booting is the GENERIC rk3229 from LibreELEC made by @ilmich.
Other .dtb files are in the FIRST PARTITION (fat32/boot) of the image. Copy & overwrite the one you prefer to rk322x-box.dtb. i.e.:
Once the box has booted, enter the console via an attached keyboard and:
mount /dev/mmcblk0p1 /mnt
cp /mnt/<name of the dtb you prefer>.dtb /mnt/rk322x-box.dtb
umount /mnt
reboot
The .dtb files are fom LIbreELEC 10 - check this post
https://forum.libreelec.tv/thread/25236-unofficial-rk3228-rk3229-libreelec-10-x-builds/
on "supported devices" for names/clock etc.
ON FIRST BOOT the eth0 (br-lan) interface has default IP to 192.168.1.1
SOMETIMES ON FIRST BOOT - AND ONLY FIRST ONE - eth0 gets "stuck" and does not respond: to make it work just enter the console with an attached keyboard and do a
ping 192.168.1.xxx
with xxx as a "live" host on your network: after a couple of pings the interface responds. It happened to me a couple of times, just on FIRST BOOT. Once you configure the interface in OpenWRT everything is ok.
Point your browser to 192.168.1.1, configure OpenWRT.
P.S. obviously you have to configure br-lan with an appropriate gateway/dns to install/upgrade packages.
Check OpenWRT docs if in doubt.
WIFI is disabled by default: to enable it, do :
echo <name of wifi module> > /etc/modules.d/<name of wifi module>
example:
echo ssv6051 > /etc/modules.d/ssv6051
(do not enable ssv6051: for some reason it slows down everything)
Enjoy.
-
Vittorio Mori got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
I have uploaded the OpenWRT-22.03-rc6 image for rk322x on my google drive here's the link:
https://drive.google.com/file/d/1MxEDd1COSNiQDrocZLgSscracWDXdVqT/view?usp=sharing
NOTES/INSTRUCTIONS:
The .dtb for booting is the GENERIC rk3229 from LibreELEC made by @ilmich.
Other .dtb files are in the FIRST PARTITION (fat32/boot) of the image. Copy & overwrite the one you prefer to rk322x-box.dtb. i.e.:
Once the box has booted, enter the console via an attached keyboard and:
mount /dev/mmcblk0p1 /mnt
cp /mnt/<name of the dtb you prefer>.dtb /mnt/rk322x-box.dtb
umount /mnt
reboot
The .dtb files are fom LIbreELEC 10 - check this post
https://forum.libreelec.tv/thread/25236-unofficial-rk3228-rk3229-libreelec-10-x-builds/
on "supported devices" for names/clock etc.
ON FIRST BOOT the eth0 (br-lan) interface has default IP to 192.168.1.1
SOMETIMES ON FIRST BOOT - AND ONLY FIRST ONE - eth0 gets "stuck" and does not respond: to make it work just enter the console with an attached keyboard and do a
ping 192.168.1.xxx
with xxx as a "live" host on your network: after a couple of pings the interface responds. It happened to me a couple of times, just on FIRST BOOT. Once you configure the interface in OpenWRT everything is ok.
Point your browser to 192.168.1.1, configure OpenWRT.
P.S. obviously you have to configure br-lan with an appropriate gateway/dns to install/upgrade packages.
Check OpenWRT docs if in doubt.
WIFI is disabled by default: to enable it, do :
echo <name of wifi module> > /etc/modules.d/<name of wifi module>
example:
echo ssv6051 > /etc/modules.d/ssv6051
(do not enable ssv6051: for some reason it slows down everything)
Enjoy.
-
Vittorio Mori got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
Since I'm not really a developer but a Linux System Administrator with hacky tendencies, that's what I usually do to use different Linux-es on these rk322x boxes:
- I use MultiTool to burn a .. Multitool image on the internal flash of the box, so I get a fat32 uboot/extlinux partition that boots
- I boot from Multitool again, drop to a shell and repartition the internal flash w fdisk, then I modify the extlinux.conf with the kernel boot parameters I need (kernel, initrd, dtb ..)
In OpenWRT case it was pretty easy: it has no initrd, and it's as bare-bone as it can be: you just have to add a line "init=/sbin/init" to the kernel line and youre basically good to go.
The challenge was to find a suitable arch: rpi2b (bcm 2709) is the perfect match i.e.: arm_cortex-a7_neon-vfpv4:
So I grabbed the .img from OpenWRT, put it into the multitool SD card, mounted it with a loop device, and did a simple "cp -R" of the whole sys partition to the second partition of the internal flash.
Then I extracted a 5.16.11-rk322x kernel & modules & firmware from bullseye-minimal build from @jock, and copied them into /lib.
The next step was to find a suitable .dtb to boot: I used @ilmich dtbs from his LIbreELEC 10.0 builds, since they worked beautifully in the tvboxes rk3228a/rev 3.1 I own.
Then I modified the /etc/modules.d files of OpenWRT to load proper modules for the rk322x board: wifi, thermal, etc.
Then I added the bootup "hardware-optimization" armbian script, just to optimize things further, IRQ routing, eth0 queues etc.
Sync & reboot: OpenWRT is up & running, awaiting connection on default address 192.168.1.1 on the ethernet port.
All packages work, kmods are simply written in the wrong directory inside /lib/modules but the kernel gets them from the right place /lib/modules/$(uname -r) so in practice everything is 100% OK, as long as the modules are present. I copied ALL the modules since I have a lot of free space in the internal flash, it's a full ext4 install, not a squashfs rootfs.
Even updates are OK.
I'm fine-tuning some parameters, then I'll add link to the .gz image, ready to flash w Multitool, later today.
-
Vittorio Mori got a reaction from jock in CSC Armbian for RK322x TV box boards
Today I assembled a fully working image of OpenWRT 22.03.0 for this rk322x tvbox.
It's a patchwork/mix from multitool/debian kernel 5.16.11 and the userland from the latest OpenWRT I could find for raspberry PI 2/B (same cpu arch):
OpenWrt 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.213.35949-d09fbe0
I've tested wireguard/vxlan/wifi, all working nice (wireless AP too, much to my surprise!).
You can turn this (rather old for 2022) TVBOX into an extremely capable router with a nice www interface (too bad for the 100Mbit LAN port...). I guess you can add some more ethernet interfaces using USB ports, but do not expect too much on the performance side.
The best way to add ethernet ports for these devices is a managed switch, so you can use VLANs (€20 for a cheap 5 ports on Amazon).
Speed of wireguard VPN is quite nice (around 70Mbps on iperf3).
If anyone is interested I can post the link for the image (flashable via multitool).
It was - as usual - painful, but a nice challenge.
edit:
I had to do this because there are no OpenWRT releases for rockchip/32bit armv7: arm64 builds for Rockchip 3318/3328 are officially available.
-
Vittorio Mori got a reaction from RaptorSDS in CSC Armbian for RK322x TV box boards
Today I assembled a fully working image of OpenWRT 22.03.0 for this rk322x tvbox.
It's a patchwork/mix from multitool/debian kernel 5.16.11 and the userland from the latest OpenWRT I could find for raspberry PI 2/B (same cpu arch):
OpenWrt 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.213.35949-d09fbe0
I've tested wireguard/vxlan/wifi, all working nice (wireless AP too, much to my surprise!).
You can turn this (rather old for 2022) TVBOX into an extremely capable router with a nice www interface (too bad for the 100Mbit LAN port...). I guess you can add some more ethernet interfaces using USB ports, but do not expect too much on the performance side.
The best way to add ethernet ports for these devices is a managed switch, so you can use VLANs (€20 for a cheap 5 ports on Amazon).
Speed of wireguard VPN is quite nice (around 70Mbps on iperf3).
If anyone is interested I can post the link for the image (flashable via multitool).
It was - as usual - painful, but a nice challenge.
edit:
I had to do this because there are no OpenWRT releases for rockchip/32bit armv7: arm64 builds for Rockchip 3318/3328 are officially available.
-
Vittorio Mori got a reaction from MattWestB in CSC Armbian for RK322x TV box boards
Today I assembled a fully working image of OpenWRT 22.03.0 for this rk322x tvbox.
It's a patchwork/mix from multitool/debian kernel 5.16.11 and the userland from the latest OpenWRT I could find for raspberry PI 2/B (same cpu arch):
OpenWrt 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.213.35949-d09fbe0
I've tested wireguard/vxlan/wifi, all working nice (wireless AP too, much to my surprise!).
You can turn this (rather old for 2022) TVBOX into an extremely capable router with a nice www interface (too bad for the 100Mbit LAN port...). I guess you can add some more ethernet interfaces using USB ports, but do not expect too much on the performance side.
The best way to add ethernet ports for these devices is a managed switch, so you can use VLANs (€20 for a cheap 5 ports on Amazon).
Speed of wireguard VPN is quite nice (around 70Mbps on iperf3).
If anyone is interested I can post the link for the image (flashable via multitool).
It was - as usual - painful, but a nice challenge.
edit:
I had to do this because there are no OpenWRT releases for rockchip/32bit armv7: arm64 builds for Rockchip 3318/3328 are officially available.
-
Vittorio Mori got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
Today I assembled a fully working image of OpenWRT 22.03.0 for this rk322x tvbox.
It's a patchwork/mix from multitool/debian kernel 5.16.11 and the userland from the latest OpenWRT I could find for raspberry PI 2/B (same cpu arch):
OpenWrt 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.213.35949-d09fbe0
I've tested wireguard/vxlan/wifi, all working nice (wireless AP too, much to my surprise!).
You can turn this (rather old for 2022) TVBOX into an extremely capable router with a nice www interface (too bad for the 100Mbit LAN port...). I guess you can add some more ethernet interfaces using USB ports, but do not expect too much on the performance side.
The best way to add ethernet ports for these devices is a managed switch, so you can use VLANs (€20 for a cheap 5 ports on Amazon).
Speed of wireguard VPN is quite nice (around 70Mbps on iperf3).
If anyone is interested I can post the link for the image (flashable via multitool).
It was - as usual - painful, but a nice challenge.
edit:
I had to do this because there are no OpenWRT releases for rockchip/32bit armv7: arm64 builds for Rockchip 3318/3328 are officially available.
-
Vittorio Mori got a reaction from MattWestB in CSC Armbian for RK322x TV box boards
Thanks for your suggestion.
Much to my amazement network boot works pretty well: I managed to boot Alpine Linux via a modified init script that gets its rootfs from an AoE target.
I did all the debugging via tcpdump fron another system, avoiding using a serial console, and zapped the mmbclk2 partition via the usual fdisk utility.
U-boot properly started making a BOOTP/PXE/DHCP broadcast request.
I post here my findings: first the dnsmasq.conf file (tftp+dhcp all in one) - Mac address redacted, insert the one from the box you want to boot
--- dnsmasq.conf
interface=br0
bogus-priv
filterwin2k
no-resolv
localise-queries
no-negcache
no-hosts
dhcp-authoritative
listen-address=192.168.111.128
dhcp-option=3,192.168.111.1
dhcp-option=6,192.168.111.1
server=192.168.111.1
dhcp-range=interface=br0,192.168.111.35,192.168.111.40,infinite
enable-tftp
tftp-root=/var/tftp
dhcp-host=ee:58:f3:XX:XX:XX,set:d01,192.168.111.35,cazzillo,infinite
cname=set:d01,cazzillo
--- end of dnsmasq.conf
This assumes dns+router ad 192.168.111.1, and "cuts off" 5 IPs from 192.168.111.35 to 192.168.111.40.
U-boot requests the following file:
/var/tftp/pxelinux.cfg/01-ee-58-f3-XX-XX-XX
As its PXELINUX config, i.e.:
FDT /rk322x-box.dtb
LINUX /kernel.img
INITRD /initramfs-rk322x
APPEND modloop=/modloop-rk322x modules=loop,squashfs,sd-mod,usb-storage,aoe ip=dhcp
In the tftp root (/var/tftp) I've put the kernel, (alpine, modded by me) initrd, .dtb file, edited "/var/tftp/pxelinux.cfg/01-ee-58-f3-XX-XX-XX" and it booted!
Pretty impressive.
I've not dwelled into armbian because I am not into systemd, which is the "init" of Debian derivatives.
I won't touch it with a 10-foot pole, but shouldn't be too hard to make it boot.
-
Vittorio Mori reacted to fabiobassa in CSC Armbian for RK322x TV box boards
Hello Vittorio
thank you so much for this effort.
Effectively nas, pbx,adblockers ,vpn' s are the best ever applications for those boxes
I run several pbxes on rk322x , but ALWAYS have found freepbx , even on x86 or 64 very heavy, caotic, too way customized . I run mostly pure asterisk 13 ( or 16 it depends which is shipped with debian itself) with the old, ugly digium GUI interface.
The interface is lightweight since uses static contents and js files and when I need something more customized, I do it in extensions.conf by hand
Maybe we can discuss in private for some improvements ( I think to billing solutions) so we can leave free the 3ad for more hardware/kernel related problems
-
Vittorio Mori got a reaction from fabiobassa in CSC Armbian for RK322x TV box boards
If anyone needs it, as a convenience, I leave here a google drive link for an Armbian "bullseye-minimal" image for the 322x box with FreePbx16 & Asterisk18 compiled in.
Took a whole afternoon of compiling code to make it work.
It's a .gz image you can restore via MultiTool.
root password: freepbx
Freepbx login: admin/freepbx
Hardware .dtb is left vanilla to boot on any platform - use rk322x-config to configure proper cpu/ddr/storage/led speed.
Gets IP from DHCP, you can of course use armbian-configure to use wifi or whatever.
ODBC connector compiled and included for mysql, codec g729 compiled and included.
It's working quite well with softphones ad Yealink VOIP DECT phones, on a couple of pjsip trunks. I expect it to work well with at least 8/10 extensions, maybe more.
Interface is quite heavy for my taste (node.js ....) but it seems it's the "new normal" we have to adapt to.
It's 2 gigs in size.
https://drive.google.com/file/d/1PYuakmA-9JNVmJ3VOYE7GFQBo6dqN-8t/view?usp=sharing
all credits to @jock for creating the original Debian Bullseye image.
-
Vittorio Mori reacted to fabiobassa in CSC Armbian for RK322x TV box boards
@Vittorio Mori
Good afternoon Vittorio
Somewhere in this same 3ad I already posted the boot seguence of those boxes. Posts are so many that maybe you didn't find it.
It doesn't exist a mbr or uefi , instead buried in the soc itself there is a tiny bootstrap that involves ddr ram and few others things. This is called loader mode
If for any reason not even the initializer is present in the emmc or nand, well we have a mode that is called maskrom mode. Since this is buried into the soc, those box are UNBRICKABLE since at least " something.." is still able to boot.
Once the loader is started then the control is passed to u-boot itself
Here you can have an idea of the flowchart
http://opensource.rock-chips.com/wiki_Boot_option
-
Vittorio Mori reacted to fabiobassa in CSC Armbian for RK322x TV box boards
@Vittorio Mori
Ciao Vittorio, buongiorno e benvenuto
I will answer in a straight manner don't consider it rude 😄 but just the answer of someone that loosed sleep trying to achieve the same as you.
Yes ! You have to go trought the whole compile method and then build your buildroot stripping down what is un-needed.
Now the problem is that used to exist a rockchip buildroot method described on github and i don t find anymore it
NO !! Unfortunately you still have to go trought the compilation method enabling compile fmpeg with some tweaking as described
here
with this 3 " magic" flags
--enable-rkmpp \ --enable-version3 \ --enable-libdrm \
or even on this same post at the beginning where @jock says as to enable to HW acceleration with some script
I did it but was a PITA !!!
hope you get your goal