Jump to content

Vontar KK MAX / HK1 RBOX R2 / R3 - RK3566 4GB/32GB(or 64GB)


Recommended Posts

Posted (edited)

Armbian 24.5.0 Bookworm images (linux-6.1/linux-6.6) for TVBoxes: Vontar KK MAX / HK1 RBOX R2 / HK1 RBOX R3

(the same dts/dtb should work for these TVBoxes)

Here is a dts and dtb files, working reworked for mainline:

hk1-rbox-r3-profile-kernel-6.1-6.6.zip

(original dts and dtb from TVBox rk-kernel-orig.zip)

Checked the following:

  • HDMI - works (need to check hot plugging)
  • HDMI sound - works
  • USB 2.0 - works
  • USB 3.0 - works
  • SPDIF - should work (I cannot to check)
  • SD-Card booting and detection - works
  • eMMC install on it (/sbin/nand-sata-install) and detection - works
  • RKDevTool installing and loading images on/from eMMC - works
  • GPU (bugs/frizzes聽on mainline are not canceled) - works
  • Hardware video acceleration(except for browsers) - works
  • Dualboot if you flash new聽bootloader (SD-Card boot high priority) - works

Here are the compiled Armbian images (Bookworm only) with integrated dtb:

https://www.mediafire.com/file/4dwf7ce922x7obq/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.1.87_cinnamon_desktop.img.xz/file

https://www.mediafire.com/file/fjwtxb5gjzip341/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.1.87_minimal.img.xz/file

https://www.mediafire.com/file/iuz4uijgjh5ry1r/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.6.28_cinnamon_desktop.img.xz/file

https://www.mediafire.com/file/kofyqabr5k6qxm8/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.6.28_minimal.img.xz/file

The one of this box itself is HK1 RBOX R3, the photo shows the pins for short to go to the Maskrom bootloader and UART pins:

小泻褉褘褌褘泄 褌械泻褋褌

IMG_20240416_081140_edited.thumb.jpg.6e2db4b8428dcd8c56baa6dac321b7d7.jpg

IMG_20240416_081158.thumb.jpg.1755b2758525443bbb83bc8b538355f8.jpg

A working bootloader(supports dualboot) on this hardware for RKDevTool tool just in case:

Loader.zip

小泻褉褘褌褘泄 褌械泻褋褌

RKDevToolv2_8621_04.202422_51_01.png.a400cfcfdd3251fe211a8fe5c7fc4319.png

Please note that RKDevTool flashing utility only needs to flash the .img file with the bootloader, i.e. you need to unpack the .xz archive somewhere first (for ex. you can use 7-zip).

--

Recommendations for installation on eMMC

小泻褉褘褌褘泄 褌械泻褋褌

It is NOT recommended to install these images using RKDevTool utility on eMMC memory card because ext4 file system is not optimized for eMMC memory lifetime.
It is recommended to install the image on SD-card and boot from it, then configure the system according to your wishes and install it on eMMC using the script "sudo /sbin/nand-sata-install" built into Armbian using the F2FS file system for eMMC - this will extend the life of this memory many times.

1. Booting from SD-card and after configuring Armbian you need to install the f2fs-tools dependency:

sudo apt update && sudo apt install f2fs-tools

2. Run the script:

sudo /sbin/nand-sata-install

deoptim@hk1-rbox-r3_22_04.202422_32_20.png.c73589db058c74ffd239d11dc0250e41.png

deoptim@hk1-rbox-r3_22_04.202422_32_28.png.1b9bfc2802e539252bc7e9d88d931db9.png

Alternatively, you can pre-compile an F2FS image for SD-Card and eMMC and immediately burn such an image with RKDevTool.

Just add these parameters during compilation:

./compile.sh ROOTFS_TYPE=f2fs FIXED_IMAGE_SIZE=31744 PACKAGE_LIST_BOARD="f2fs-tools"

(Where you should use a fixed image size for F2FS - here I have chosen 31GB (+ boot partition about 250MB by default) for eMMC 32GB. Keep in mind that the image must fit on the your disk where Armbian is compiled and after installing such image on eMMC you will not be able to change its size on booted TVBox only via external SD-Card OS or etc....
See how big your eMMC is and set your value to -1GB.)

----------------------------------------------------

For those who want to build Armbian themselves, here are the instructions:

小泻褉褘褌褘泄 褌械泻褋褌

1. Basic instruction聽https://docs.armbian.com/Developer-Guide_Build-Preparation/

2. Before execute "./compile.sh" - copy the contents of the archive "hk1-rbox-r3-profile-kernel-6.1-6.6.zip" into next folders:

build\config\boards\hk1-rbox-r3.tvb
build\packages\blobs\hk1-rbox-r3\rk3566-hk1-rbox-r3.dtb

(where the build folder is our cloned Armbian repository and accordingly a new hk1-rbox-r3 folder should be created on the second path).

3. Before compilation, in the file hk1-rbox-r3.tvb we can edit the following:

If we use the BOARDFAMILY variable "media":

BOARDFAMILY="media"

Then when we execute "./compile.sh" and selecting our profile in the expert menu -聽the kernel聽6.1聽will build like a building block - and not compiled, it will take about tens of minutes, it will be built from precompiled distributions with the insertion of our dtb profile and only.

If we use instead of "media" the BOARDFAMILY variable "rockchip64":

BOARDFAMILY="rockchip64"

Its will already compile kernel 6.6 (on this date of publication) - it will take hours.

If you uncomment the variable:

SRC_CMDLINE="earlycon=uart8250,mmio32,0xfe660000"

The UART will display the kernel booting - useful for debugging.

Ubuntu22_04.3LTS22_04.202413_46_28.png.f70e9e240a0fac6e62a5c62b0e81bdbe.png

UPD:
Added to images "f2fs-tools" package, added loader to support dualboot without touching the original Android(or other OS) image on eMMC - priority is given to SD-Card.
Boot will be from SD-Card if there is on boot partition exist folder and file \boot.scr聽or聽extlinux\extlinux.conf聽- uboot(both: original Android and compiled for Armbian) searches for this path and file if it found this file, it will load from device which contains this file. mmc1(SD-Card) - first, mmc0(eMMC) - second.
For correct priority loading it is necessary to replace the main bootloader which is in the archive Loader.zip - if you have an Android it is enough to flash only this bootloader as Loader at 0x0 offset using RKDevTool utility, the rest of the eMMC part should not be touched if the OS and settings we need are there. U-boot on eMMC must be original or Armbian and preinstalled at offset 0x4000.
Instructions:

小泻褉褘褌褘泄 褌械泻褋褌

1. Unplug power of TVBox and any聽SD-card

2. Press the reset(upgrade) button on the box with a paper clip and same time plug USB-A-USB-A(Male-to-Male) to USB 2.0 of TVBox


Then sequentially:

Untitled1.jpg.08c24eaf33fd93ed91eab2441b6ae55a.jpg

Untitled2.jpg.8690b33b62a6c5211d52cc98c6bb8bd9.jpg

Untitled3.jpg.973ca7d66ae0556b8f0f4e6c4b63414f.jpgUntitled4.jpg.7cd2a9461c607fddece310c9453c2b88.jpg

(remember, uboot must be on eMMC (even the original Android or Armbian, i.e. if you erase the eMMC - the boot will not work) and this is relevant if you have installed the original MiniLoaderAll.bin, which does not support booting from SD-Card, but only from eMMC. Some TVBoxes may already have a bootloader that supports SD-card booting.).

Feel free to test...

Edited by Deoptim
added dualboot images and info about it
Posted (edited)
On 5/4/2024 at 3:17 AM, Energokom said:

Can you buid a loader c with rk3566_ddr_1056MHz_v1.21.bin聽


@Energokom聽to build your DDR_1056mhz聽

ADD This lines to the botom of the file Armbian:聽build/config/board/yourboardname.conf

# Newer blobs. Tested to work with 1056MHz
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"         # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing

Edited by Hqnicolas
Posted (edited)
On 5/16/2024 at 5:19 PM, Hqnicolas said:
# Newer blobs. Tested to work with 1056MHz
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"         # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing

Unfortunately, it didn't work.

I want to build u-boot 2024 (since the old u-boot 2019 is being used now).

But it doesn't work out for me. I can't change defconf, since ./compile.sh聽CREATE_PATCHES="yes", doesn't work now.

