Jump to content

Recommended Posts

Posted (edited)

Just in case you want to build your own kernel and choose a specific version (es 23.11):

git clone --depth=1 --branch=v23.11 https://github.com/armbian/build

 

Choose edge or current

./compile.sh kernel BOARD=rk3318-box EXPERT="yes" INSTALL_HEADERS=yes RELEASE=jammy BRANCH=edge

 

Optional you can choose specific kernel version using KERNELBRANCH:

./compile.sh kernel BOARD=rk3318-box EXPERT="yes" INSTALL_HEADERS=yes RELEASE=jammy BRANCH=edge KERNELBRANCH="tag:v6.6.2"

 

Compile is quite fast (few minutes).

 

In folder you will find the deb pckgs to be installed:

ls output/debs/
linux-dtb-edge-rockchip64_23.11.0-trunk_arm64__6.6.2-Sa06c-Df461-P65a8-C40f3Hfe66-HK01ba-Vc222-B1743-R448a.deb
linux-headers-edge-rockchip64_23.11.0-trunk_arm64__6.6.2-Sa06c-Df461-P65a8-C40f3Hfe66-HK01ba-Vc222-B1743-R448a.deb
linux-image-edge-rockchip64_23.11.0-trunk_arm64__6.6.2-Sa06c-Df461-P65a8-C40f3Hfe66-HK01ba-Vc222-B1743-R448a.deb

 

Install all and reboot:

sudo dpkg -i *

 

Optional - compile u-boot:

./compile.sh uboot BOARD=rk3318-box EXPERT="yes" BRANCH=edge

 

Edited by haven
Posted

The HDMI audio problem was a great opportunity to study how HDMI is detected and handled in rk3318 box!

 

Initially I supposed it was a kernel problem and tried with many kernel version 6.1.63 - 6.2 - 6.6.2 - 6.6.39 - 6.6.47 - 6.6.60 (current or edge no matters), with poor results.

Then discovered If I boot with HDMI cable disconnected and connect the cable after BOOT (15s after power-up)  -> HDMI sound ok

 

This pointed me towards the investigation of the boot process: if HDMI is connected after the u-boot process, it works like charm!

 

How to disable HDMI detection in u-boot config?

 

Get armbian sources and tools:

git clone --depth=1 --branch=v23.11 https://github.com/armbian/build

I used branch 23.11 to match kernel 6.6.2

 

Turned out that U-boot config can be changed only with a patch.

./compile.sh uboot-patch BOARD=rk3318-box BRANCH=edge

 

Attached the patch I created for include/configs/evb_rk3328.h to dIsable video output in u-boot and use only console.

 

u-boot-rockchip64-edge.patch 

+#define ROCKCHIP_DEVICE_SETTINGS \
+               "stdin=serial,usbkbd\0" \
+               "stdout=serial,vidconsole\0" \
+               "stderr=serial,vidconsole\0"
+

 

Placed the patch in:

build/patch/u-boot/u-boot-rockchip64

 

Then rebuild u-boot only:

./compile.sh uboot ARTIFACT_IGNORE_CACHE=yes BOARD=rk3318-box BRANCH=edge

During the process you will see which patches are applied, hopefully without any error.

 

This will create a deb package in build/output/debs:

linux-u-boot-rk3318-box-edge_23.11.0-trunk_arm64__2022.07-Se092-P44dd-H8c72-Ve9d0-B1179-R448a.deb

 

Install with dpkg:

sudo dpkg -i linux-u-boot-rk3318-box-edge_23.11.0-trunk_arm64__2022.07-Se092-P44dd-H8c72-Ve9d0-B1179-R448a.deb

 

This will create 2 files:

ls /usr/lib/linux-u-boot-edge-rk3318-box/
idbloader.img  u-boot.itb

 

Last step - need to flash the new u-boot into boot partition ( /dev/mmcblk0 )

sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64 conv=notrunc
sudo dd if=u-boot.itb of=/dev/mmcblk0 seek=16384 conv=notrunc

 

Done!

Reboot and I see a black screen during u-boot.

Soon after the kernel is loaded, HDMI is activated and works properly, both video and audio.

 

u-boot-rockchip64-edge.patch

Posted

Modified instruction for H96 Max rk3318, with

  • armbian installed to internal emmc (/dev/mmcblk2)
  • kernel 6.60 current
git clone --depth=1 --branch=main https://github.com/armbian/build

 

Create patch:

./compile.sh uboot-patch BOARD=rk3318-box BRANCH=current

 

During patch process, modify config:

cd build/cache/sources/u-boot-worktree/u-boot/v2024.07/configs
sudo nano rk3318-box_defconfig
CONFIG_VIDEO=n

 

After creation, move patch:

mv build/output/patch/u-boot-rockchip64-current.patch build/patch/u-boot/v2024.07/

 

Compile u-boot:

./compile.sh uboot ARTIFACT_IGNORE_CACHE=yes BOARD=rk3318-box BRANCH=current

 

Install with dpkg:

cd output/debs
sudo dpkg -i linux-u-boot-rk3318-box-current_24.11.0-trunk_arm64__2024.07-S3f77-P1c9c-H4674-Vfe58-Bda0a-R448a.deb

 

Flash uboot to boot partition:

cd /usr/lib/linux-u-boot-current-rk3318-box/

sudo dd if=idbloader.img of=/dev/mmcblk2 seek=64 conv=notrunc
sudo dd if=u-boot.itb of=/dev/mmcblk2 seek=16384 conv=notrunc

 

Done!

Reboot and I see a black screen during u-boot.

Posted

@haven did you just try a different TV/monitor to see if the missing audio persists? In my case I tested and checked I have HDMI audio working even with u-boot video output enabled.

Posted (edited)

Apparently I installed the wrong armbian image directly on EMMC and now the TV box won't start. The multitool also won't start from the SD card. How do I reset it? I read that I can short-circuit some contacts, but where can I find them specifically on our device?

Edited by Миха Тал

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