Rock Pi 4C is now available?

Saw the new cnx article yesterday, and it seems this variant is now available for purchase at allnetchina. Any thoughts?

1 Like

Some random thoughts:

  1. If I ever bought one of these, I would definitely miss having an official metal case with big heatsink. Consider this probably won’t attract many buyers, the chance we get to see cases for this model is rather slim?

  2. Too bad the DP port won’t support 4K 60hz, but I wonder if it could reach the advertised 1440p 60hz on the mainline kernel? Currently the 4B only support 1080p 60hz.

I think you are a 4B user and now 4C. It must be true love!

  1. The big heatsink for 4C is ready. The metal case is also ready on Allnet China store.

  2. DP doesn’t support 4K@60 is because for usb type C 3.0, USB3 shares bandwidth with DP, when DP is 4K@60(4 lanes), USB drops to 2.0. For ROCK Pi 4C design, the USB 3 is forced as type A port, so only left 2 lanes for DP, which is max 2560*1440 from our test. Some monitors reports half 4K, 3840 x 1080 or 1920 x 2160, which we will just skip it.

For the mainline, Jagan from amarulasolutions is helping us to upstream the ROCK Pi 4 series. Everything will land on mainline eventually.

2 Likes

Need separate M2 card or 4C has built in M2 connector

4C has built-in M.2 connector outside towards, but if you want the SSD mount perfectly, you can buy a M.2 adapter board.

Bought a 4C recently and loaded it with LibreElec 9.2(Kodi). After booting only the upper USB3.0 was usable but not the rest of other USB ports. The only connection was HDMI and Logitech K400 keyboard. Does HDMI have effect on the USB ports.

Previously I used a 4A and with the same LibreElec 9.2(Kodi) and all USB ports works without any issues. Any advice?

The difference is the GPIO for the USB Power control is changed because the that GPIO must be used for DP.

4C:

https://github.com/radxa/kernel/blob/cef30e88a9f56ca4fc5959a3ff442ce9b68f7501/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts#L87

4A/4B:

https://github.com/radxa/kernel/blob/cef30e88a9f56ca4fc5959a3ff442ce9b68f7501/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi#L945

You can edit your dtb with the following:

dtc -I dtb -O dts -o rk3399-rockpi-4c.dts rk3399-rockpi-4.dtb

edit rk3399-rockpi-4c.dts, find host_vbus_drv label, replace the power control pin

-				<4 25 RK_FUNC_GPIO &pcfg_pull_none>;
+		        <3 30 RK_FUNC_GPIO &pcfg_pull_none>;


re-compile the dtb,

dtc -I dts -O dtb -o rk3399-rockpi-4.dtb rk3399-rockpi-4c.dts

copy and replace the original rk3399-rockpi-4.dtb, and reboot. All USB will work.

1 Like

I have not done this before. Do you by any chance have a pre-compiled dtb that I could use. Thanks in advance.

I took a look at the dtb that comes from LibreElec and it look different from yours. The format is as follows:-
usb2 {

                    host-vbus-drv {
                            rockchip,pins = <0x3 0x1e 0x0 0xc1>;
                            phandle = <0xce>;
                    };

                    otg-vbus-drv {
                            rockchip,pins = <0x1 0x3 0x0 0xc1>;
                            phandle = <0xcf>;
                    };
            };

What do I need to change?

Where did you download the LibreElec image?

This looks right for the 4C. The de-compiled dtb looks different than the original dts.

I just found that we also need to change the vcc5v0_host label to the right gpio.

 81 &vcc5v0_host {
 82     gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
 83 };
1 Like

I will build a new LibreELEC and upload the modified 4C dtb file which users can change that want to use it on RockPi 4C later today.

Hi, see LibreELEC - RockPi 4

1 Like

@mo123, I tested with both but still not working.

  1. Download LibreElec from LibreElec site and replace dtb - booted but USB ports still not working.
  2. Download your version of LibreElec - did not boot at all

Thank you for this.

Our developer have added a patch for RockPiC to support this device on Manjaro OS.
Patch can be found here

User have confirmed on our forum post that it works.

Can you try using the patch from the above mentioned link.

Good Luck.

@spikerguy, thanks.

I am pretty useless on patch work. Could you let me know what command to use and what OS should I do the patch in?

Thanks in advance.

I am not sure about which os are you using.

Would be best if you can just use the existing manjaro arm image for rockpi4.
As patching will need you to recompile the kernel again or atleast the dtb.

Or you can just extract the dtb from our linux package and reuse it. Please advice which os are you planning to use and which kernel will it run on?.

@spikerguy, I have a copy of RockPi 4 development on Docker, which I believe is Ubuntu Xenial. I did try to decompile dtb->dts->dtb from RockPi’s official Debian 9 Desktop but did not work. I could extract dtb from Manjaro.

BTW, I just downloaded a copy of Manjaro KDE Desktop (ARM) 20.06 but USB ports did not work out-of-box. Which version would have the patched dtb?

Many thanks for your help

@spikerguy, I need the dtb for LibreElec.

Reason is you flashed an old image which have old kernel, if you have uart then flash old image and connect over uart and upgrade the system to latest packages and then latest kernel will be installed.

Use
sudo pacman -Syyu to upgrade.

If you just need the dtb then download this kernel package and extract it using ark or something then you can get dtb file from it.

Will look into this tomorrow

Good luck.