I try CREATE_PATCHES (uboot-patch) but I don't get a pause to make changes. I used to use CREATE_PATCHES=yes and everything worked, now I can't build u-boot with my settings. You need more detailed instructions in the description of build options

Edited by Energokom
Posted
3 hours ago, Energokom said:

I want to build u-boot 2024 (since the old u-boot 2019 is being used now).


find a board with u-boot 2024 and rebase your board config file

I use OrangePi3B as a base config

Quote

# Rockchip RK3566 quad core 4/8GB RAM SoC WIFI/BT eMMC USB2 USB3 NVMe PCIe GbE HDMI SPI
BOARD_NAME="orangepi3b"
BOARDFAMILY="rk35xx"
BOARD_MAINTAINER=""
BOOTCONFIG="orangepi-3b-rk3566_defconfig"
BOOT_SOC="rk3566"
KERNEL_TARGET="legacy,vendor,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3566-orangepi-3b.dtb"
IMAGE_PARTITION_TABLE="gpt"
BOOT_SCENARIO="spl-blobs"
BOOT_SUPPORT_SPI="yes"
BOOT_SPI_RKSPI_LOADER="yes"
MODULES="sprdbt_tty sprdwl_ng"
MODULES_BLACKLIST_LEGACY="bcmdhd"

# Newer blobs. Tested to work with opi3b
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf" 聽 聽 聽 聽 # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing

# Override family config for this board; let's avoid conditionals in family config.
function post_family_config__orangepi3b_use_mainline_uboot() {
聽聽 聽display_alert "$BOARD" "mainline (Kwiboo's tree) u-boot overrides" "info"

聽聽 聽BOOTSOURCE="https://github.com/Kwiboo/u-boot-rockchip.git"
聽聽 聽BOOTBRANCH="branch:rk3xxx-2024.04" # specific commit tested is commit:ccef7dfc453bc03c5b5c61fa67d2745b96fa7da6
聽聽 聽BOOTPATCHDIR="v2024.04-orangepi3b" # empty, patches are already in Kwiboo's branch:rk3xxx-2024.04

聽聽 聽BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory

聽聽 聽BOOTDELAY=1 # Wait for UART interrupt to enter UMS/RockUSB mode etc
聽聽 聽UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img"
聽聽 聽unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already

聽聽 聽# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
聽聽 聽function write_uboot_platform() {
聽聽 聽聽聽 聽dd if=${1}/u-boot-rockchip.bin of=${2} bs=32k seek=1 conv=fsync
聽聽 聽}

聽聽 聽# Smarter/faster/better to-spi writer using flashcp (hopefully with --partition), using the binman-provided 'u-boot-rockchip-spi.bin'
聽聽 聽function write_uboot_platform_mtd() {
聽聽 聽聽聽 聽declare -a extra_opts_flashcp=("--verbose")
聽聽 聽聽聽 聽if flashcp -h | grep -q -e '--partition'; then
聽聽 聽聽聽 聽聽聽 聽echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
聽聽 聽聽聽 聽聽聽 聽extra_opts_flashcp+=("--partition")
聽聽 聽聽聽 聽else
聽聽 聽聽聽 聽聽聽 聽echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
聽聽 聽聽聽 聽fi
聽聽 聽聽聽 聽flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-rockchip-spi.bin" /dev/mtd0
聽聽 聽}

}

function post_family_tweaks_bsp__orangepi3b() {
聽聽 聽display_alert "$BOARD" "Installing sprd-bluetooth.service" "info"

聽聽 聽# Bluetooth on orangepi3b board is handled by a Spreadtrum (sprd) chip and requires
聽聽 聽# a custom hciattach_opi binary, plus a systemd service to run it at boot time
聽聽 聽install -m 755 $SRC/packages/bsp/rk3399/hciattach_opi $destination/usr/bin
聽聽 聽cp $SRC/packages/bsp/rk3399/sprd-bluetooth.service $destination/lib/systemd/system/

聽聽 聽return 0
}

function post_family_tweaks__orangepi3b_enable_services() {
聽聽 聽display_alert "$BOARD" "Enabling sprd-bluetooth.service" "info"
聽聽 聽chroot_sdcard systemctl enable sprd-bluetooth.service
聽聽 聽return 0
}


Posted (edited)

Hello

