Jump to content

Recommended Posts

Posted (edited)

First of all, thank you to  @Hqnicolas and all the members for this great effort.

 

Just bought an H96 rk3566, having this hardware configuration:

BOARD LABEL: HCY-RK3566-1X32-V20 2023-01-13
SOC RK3566
PMIC RK809-5
LAN RTL8211F
DISPLAY FD6551
WIFI AIC8800D40
eMMC H26M74002HMR - SK Hynix eMMC 5.1 NAND Flash 64Gb.

 

 

It seems to be a mix of the other versions described in this topic, although very close to the one of @WINEDS (thanks for the hints).  

Everything seems to work so far.

Installed using rockchip dev tools, as advised.

 

here its:

    _             _    _                                         _ _        
   /_\  _ _ _ __ | |__(_)__ _ _ _    __ ___ _ __  _ __ _  _ _ _ (_) |_ _  _ 
  / _ \| '_| '  \| '_ \ / _` | ' \  / _/ _ \ '  \| '  \ || | ' \| |  _| || |
 /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, |
                                 |___|                                 |__/ 
 v26.2 rolling for h96-tvbox-3566 running Armbian Linux 6.12.61-current-rockchip64

 Packages:     Debian stable (trixie)
 Support:      for advanced users (rolling release)
 IPv4:         (LAN) 192.168.111.228, 192.168.111.91 (WAN) xxxxxxxxxxx 
 Containers:   big-bear-photoprism-db

 Performance:  

 Load:         8%                Uptime:       46 minutes    
 Memory usage: 6% of 7.50G      
 CPU temp:     38°C                Usage of /:   31% of 57G       

 

 

 

To enable Bluetooth I have used this small overlay in  /boot/overlay-user/ (which enables SPDIF as well):

/dts-v1/;
/plugin/;

/*   &{/serial@fe650000}  */
   &uart1 {
            status = "okay";
            dma-names = "tx\0rx";
            bluetooth {
                status = "disabled";
            };
        };


    &spdif { 
         clock-names = "mclk\0hclk";
         status="okay";     
    };

 

The followings are the drivers used for wifi-bluetooth

wget https://github.com/radxa-pkg/aic8800/releases/download/4.0%2Bgit20250410.b99ca8b6-3/aic8800-firmware_4.0+git20250410.b99ca8b6-3_all.deb

wget https://github.com/radxa-pkg/aic8800/releases/download/4.0%2Bgit20250410.b99ca8b6-3/aic8800-sdio-dkms_4.0+git20250410.b99ca8b6-3_all.deb

dpkg -i aic8800-firmware_4.0+git20250410.b99ca8b6-3_all.deb 

dpkg -i aic8800-sdio-dkms_4.0+git20250410.b99ca8b6-3_all.deb

 

Service to enable bluetooth :

 

[Unit]
Description=Bluetooth HCI Attach (AIC8800)
After=systemd-modules-load.service
Requires=systemd-modules-load.service

After=dev-ttyS1.device
Requires=dev-ttyS1.device

[Service]
Type=oneshot

# Load AIC module
ExecStartPre=/sbin/modprobe aic8800_btlpm_sdio

# Just a small delay
ExecStartPre=/bin/sleep 2

# Attach HCI
ExecStart=/usr/bin/hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep

 

 

To re-enable display in Linux 6.12  another small overlay is required: (the display itself it is not scrolling and available at: /sys/class/leds/display/value )

/dts-v1/;
/plugin/;


 &{/i2c-aux-display} {

            compatible = "i2c-gpio";
            #address-cells = <0x01>;
            #size-cells = <0x00>;

            display@24 {
                compatible = "fdhisi,fd6551";
                reg = <0x24>;
                #address-cells = <0x01>;
                #size-cells = <0x00>;

                tm16xx,digits = [04 03 02 01];
                tm16xx,segment-mapping = [00 01 02 03 04 05 06];

                led@0,0 { reg = <0x00 0x00>; function = "alarm"; };
                led@0,1 { reg = <0x00 0x01>; function = "usb"; linux,default-trigger = "usb-host"; };
                led@0,2 { reg = <0x00 0x02>; function = "pause"; linux,default-trigger = "mmc2"; };
                led@0,3 { reg = <0x00 0x03>; function = "play"; linux,default-trigger = "mmc0"; };
                led@0,4 { reg = <0x00 0x04>; function = "colon"; };
                led@0,5 { reg = <0x00 0x05>; function = "lan"; linux,default-trigger = "stmmac-0:00:link"; };
                led@0,6 { reg = <0x00 0x06>; function = "wlan"; linux,default-trigger = "mmc1"; };

                digits { status = "disabled"; };
                leds { status = "disabled"; };

           };
 };

rk3566-bt-fix.dtso rk3566-led-fix.dtso

Edited by GmP
Posted

Could anyone advise the simple example on how to play media files using hardware decoding on VPU?

I use actual version of Armbian with Edge kernel

user@h96-tvbox-3566:~$ uname -a
Linux h96-tvbox-3566 6.18.0-rc7-edge-rockchip64 #1 SMP PREEMPT Sun Nov 23 22:53:16 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux

and seems that rkvdec is available

user@h96-tvbox-3566:~$ v4l2-ctl --list-devices
rockchip,rk3328-vpu-dec (platform:fdea0000.video-codec):
        /dev/video2
        /dev/media1

rockchip,rk3568-vepu-enc (platform:fdee0000.video-codec):
        /dev/video3
        /dev/media2

rockchip-rga (platform:rga):
        /dev/video1

rkvdec (platform:rkvdec):
        /dev/video0
        /dev/media0

 

then I've installed MPV player from Armbian repository using apt command, but it seems that it doesn't support hardware decoding. I tried to use different hwdec options (rkvdec, rga, rkmpp, hantro....) but got "Unsupported hwdec" each time. 

 

user@h96-tvbox-3566:~$ mpv -hwdec=rkvdec --vo=gpu big_buck_bunny_1080p_h264.mov 
 (+) Video --vid=1 (*) (h264 1920x1080 24.000fps)
 (+) Audio --aid=1 --alang=eng (*) (aac 6ch 48000Hz)
Unsupported hwdec: rkvdec
AO: [pulse] 48000Hz 5.1 6ch float
VO: [gpu] 1920x1080 yuv420p
Exiting... (Quit)

 

Posted (edited)

Greetings, H96 Max V56 developers,

 

I got 1Gb Ethernet, basic WiFi6, and the full Bluetooth5.4 suite of capabilities from the new H96 hardware, running my 6.12.44 kernel, Home Assistant OS port.

Thanks especially @WINEDS for the stellar foundation, and to @GmP for the final piece of the Bluetooth puzzle.

GBEM 👽
 

Edited by GBEM
Posted (edited)

Heya,

 

Of interest to anyone encountering the 2025 AIC8800 WiFi and Bluetooth hardware, and who is using Buildroot; this is the package that builds and installs everything into a Home Assistant image.


Of academic interest in the present discussion also, offering minor suggestions in dts and service file. The build process may be portable?

👽

aic8800.zip

Edited by GBEM
Posted (edited)

@GBEM yes the service file can be improved, also it might be worth it to blacklist some unuseful module like:

sudo nano /etc/modprobe.d/blacklist.conf

# Add:

blacklist btusb

blacklist btrtl

blacklist btbcm

blacklist btintel

Edited by GmP

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines