OpenWrt 22.03-rc6 "Build" for TV-boxes (rk322x)

Thanks @Wyk72 !

Got in running on Rombica Smart Box V0004 (whatever it is, but it is a smartbox)

Could you please share kernels config.gz? There is no in /proc/

It's in the first/boot partiton.

It's the same config as armbian.

Get it here:

Can you cut down the size of the image file to less than 7.5gb? My box internal emmc is only 7.5gb. Cant install fully. It says not enough storage in the installation process.

Wanted to install this and install pppwn-wrt to jailbreak PS4 fw 11.00. Any work arround for the 7.5gb internal storage?

Even if it does not end the install process, the image should work anyway.

You can write the image onto an USB key and boot it, if anything.

What kind of device you own ?

1 Like

I own a rk322a. After the installation, it wont load the 192.168.1.1 in the browser.

Can you send pictures of the device (inside would be better) ? Also: can you attach a hdmi cable and see if there is a prompt on video ?

And this is what the display on boot says;

1.2342211 rockchip-drn display-subsystem: bound 200a0000.hdmi (ops Oxb117d9

1.2356721 [drn] Initialized rockchip

1.0.0 20140818 for display-subsystem o or 0

1.2496011 mmc1: queuing unknown CIS tuple 0x01 (d9 01 ff] (3 bytes)

1.2597781 mmci: queuing unknown CIS tuple Oxia [01 01 00 02 071 (5 bytes)

1.2642231 mnc1: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff ff ff] (8 s)

1.2656651 nmc_host nmc1: Bus speed (slot 0) = 50000000Hz (slot req 50000000 ctual 50000000HZ div = 0)

1.2677991 mmc1: new high speed SDI0 card at address 0001

1.3294491 mmc_host mmcz: Bus speed (slot 0) = 50000000Hz (slot req 52000000 ctual 50000000HZ div = 0)

1.3316111 mmc2: new high speed MMC card at address 0001

1.3333211 mmcblk2: mmc2:0001 V10008 7.05 GiB 1.337441] mmcblk2: p1 p2

1.3379971 mmcblk2: p2 size 14723072 extends beyond EOD, truncated

1.3393931 mmcblkZboot0: mmc2:0001 V10008 4.00 MiB

1.3423561 mmcblk2boot1: mmc2:0001 V10008 4.00 MiB

1.3449651 mmcblk2rpmb: mmc2:0001 V10008 4.00 MiB, chardeu (239:0)

Hello !!
I love this project.
I would like you to help me configure the TTL please since I don't know much about this, I would greatly appreciate it.
Exactly it is to bypass the restrictions of the operators that do not allow you to share data

This is very weird.

Can you boot with an USB key/Sd card with MULTITOOL and enter a shell from there ?

You should be able to run fsck for the mmcblk2p2 partition and correct any errors, or at least check if the partition is mount-able (i.e. mount /dev/mmcblk2p2 /mnt).

I've checked the datasheet and the eMMC is indeed 8Gb.

I advise to FULLY erase the mmc using MULTITOOL and reflash. It's not partitioned correctly or there is something else.

The chip is eMCP (8GB eMMC TLC NAND + 8Gb LPDDR3 x32 1600 Nanya).

i'm trying this.

Hi! I finally got the image from you, and tried several times using multitool to flash it (which is done correctly, afaik), but didn't finish booting.

I've tried @surabimetal 's suggestion to flash it in a sd card and directly boot it from there, but it still doesn't finish booting.

I've flashed the sd cards both with balena and dd, but I get the same result.

Finally i connected a serial adapter and found it hangs around loading the kernel: (this happens both when flashed to internal storage and sdcard booting)

DDR Version V1.11 20200910_dbg
In
ID:0xFFF
333MHz
DDR3
Bus Width=32 Col=11 Bank=8 Row=14 CS=1 Die Bus-Width=16 Size=1024MB
mach:4
OUT