Vontar kkmax has RAM memory SK Hynix h5anag8najr-wmc - 4 pcs.聽DDR4-2933.

Which DDR_BLOB= and BL31_BLOB= should I choose for this memory?

Help me determine the correct size of 8GB

Edited by Energokom
Posted (edited)
On 4/22/2024 at 3:42 PM, Deoptim said:

(remember, uboot must be on eMMC (even the original Android or Armbian, i.e. if you erase the eMMC - the boot will not work) and this is relevant if you have installed the original MiniLoaderAll.bin, which does not support booting from SD-Card, but only from eMMC. Some TVBoxes may already have a bootloader that supports SD-card booting.).

@Deoptimhow to build the current u-boot ? and how build聽MiniLoaderAll.bin?
On the board, the聽4 chips SK Hynix h5anag8najr-wmc聽 is only detected as 4GB, but it should be 8GB

DDR Version V1.08 20210520
ln
ddrconfig:3
DDR4, 324MHz
BW=32 Col=10 Bk=4 BG=4 CS0 Row=16 CS=1 Die BW=8 Size=4096MB
wrlvl:clk skew:0x80,0x80

Edited by Energokom
Posted (edited)
On 4/22/2024 at 3:42 PM, Deoptim said:

(remember, uboot must be on eMMC (even the original Android or Armbian, i.e. if you erase the eMMC - the boot will not work) and this is relevant if you have installed the original MiniLoaderAll.bin, which does not support booting from SD-Card, but only from eMMC. Some TVBoxes may already have a bootloader that supports SD-card booting.).

@Deoptimhow to build the current u-boot ? and how build聽MiniLoaderAll.bin?

Edited by Energokom
delete
Posted (edited)
7 hours ago, Hqnicolas said:

the real size of your RAM: 4gb

How did you determine this without holding the board in your hands? Without connecting the uart?

The chips are located on both sides of the board. Assuming that h5anag8najr-wmc is a fake label and that the chip is 1Gbx8, the u-boot output on the uart should be Row=17 CS=2, not ROW=16 CS=1. Or am I wrong?

If the board allows you to work with two ranks and the CS-1, A14, and A16 are present (on the board),聽then u-boot should display ROW=17, CS=2 Size=4096MB.聽 BUT, the bootloader does not recognize the 2nd memory rank.

https://github.com/hqnicolas/Rockchip-Library/tree/main/RK356x/rkbin聽-聽It is not possible to build rk356x_spl_loader_v1.xxx.bin, also known as the miniloader, using this link. There is no tools directory in this section.

I managed to figure out how to assemble rk356x_spl_loader_v1.xxx.bin using different (rk3566_ddr_528MHz_ultra_v1.10, rk3566_ddr_780MHz_ultra_v1.10, rk3566_ddr_920MHz_ultra_v1.10, rk3566_ddr_1056MHz_ultra_v1.20, as well as rk3566_ddr_920MHz_v1.23, rk3566_ddr_1056MHz_v1.23.)

I also managed to build u-boot - I'll have time to test it all.

It's a pity that few people share information.

P.S. If you look at https://github.com/hqnicolas/Rockchip-Library/blob/main/RK356x/u-boot/socfpga/rk3568_common.h, you'll see #define SDRAM_MAX_SIZE 0xf0000000, which limits the size to 4GB. Therefore, it is possible that u-boot is built with a 4GB SDRAM limit. However, I also assume that the memory could have been tampered with. I would benefit from obtaining U-boot's UART output from those with NT5AD1024M8A3 memory. Currently, I am considering three options.
1. U-boot is built with SDRAM_MAX_SIZE 0xf0000000 limitation

2. rk3566_ddr_xxxMHz_v1.xxx.bin - does not recognize the 2nd rank (2R) of Hynix h5anag8najr-wmc memory

3. Memory labeling is still fake

Edited by Energokom
Posted
2 hours ago, Energokom said:

How did you determine this without holding the board in your hands? Without connecting the uart?

I came from 4pda to armbian and I came from there already being a prejudiced person.

this is just another normal day in the TV box section. Many other users have already encountered similar problems with Chinese boxes.

2 hours ago, Energokom said:

Memory labeling is still fake

you can solder a better module like @Deoptim

Posted (edited)

Here are the modified latest official Armbian-supported images for Radxa Zero 3W/3E. Everything works for me, including hardware-accelerated YouTube playback in Chromium (however, with a caveat):
Armbian_26.2.1_hk1-rbox-r3_trixie_vendor_6.1.115_minimal.img.xz

Armbian_26.2.1_hk1-rbox-r3_noble_vendor_6.1.115_gnome_desktop.img.xz

MD5:

28654e87a39ac3e0b2bec4ce4211f5ca *Armbian_26.2.1_hk1-rbox-r3_noble_vendor_6.1.115_gnome_desktop.img.xz
ce74829c43c6d27b02bdf314580c4dc4 *Armbian_26.2.1_hk1-rbox-r3_trixie_vendor_6.1.115_minimal.img.xz

What you MUST do after installing Armbian:
Freeze auto-updates for the bootloader and DTB (kernel updates are OK, except for these two packages since we use a different bootloader, not for Radxa Zero 3):

sudo apt-mark hold linux-u-boot-radxa-zero3-vendor linux-dtb-vendor-rk35xx

Install dependencies for hardware-accelerated playback Youtube in Chromium:

sudo apt update
sudo apt install chromium-codecs-ffmpeg-extra ffmpeg

In Chromium, install the enhanced-h264ify extension. Then, in the extension's options, leave聽only AV1 disabled聽(i.e.,聽enable VP8 and VP9).

Screenshots:

小泻褉褘褌褘泄 褌械泻褋褌

Screenshotfrom2026-02-2710-43-03.thumb.png.4f0bdc0da3448e16365bdc3fa036df27.png

Screenshotfrom2026-02-2710-23-41.png.9f5cf92ac8d35b47a3cbbc0fc5237c64.png

Screenshotfrom2026-02-2710-23-38.thumb.png.94c3266e042d1ad30a1e6f92529335f7.png

Screenshotfrom2026-02-2710-23-12.thumb.png.4d49585661f04a36ca40f3653815f82c.png

Instructions on how to modify any Armbian image yourself:

小泻褉褘褌褘泄 褌械泻褋褌

Inserting the DTB file

1. You need a Linux machine or WSL (in Windows) - I used WSL.

2 Download the archive聽hk1-rbox-r3-bootloaders.zip

3.聽Install the util-linux package in Linux/WSL.

4.聽Download the image you want to modify (e.g., with聽.img.xz聽extension).

5.聽Decompress the聽img.xz聽(Linux: unxz name.img.xz, Windows: use 7zip).

6.聽Mount the decompressed image using losetup:

sudo losetup -f -P /mnt/c/Users/Dima/Downloads/Armbian_26.2.1_Radxa-zero3_noble_vendor_6.1.115_gnome_desktop.img

Mount聽/dev/loop0p1聽to the聽/mnt/ext聽folder:

sudo mkdir /mnt/ext
sudo mount /dev/loop0p1 /mnt/ext/

Edit the file聽/mnt/ext/boot/armbianEnv.txt:

笑懈褌邪褌邪

聽 聽 聽 聽 聽 聽fdtfile=rockchip/rk3566-hk1-rbox-r3.dtb

Copy our聽rk3566-hk1-rbox-r3.dtb聽to聽/mnt/ext/boot/dtb-6.1.115-vendor-rk35xx/rockchip/.

Additionally, I changed the hostname display by editing:

/mnt/ext/etc/hostname

/mnt/ext/etc/hosts聽(find all instances of radxa-zero-3 and replace with hk1-rbox-r3).

7. Unmount聽/mnt/ext/:

sudo umount /mnt/ext/

8. Detach the image:

sudo losetup -D

Replacing the bootloader

In the same .img, replace the bootloader by executing these commands sequentially:

sudo dd bs=1k seek=32 conv=notrunc if=./idbloader-ff.img of=/mnt/c/Users/Dima/Downloads/Armbian_26.2.1_Radxa-zero3_noble_vendor_6.1.115_gnome_desktop.img
sudo dd bs=1k seek=32 conv=notrunc if=./idbloader.img of=/mnt/c/Users/Dima/Downloads/Armbian_26.2.1_Radxa-zero3_noble_vendor_6.1.115_gnome_desktop.img
sudo dd bs=1k seek=8192 conv=notrunc if=./uboot-zero.bin of=/mnt/c/Users/Dima/Downloads/Armbian_26.2.1_Radxa-zero3_noble_vendor_6.1.115_gnome_desktop.img
sudo dd bs=1k seek=8192 conv=notrunc if=./u-boot.itb of=/mnt/c/Users/Dima/Downloads/Armbian_26.2.1_Radxa-zero3_noble_vendor_6.1.115_gnome_desktop.img