U-Boot SPL 2022.04-armbian (Mar 25 2024 - 17:17:14 +0000)
Trying to boot from MMC2
INF [0x0] TEE-CORE:init_primary_helper:377: Initializing (1.1.0-333-gc9d95d1 #2 2018εΉ΄ 08月 17ζ—₯ ζ˜ŸζœŸδΊ” 03:32:22 UTC arm)

INF [0x0] TEE-CORE:init_primary_helper:378: Release version: 2.0

INF [0x0] TEE-CORE:init_primary_helper:379: Next entry point address: 0x61000000

INF [0x0] TEE-CORE:init_teecore:83: teecore inits done


U-Boot 2022.04-armbian (Mar 25 2024 - 17:17:14 +0000)

Model: Generic Rockchip rk322x TV Box board
DRAM:  1010 MiB
Core:  98 devices, 19 uclasses, devicetree: separate
MMC:   dwmmc@30000000: 1, dwmmc@30020000: 0
Loading Environment from EXT4... ** File not found /boot/boot.env **

** Unable to read "/boot/boot.env" from mmc0:1 **
In:    serial@11030000
Out:   serial@11030000
Err:   serial@11030000
Model: Generic Rockchip rk322x TV Box board
Net:   eth0: ethernet@30200000
starting USB...
Bus usb@30040000: USB DWC2
Bus usb@30080000: USB EHCI 1.00
Bus usb@300c0000: USB EHCI 1.00
Bus usb@30100000: USB EHCI 1.00
scanning bus usb@30040000 for devices... 1 USB Device(s) found
scanning bus usb@30080000 for devices... 1 USB Device(s) found
scanning bus usb@300c0000 for devices... 1 USB Device(s) found
scanning bus usb@30100000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
1:      OpenWRT-rx322x 
Retrieving file: /kernel.img
append: root=PARTUUID=00628e24-02 init=/sbin/init rootwait verbose=0 consoleblank=0
Retrieving file: /rk322x-box.dtb
Kernel image @ 0x62000000 [ 0x000000 - 0x961fa8 ]
## Flattened Device Tree blob at 61f00000
   Booting using the fdt blob at 0x61f00000
EHCI failed to shut down host controller.
EHCI failed to shut down host controller.
   Using Device Tree in place at 61f00000, end 61f0e454

Starting kernel ...

It keeps here endlessly, and I never get anything on the hdmi port.

Am I missing something?

I've run Armbian flawlessly on this box, and I'm pretty sure it really has a rk322x SOC.

lscpu says:

Architecture:             armv7l
  Byte Order:             Little Endian
CPU(s):                   4
  On-line CPU(s) list:    0-3
Vendor ID:                ARM
  Model name:             Cortex-A7
    Model:                5
    Thread(s) per core:   1
    Core(s) per socket:   4
    Socket(s):            1
    Stepping:             r0p5
    CPU(s) scaling MHz:   50%
    CPU max MHz:          1200.0000
    CPU min MHz:          600.0000
    BogoMIPS:             35.29
    Flags:                half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm

What do you think?

1 Like

Hi!
Great work firmware for this TV-box, thanks.
Please when you have time, update firmware to latest version Openwrt 23.05.5

Good morning @Wyk72, good morning everyone, and also Happy New Year.
After weeks from the purchase of the first box with H3 processor, I took another one, it mounts a fake android that declared 4 Gb of ram and an RK3066 processor,
I opened it and disassembled the heatsink and I read RK3228A, then I downloaded the necessary files, I dumped the original firmware, and in any case I have not yet overwritten its memory, I start your openwrt image in live from the external memory card, I tried wireguard, mjpgstreamer, and it works very well, it is very fast compared to the routers I have used so far, (huawei HG553) obviously I also immediately bought a 2.5 Gb usb to ethernet adapter
everything seems ok, really fantastic, I will surely take others :slight_smile:
Only one thing leaves me doubtful, I think that the box actually mounts 2 Gb of ram memory, but openwrt only starts one Gb,
Can I solve this problem?

I'm happy that my "assembly" has been appreciated.

About the 1Gb/2Gb ram: the firmware boots the kernel straight into OWRT and makes no assumptions on RAM quantity i.e. should use all the RAM it can find.

My guess is that your box has only 1Gb of RAM, like 99% of the rk3228 boxes I've dealt with.

Check the chips.

1 Like

Thanks @Wyk72 for the quick reply,
I'll start by saying that I'm not an expert, but the card mounts 4 Nanya NT5CC512M4GN-CG chips as shown in the photos I attach
Google Photos
Google Photos
maybe I'm reading the Datasheet wrong?
I'm also attaching this photo because I'm not sure if it mounts a NAND or eMMC memory
Google Photos
I think I understood that there is a difference if I wanted to write openwrt on the device's memory, do the NANDs have different procedures or does the Multitool do everything automatically?

Your device has 2Gb of RAM: I guess it needs a special .fd file to fully access it. The ones I provide into my openwrt image are tested only on 1GB ram boards.

If you find one, you can easily swap it into the boot partition of the image (mount it into any Linux), just check extlinux.conf file.

It also has a NAND flash, so maybe it's far easier/better to keep it booted from an external SD/MMC card.

" RK3228 and RK3229 tv boxes comes with three different flash memory chips: eMMC, NAND and eMCP.

It does not depend upon the market name of the tv box and neither the internal board; manufacturers put whatever they find cheaper when they buy the components.

NAND chip is just the non-volatile memory
eMMC chip contains both the non-volatile memory plus a controller.
eMCP chip contains the non-volatile memory, a controller for the non-volatile memory (like eMMC), but also contains a bank of DDR SDRAM memory on the same physical chip.

The difference is very important, because eMMC and eMCP are far easier to support at various levels: the controller deals with the physical characteristics of the non-volatile memory, so the software has no to deal with.

NAND chips instead are harder to support, because the software is required to deal with the physical characteristics and non-standard things that depends upon the NAND manufacturer.

If you have a NAND chips you're unlucky because mainline kernel currently cannot access it, but also because you need special care and instructions explained later.

You can discover if you have a NAND, eMMC or eMCP chip looking on the board are reading the signature on the flash memory chip.

The Multitool (see later) also can detect which chip you have onboard: the program will warn you at startup if you have a NAND chip. "

My advice is to keep it running on a USB/SD/eMMC external drive.

1 Like

Maybe we misread the datasheet
the real ram is a Gbyte,
the datasheet provides values ​​in bits, not in bytes

Hi Wyk72!
Can you tell me how you added Rockchip ARMv7 support for OpenWRT?
I need to install OpenWRT on Rockchip3506, but there is little information on the Internet.
Maybe your experience will help me in my case.

1 Like