(Replace paths to files from the archive and the image path as needed)

Source: 4PDA

Edited by Deoptim
Posted

Continuing to dig into this. Updated the Armbian images - available via the same links above (md5sum mismatch):

笑懈褌邪褌邪

1. Added a modified rewritten kernel module for ws2801 (fd6513 chip) to control the RGB LED on the box.

By default, the Red LED blinks using the "heartbeat" trigger (specified in the dts, or you can change the trigger via a dts-overlay or via /sys/class/leds (in Armbian it remembers the changes made in sys)).

The following colors are available there: Red, Green, Blue, White, Yellow - you can specify a color mix with your own mask.

2. Updated the bootloader to the latest 2025.10_armbian-2025.10-Se50b-P0727-He37c-V59e8-B2eb2-R448a.

3. Added "performance" optimization for the CPU and peripherals in rc.local, as well as disabled powersave for Wi-Fi (since there is a visible wake-up delay when working with this box via ssh, for example).

How to add the module to an already working system (so you don't have to reinstall from scratch):

1. Download the archive ws2801-1.0.tar.gz聽with the dkms source code for the ws2801 module.

2.聽Extract the source folder to /usr/src/ :

sudo tar -xzvf ~/ws2801-1.0.tar.gz -C /usr/src/

(here ~/ is the /home directory of my user)

3.聽Install the module step-by-step via dkms:

sudo dkms add ws2801/1.0
sudo dkms build ws2801/1.0
sudo dkms install ws2801/1.0

4.聽To avoid rebooting, you can load the module immediately:

sudo modprobe ws2801

By default, Red should start blinking as a "heartbeat" trigger.

Description of dts and demo:

小泻褉褘褌褘泄 褌械泻褋褌

The main control segment for the ws2801 module (modded for fd6513) in the dts consists of this node:

	led-stripe {
		compatible = "fd6513";
		clk-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
		data-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
		num-leds = <1>;
		auto-commit;
		status = "okay";

    	led-config-red {
    	    label = "red";
    	    led-num = <0>;
    	    color-on = <255 0 0>;
    	    trigger = "heartbeat";
    	};
    	
    	led-config-green {
    	    label = "green";
    	    led-num = <0>;
    	    color-on = <0 0 255>;
    	    trigger = "none";
    	};
    	
    	led-config-blue {
    	    label = "blue";
    	    led-num = <0>;
    	    color-on = <0 255 0>;
    	    trigger = "none";
    	};

    	led-config-white {
    	    label = "white";
    	    led-num = <0>;
    	    color-on = <255 255 255>;
    	    trigger = "none";
    	};

    	led-config-yellow {
    	    label = "yellow";
    	    led-num = <0>;
    	    color-on = <255 0 255>;
    	    trigger = "none";
    	};
	};

As you can understand, you can mix colors and so on, also this node can be replaced via a dts overlay so you don't have to replace the entire main dtb.

Just like in the original ws2801, demos are available for RGB (smooth color changing like an RGB LED) and CPU (blue - CPU is idle / mix with yellow (medium load) / mix with red (maximum load)).

These demos are available at the following path:

deoptim@hk1-rbox-r3:/$ ls /usr/src/ws2801-1.0/demos/
common.c  common.o  cpu-load.c  rgb-demo    ws2801-demo    ws2801.h
common.h  cpu-load  Makefile    rgb-demo.c  ws2801-demo.c
deoptim@hk1-rbox-r3:/$

For the demo to work properly, we need to turn off all indicators (by default, Red is blinking); to do this, run the following command in the console:

echo none | sudo tee /sys/class/leds/led-stripe\:red/trigger

Then run, for example:

sudo /usr/src/ws2801-1.0/demos/cpu-load -n 10 -k led-stripe

(where led-stripe is the name of the node in the dts)

The color will change according to the CPU load.

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