CSC Armbian for RK322X TV Boxes


Recommended Posts

@MMarcio
hello there , your question is a bit generic and cannot have a unique answer.
what processor have you ? amount of ram? is your board equipped with nand or emmc?

This particular topic of course is for rk 3228  3228b 3229
could be usefull the original name of rom and some board photos
and anyway the process of installing on internal storage is last step and eventually totally automated

@nokirunner
well , give us the time of investigating  on those drivers

Link to post
Share on other sites
Donate and support the project!

4 hours ago, nokirunner said:

don't tell me ... are you italian too?

Yes sir!

It looks like this is the cove of the quarantined people, never seen so many italians on the forum :D

 

3 hours ago, nokirunner said:

guys, you have not commented on this, can these driver sources be useful?

Good catch, it looks very promising. I did not see that post before. but I will try to compile as soon as I can!

 

1 hour ago, MMarcio said:

I know it will be annoying but the guide to clear the internal memory of the box is not clear to me, could someone make me understand the procedure better?

Sure, just ask about anything!

Link to post
Share on other sites

@jock @fabiobassa

i can't understand some issues ..
I tried to do some experiments on the nand ..
first I deleted directly to see if I can start armbian from sdcard, and it did not boot .. so I investigated why, and I found that the device went directly to mask rom mode as soon as I gave it power

so I tried flashing armbian directly with the command ./rkdeveloptool wl 0x0 <armbian-image.img>
I can flash but the device does not boot.

also I can't in any way flash the bootloader nor do it the bakup with /rkdeveloptool db  (or ul)

what am i doing wrong?

the only possibility I have at the moment is to restore the original firmware and use the sdcard with armbian-libreelect boot

Link to post
Share on other sites

@fabiobassa  thanks for the link, now the situation is a little more understandable, however I have this problem, that when I run these commands, I don't get the idbloaders from the eemmc -rom loaded ..
or maybe I'm doing something wrong and I have to get the idbloader from somewhere else ??
 

Quote

 

Get idbloader for eMMC from Rockchip release loader

No need to package a idbloader.img for eMMC if you are using Rockchip release loader, you can get idbloader on eMMC with below command:


rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin

 

 

Link to post
Share on other sites

@nokirunner

 

Try these instructions, they worked perfectly well for me on two different boards, including the clone of yours.

I suppose your eMMC is empty, if not erase it the way you prefer.

  1. Download this binary: rk322x_loader.bin in your rkdeveloptool directory
  2. Detach all the cables from the box
  3. Attach the male-to-male USB cable to the USB port near the HDMI
  4. Attach the other end of the USB cable to an USB2 port of your computer. Now with lsusb you should see 2206:3206 device listed.
  5. run sudo ./rkdeveloptool db rk322x_loader.bin, it should finish in less than 5 seconds
  6. run sudo ./rkdeveloptool wl 0x0 image.img, where image.img is one of your preference taken from the first page of this thread (others will just not work).
  7. Wait until done, then detach the USB cable and you're done

 

This works perfectly for me

 

Link to post
Share on other sites

@jock

46 minutes ago, jock said:

run sudo ./rkdeveloptool rk322x_loader.bin, it should finish in less than 5 seconds


probably indendevi with the addition of ul, otherwise it tells me that illegal operation ...
however I tried and I get the same result ...

sudo ./rkdeveloptool ul rk322x_loader.bin
The device does not support this operation!

meanwhile, I had also gone to create the custom loader, having investigated the type of chip and ram taken from the official firmware and from the network by reading the datasheet on the type of ram mounted on the pcb ...
but I always get stuck at the usual point ...

am I wrong wrong connection mode with the usb ??
do I have to enter mask rom ??
to flash the image I can, but not to flash the loader ..

 

$ ./boot_merger --pack --verbose -c RK322A -1  ../bin/rk32/rk322x_ddr_400MHz_v1.09.bin -2 ../bin/rk32/rk322x_usbplug_v2.56.bin  -d ../bin/rk32/rk322x_ddr_400MHz_v1.09.bin  -b  ../bin/rk32/rk322x_miniloader_v2.56.bin
enable debug
W: [main] do_merge
fix opt:RK322A_loader_v1.09.256.bin
---------------
USING CONFIG:
[CHIP_NAME]
NAME=RK322A
[VERSION]
MAJOR=2
MINOR=56
[CODE471_OPTION]
NUM=1
Path1=../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
[CODE472_OPTION]
NUM=1
Path1=../bin/rk32/rk322x_usbplug_v2.56.bin
[LOADER_OPTION]
NUM=2
LOADER1=FlashData
LOADER2=FlashBoot
FlashData=../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
FlashBoot=../bin/rk32/rk322x_miniloader_v2.56.bin
[OUTPUT]
PATH=RK322A_loader_v1.09.256.bin
---------------

W: [getBCD] ret:2
W: [getBCD] ret:56
W: [getTime] 2020-4-15 17:17:27
W: [getChipType] chip:RK322A
W: [getChipType] type:0x33323241
W: [mergeBoot] write hdr
W: [mergeBoot] write code 471 entry
W: [saveEntry] write:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
W: [saveEntry] write:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
W: [getName] path:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin, name:rk322x_ddr_400MHz_v
W: [getFileSize] path:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin, size:10468
W: [saveEntry] align size:12288
W: [mergeBoot] write code 472 entry
W: [saveEntry] write:../bin/rk32/rk322x_usbplug_v2.56.bin
W: [saveEntry] write:../bin/rk32/rk322x_usbplug_v2.56.bin
W: [getName] path:../bin/rk32/rk322x_usbplug_v2.56.bin, name:rk322x_usbplug_v2.5
W: [getFileSize] path:../bin/rk32/rk322x_usbplug_v2.56.bin, size:86096
W: [saveEntry] align size:88064
W: [mergeBoot] write loader entry
W: [saveEntry] write:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
W: [saveEntry] write:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin
W: [getName] path:FlashData, name:FlashData
W: [getFileSize] path:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin, size:10468
W: [saveEntry] align size:12288
W: [saveEntry] write:../bin/rk32/rk322x_miniloader_v2.56.bin
W: [saveEntry] write:../bin/rk32/rk322x_miniloader_v2.56.bin
W: [getName] path:FlashBoot, name:FlashBoot
W: [getFileSize] path:../bin/rk32/rk322x_miniloader_v2.56.bin, size:89904
W: [saveEntry] align size:90112
W: [mergeBoot] write code 471
W: [getFileSize] path:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin, size:10468
W: [mergeBoot] write code 472
W: [getFileSize] path:../bin/rk32/rk322x_usbplug_v2.56.bin, size:86096
W: [mergeBoot] write loader
W: [getFileSize] path:../bin/rk32/rk322x_ddr_400MHz_v1.09.bin, size:10468
W: [getFileSize] path:../bin/rk32/rk322x_miniloader_v2.56.bin, size:89904
W: [mergeBoot] write crc
W: [getFileSize] path:RK322A_loader_v1.09.256.bin, size:203082
W: [getCrc] crc:0x0dbe3e51
merge success(RK322A_loader_v1.09.256.bin)
noki@runner:rkbin-master/tools$ sudo ./rkdeveloptool ul RK322A_loader_v1.09.256.bin
[sudo] password di noki:          
The device does not support this operation!

 

Link to post
Share on other sites
18 minutes ago, nokirunner said:

probably indendevi with the addition of ul, otherwise it tells me that illegal operation ...

Sorry I missed the commands.

Now I fixed the post

Link to post
Share on other sites

@nokirunner
 

Is very ok that you try to learn and this is the right approach . So let me explai what is best approach with those boards

Unfortunately those economic vendors install the first avaible CHEAPEST bank of ddr on the market at moment of production,  ddr ofsecond hand, semi-broken.
Is economia di larga scala .... every cent is gain

MIGHT be even if DDR are TARGETED 400 mhz they simply REFUSE to work at 400 MHZ or even at 350

 

Many idbloader just start at lowest frequency possible, that is 300 MHZ
To be sure to have success do this :
go find this program on the net:

 

RK3xxx_firmware_tools_5.23.1_by_SergioPoverony.zip

or even this but is in dos
 

imgRePackerRK_106.zip

Those two tools can extract your androind rom, and go deep and extract even the early stage that means idbloader for your board
the idbloader should be RK322XMiniLoaderAll_V2.47_spectek_en_ddr2_rd_odt_171209.bin and if you go deeper and deeper you will find it's blob:

 

rk322x_ddr_330MHz_v

as you can see the ddr is initialized at 330 MHZ

when this very first step is done and the ddr is recognized, all further step can occour.
My 2 cents opinion : use the images already done from jock without trying to mixt things or... try even to mixt things per seguir virtute e conoscenza but be ready to some frustrating unsuccess because of wrong early stage loader

 

Link to post
Share on other sites

NO...
they start to became erratic and malfunctioning.
With DDR3 there is a command in kernel that can try WHEN KERNEL is up to modify on the fly the ddr frequency, a sort of DDR scaling. It si totally automatic and works ONLY with original loader-uboot-trust combination
With boards with DDR2 the will just work at 330 ... something ridiculous

So PLEASE.. don't overclock DDR :D

Link to post
Share on other sites
54 minutes ago, fabiobassa said:

So PLEASE.. don't overclock DDR  :D

@fabiobassa I did it! :lol:
and everything works perfectly, both with android and with armbian

before I tried to flash the loader by @jock, but it did not work well, I could not enter usb mode to flash other things, also I did not start android, only armbian from sdcard ... so I entered mask mode rom and I flashed the original firmware ... then I loaded the custom loader at 300mhzRK322A_loader_v1.10.256.bin 

Spoiler

(./boot_merger --pack --verbose -c RK322A -1  ../bin/rk32/rk322x_ddr_300MHz_v1.10.bin -2 ../bin/rk32/rk322x_usbplug_v2.56.bin  -d ../bin/rk32/rk322x_ddr_300MHz_v1.10.bin  -b  ../bin/rk32/rk322x_miniloader_v2.56.bin )

  and I saw that everything worked perfectly ..
but I was tempted to flash the 400mhz   RK322A_loader_v1.09.256.bin

Spoiler

(./boot_merger --pack --verbose -c RK322A -1  ../bin/rk32/rk322x_ddr_400MHz_v1.09.bin -2 ../bin/rk32/rk322x_usbplug_v2.56.bin  -d ../bin/rk32/rk322x_ddr_400MHz_v1.09.bin  -b  ../bin/rk32/rk322x_miniloader_v2.56.bin)

version to see what was happening ... at most if it didn't start I would do a total reset ... but everything worked as smooth as oil .. :lol::P

on the chip I was sure what it was because it was written on the rom and also the bootloader  so now I went from bootloader 2.38 to 2.56 with usbplug
IMG_20200415_185833.thumb.jpg.64f10d8e388a0f38e03fdd2e0ddaa7ed.jpg

 

Link to post
Share on other sites

Good evening everyone!
I can only write one post a day for the moment (forum limitation)
I have 3 "MX9" boxes exactly the same as RK3229 CPU, hynix ram modules (1gb) and the PCB revision is "R329Q V2.0" from 11/01/2017, I am attaching some photos!

My first question concerns the deletion of the nand memory in order to allow the boot of linux, I do not understand the procedure to be performed, I have all the equipment and I use Ubuntu 19.10 on my laptop to be able to flash (I only understood that there is need linux to make the various flashes)
Has anyone created a video guide about it?

My second question concerns the jumper on the nand, is it used to send the card in "debug" mode in order to be detected by my pc?

In case someone can help me understand a little more, in order not to pollute the topic, my telegram is @Bunta

Thanks for the answers!
PS: Sorry for google translator

 

cpu.jpg nand-e-rev.jpg Panoramica.jpg

Edited by MMarcio
Link to post
Share on other sites

@nokirunner

you do a lot of things but you don't read CAREFULL what  people suggest to you
It is easy you started at 400 and even at 500.... your ddr is up to 767. might be 800  and it is a ddr3 so oveclocking will occur in the kernel itself with the right dmc actived in dtb.
What mostly you say in idbloader will be OVERWRITTEN in kernel or/and dtb. It is just a bootstrap this is the reason better stay on low band of mhz. This occurs with legacy kernel. With main line it is different and @jock can explain better.

Try to overclock this on a board with ddr2 and tell me the conseguences ;) .
It is EXACTLY what happened to you when you bricked the board, flashe a WRONG idbloader with wrong settings

Again, and for last time: 
those board come with a lot of ddr some have ddr2 some ddr3  mostly very economic and second market ddrs and not realiable not even on marks printed on case
for a stable functioning test it at various speed and stay under maximum speed or just use original idb .If dmc is in dtb , maximum speed will be AUTOMATIC reached
any way is enough speaking or ddrs , important is the board is up and running
 

Link to post
Share on other sites

@fabiobassa

ok I understood, it was for the excitement of being able to do something that had a meaning ..
I reflash the loader at 300mhz.
 I continue to have the problem that I can not put the system on nand ... deleting it completely I ca in mask mode and therefore I do not start from sdcard with the systems that created @jock

so I wonder I noticed that there are two other "partitions" but they are not, because if I try to manage them with fdisk it won't let me access ... so it's as if they were 3 other micro memories apart ...  mmcblk2boot0 mmcblk2boot1 mmcblk2rpmb ..
could it be that they are the ones that cause me problems ??

now I have tried to format mmcbk2p1 manually ... to see if it allows me to access it from sdcard with a jock image

root@rk322x-box:/mnt# lsblk -f
NAME         FSTYPE LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINT
mmcblk0                                                                         
└─mmcblk0p1  ext4           e6f899a4-a9ff-4aa7-85d5-33a21bcdb1de   25,6G     9% /
mmcblk2                                                                         
└─mmcblk2p1  ext4   armbian 363eece8-f5d4-4e46-bb6b-77d58f1c0499                
mmcblk2boot0                                                                    
mmcblk2boot1                                                                    
mmcblk2rpmb                                                                     
zram0                                                              40,3M    10% /var/log
zram1                                                                           [SWAP]

 

Link to post
Share on other sites
12 hours ago, MMarcio said:

My first question concerns the deletion of the nand memory in order to allow the boot of linux, I do not understand the procedure to be performed, I have all the equipment and I use Ubuntu 19.10 on my laptop to be able to flash (I only understood that there is need linux to make the various flashes)

The procedure is described in a bunch of simple steps in the first page of the thread.

All you need is just a male-to-male USB cable and rkdeveloptool binary.

Linux is not absolutely needed (rkdeveloptool is available also for Windows, but don't ask me where) but is really really suggested.
 

12 hours ago, MMarcio said:

Has anyone created a video guide about it?

AFAIK, nope

 

12 hours ago, MMarcio said:

My second question concerns the jumper on the nand, is it used to send the card in "debug" mode in order to be detected by my pc?

It used to bypass the eMMC/NAND (your board has an eMMC), in fact shorting that ping you are clock gating the eMMC/NAND device, so the processor thinks there is no eMMC/NAND device at all and tries to boot from the external microsd card. If also there isn't any microsd card, the processor puts itself in MASKROM mode, which is a sort of maintenance mode accessible from a PC connected to the OTG USB port using rkdeveloptool.

 

If you can't write on the forum, write me or @fabiobassa in private.

 

Link to post
Share on other sites
15 hours ago, nokirunner said:

could it be that they are the ones that cause me problems ??

Those hardware partitions are part of the eMMC and are available to contain "alternative" boot code. I never played with them, they could in theory be exploited for some useful purposes, but AFAIK no board uses them. I think you can ignore them, on my boards they are all empty.

 

I don't really know what to tell you.

You may try with blkdiscard /dev/mmcblk2 that is the proper way to erase the eMMC.

 

Link to post
Share on other sites
11 hours ago, jock said:

The procedure is described in a bunch of simple steps in the first page of the thread.

All you need is just a male-to-male USB cable and rkdeveloptool binary.

Linux is not absolutely needed (rkdeveloptool is available also for Windows, but don't ask me where) but is really really suggested.
 

AFAIK, nope

 

It used to bypass the eMMC/NAND (your board has an eMMC), in fact shorting that ping you are clock gating the eMMC/NAND device, so the processor thinks there is no eMMC/NAND device at all and tries to boot from the external microsd card. If also there isn't any microsd card, the processor puts itself in MASKROM mode, which is a sort of maintenance mode accessible from a PC connected to the OTG USB port using rkdeveloptool.

 

If you can't write on the forum, write me or @fabiobassa in private.

 

 

 

Hi Jock

unfortunately I am not yet able to write private messages

in any case, none of my boxes are read by the pc, so I guess there is a need to enter "MASKROM" mode, I am trying to understand which side to pin the pins and which of the pins to short-circuit, I just need this to pass in practice, I found all the resources!
by chance there is a detailed photo of the nand pins?

Thanks for your patience!

Link to post
Share on other sites
49 minutes ago, MMarcio said:

 

 

Hi Jock

unfortunately I am not yet able to write private messages

in any case, none of my boxes are read by the pc, so I guess there is a need to enter "MASKROM" mode, I am trying to understand which side to pin the pins and which of the pins to short-circuit, I just need this to pass in practice, I found all the resources!
by chance there is a detailed photo of the nand pins?

Thanks for your patience!

 

It is very important that you plug the male-to-male cable in the OTG port of the box. All other devices must be disconnected, sdcard slot must be empty and the power cord must be disconnected.

You may try with and without pressing the button behind the AV connector.

 

Anyway you can do an alternative procedure to clean the eMMC:

  • download an image from those provided by Maker39 in this post, the smallest one will fit perfectly .
  • burn the image on an sdcard
  • plug the sdcard into the box
  • power on the box
  • an armbian installation should boot, you should be able to login with default credentials (username: root, password: 1234) - beware: don't try to install this image into the eMMC or you will brick the box!
  • run blkdiscard /dev/mmcblk2 and wait a few seconds, when done the eMMC is clean!
  • shutdown the box

at this point download your preferred armbian image from the first post, burn it on the sdcard, plug the sdcard in the box and power on.

You should get into the fully-featured armbian installation and you can also use armbian-config to install it in the eMMC.

Link to post
Share on other sites
11 hours ago, jock said:

You may try with blkdiscard /dev/mmcblk2 that is the proper way to erase the eMMC.

 

@jock
obviously I did this too (and in this case, the device gose in mask rom directly directly as soon as I power up)
but despite the formatting those other "3 partitions" remain

however, formatting mmclk2p1 the sdcard  patched with libreELEC starts, while the sdcard with the original rom created by you continues not to start .. So I assume I can't boot by installing on nand for some reason which is the same as that which does not start the sdcard ... anyway, what is particular about the patching with libreElEC that manages to start the sdcard, while the original rom created by you does not start?

would it be complex to create a script that makes your rom more universal starting from sdcard? (just ask out of curiosity)

Edit:
I'm doing research on what these three partitions are, (in my case, i saw through arbian and each boot is 2mb, and the other is 256 kb)
at this link
https://github.com/ScottW514/GF-Hardware/wiki/02_Firmware-Overview
I found this description:

Quote

 

The storage appears as four separate hardware devices:

  • mmcblk2rpmb (0 MB): Replay Protected Memory Block. This is not directly accessible to the user and does not appear to be utilized by the Glowforge.
  • mmcblk2boot0 (16 MB): This has a single partition that stores the "Recovery" firmware image. This image is booted after a watchdog timer timeout, and when requested by the user with a power on and button pressing sequence (hold print button down, turn power on, release button within 1 second of powering on). The recovery process will be detailed further in a future section.
  • mmcblk2boot1 (16 MB): This has a single partition. It only has bin, games, include, lib, sbin, share, and src directories. It's actual purpose is unknown at this time

 

 

Link to post
Share on other sites

Hi,

 On latest image couldn't get ssv6051 working,  Armbian_20.05.0-trunk_Xt-mx4vr-v01_focal_legacy_4.4.194_desktop everything loaded but on Armbian_20.05.0-trunk_Rk322x-box_focal_legacy_4.4.194_desktop.img driver doesn't want to load checked same driver cfg and firmware but doesn't load any idea why ?

 

Thanks.

Link to post
Share on other sites
8 hours ago, nokirunner said:

obviously I did this too (and in this case, the device gose in mask rom directly directly as soon as I power up)
but despite the formatting those other "3 partitions" remain

They remain because they are not partitions but devices.

Could you post the results of mmc extcsd read /dev/mmcblk2 here?

Link to post
Share on other sites
5 hours ago, Roman SuHot said:

Hi,

 On latest image couldn't get ssv6051 working,  Armbian_20.05.0-trunk_Xt-mx4vr-v01_focal_legacy_4.4.194_desktop everything loaded but on Armbian_20.05.0-trunk_Rk322x-box_focal_legacy_4.4.194_desktop.img driver doesn't want to load checked same driver cfg and firmware but doesn't load any idea why ?

 

Thanks.

What board do you have?

Did you run rk322x-config to choose your board?

What happens if you do modprobe ssv6051?

 

Post the dmesg log here

Link to post
Share on other sites

You are right I used generic needed to change to mqx-4k. Thanks. regarding emmc I also have 3 devices (not partitions) I needed to short emmc pins to be able to boot from sd, do you know the correct way to merge them back into one ? thanks.

Link to post
Share on other sites
On 4/17/2020 at 10:10 AM, jock said:

They remain because they are not partitions but devices.

Could you post the results of mmc extcsd read /dev/mmcblk2 here?



@jock sorry I did not have time in these days to devote to the tvbox ..
here is the result of your request

$ sudo mmc extcsd read /dev/mmcblk2
[sudo] password for neonoki: 
Sorry, try again.
[sudo] password for neonoki: 
=============================================
  Extended CSD rev 1.6 (MMC 4.5)
=============================================

Card Supported Command sets [S_CMD_SET: 0x01]
HPI Features [HPI_FEATURE: 0x01]: implementation based on CMD13
Background operations support [BKOPS_SUPPORT: 0x01]
Max Packet Read Cmd [MAX_PACKED_READS: 0x3f]
Max Packet Write Cmd [MAX_PACKED_WRITES: 0x3f]
Data TAG support [DATA_TAG_SUPPORT: 0x01]
Data TAG Unit Size [TAG_UNIT_SIZE: 0x04]
Tag Resources Size [TAG_RES_SIZE: 0x00]
Context Management Capabilities [CONTEXT_CAPABILITIES: 0x05]
Large Unit Size [LARGE_UNIT_SIZE_M1: 0x07]
Extended partition attribute support [EXT_SUPPORT: 0x03]
Generic CMD6 Timer [GENERIC_CMD6_TIME: 0x0a]
Power off notification [POWER_OFF_LONG_TIME: 0x3c]
Cache Size [CACHE_SIZE] is 65536 KiB
Background operations status [BKOPS_STATUS: 0x00]
1st Initialisation Time after programmed sector [INI_TIMEOUT_AP: 0x1e]
Power class for 52MHz, DDR at 3.6V [PWR_CL_DDR_52_360: 0x00]
Power class for 52MHz, DDR at 1.95V [PWR_CL_DDR_52_195: 0x00]
Power class for 200MHz at 3.6V [PWR_CL_200_360: 0x00]
Power class for 200MHz, at 1.95V [PWR_CL_200_195: 0x00]
Minimum Performance for 8bit at 52MHz in DDR mode:
 [MIN_PERF_DDR_W_8_52: 0x00]
 [MIN_PERF_DDR_R_8_52: 0x00]
TRIM Multiplier [TRIM_MULT: 0x02]
Secure Feature support [SEC_FEATURE_SUPPORT: 0x55]
Boot Information [BOOT_INFO: 0x07]
 Device supports alternative boot method
 Device supports dual data rate during boot
 Device supports high speed timing during boot
Boot partition size [BOOT_SIZE_MULTI: 0x10]
Access size [ACC_SIZE: 0x07]
High-capacity erase unit size [HC_ERASE_GRP_SIZE: 0x01]
 i.e. 512 KiB
High-capacity erase timeout [ERASE_TIMEOUT_MULT: 0x01]
Reliable write sector count [REL_WR_SEC_C: 0x01]
High-capacity W protect group size [HC_WP_GRP_SIZE: 0x50]
 i.e. 40960 KiB
Sleep current (VCC) [S_C_VCC: 0x07]
Sleep current (VCCQ) [S_C_VCCQ: 0x07]
Sleep/awake timeout [S_A_TIMEOUT: 0x11]
Sector Count [SEC_COUNT: 0x01d5a000]
 Device is block-addressed
Minimum Write Performance for 8bit:
 [MIN_PERF_W_8_52: 0x00]
 [MIN_PERF_R_8_52: 0x00]
 [MIN_PERF_W_8_26_4_52: 0x00]
 [MIN_PERF_R_8_26_4_52: 0x00]
Minimum Write Performance for 4bit:
 [MIN_PERF_W_4_26: 0x00]
 [MIN_PERF_R_4_26: 0x00]
Power classes registers:
 [PWR_CL_26_360: 0x00]
 [PWR_CL_52_360: 0x00]
 [PWR_CL_26_195: 0x00]
 [PWR_CL_52_195: 0x00]
Partition switching timing [PARTITION_SWITCH_TIME: 0x01]
Out-of-interrupt busy timing [OUT_OF_INTERRUPT_TIME: 0x02]
I/O Driver Strength [DRIVER_STRENGTH: 0x00]
Card Type [CARD_TYPE: 0x07]
 HS Dual Data Rate eMMC @52MHz 1.8V or 3VI/O
 HS eMMC @52MHz - at rated device voltage(s)
 HS eMMC @26MHz - at rated device voltage(s)
CSD structure version [CSD_STRUCTURE: 0x02]
Command set [CMD_SET: 0x00]
Command set revision [CMD_SET_REV: 0x00]
Power class [POWER_CLASS: 0x00]
High-speed interface timing [HS_TIMING: 0x01]
Erased memory content [ERASED_MEM_CONT: 0x00]
Boot configuration bytes [PARTITION_CONFIG: 0x00]
 Not boot enable
 No access to boot partition
Boot config protection [BOOT_CONFIG_PROT: 0x00]
Boot bus Conditions [BOOT_BUS_CONDITIONS: 0x00]
High-density erase group definition [ERASE_GROUP_DEF: 0x00]
Boot write protection status registers [BOOT_WP_STATUS]: 0x00
Boot Area Write protection [BOOT_WP]: 0x10
 Power ro locking: possible
 Permanent ro locking: not possible
 ro lock status: not locked
User area write protection register [USER_WP]: 0x00
FW configuration [FW_CONFIG]: 0x00
RPMB Size [RPMB_SIZE_MULT]: 0x01
Write reliability setting register [WR_REL_SET]: 0x1f
 user area: the device protects existing data if a power failure occurs during a write operation
 partition 1: the device protects existing data if a power failure occurs during a write operation
 partition 2: the device protects existing data if a power failure occurs during a write operation
 partition 3: the device protects existing data if a power failure occurs during a write operation
 partition 4: the device protects existing data if a power failure occurs during a write operation
Write reliability parameter register [WR_REL_PARAM]: 0x05
 Device supports writing EXT_CSD_WR_REL_SET
 Device supports the enhanced def. of reliable write
Enable background operations handshake [BKOPS_EN]: 0x00
H/W reset function [RST_N_FUNCTION]: 0x00
HPI management [HPI_MGMT]: 0x01
Partitioning Support [PARTITIONING_SUPPORT]: 0x07
 Device support partitioning feature
 Device can have enhanced tech.
Max Enhanced Area Size [MAX_ENH_SIZE_MULT]: 0x0000bb
 i.e. 7659520 KiB
Partitions attribute [PARTITIONS_ATTRIBUTE]: 0x00
Partitioning Setting [PARTITION_SETTING_COMPLETED]: 0x00
 Device partition setting NOT complete
General Purpose Partition Size
 [GP_SIZE_MULT_4]: 0x000000
 [GP_SIZE_MULT_3]: 0x000000
 [GP_SIZE_MULT_2]: 0x000000
 [GP_SIZE_MULT_1]: 0x000000
Enhanced User Data Area Size [ENH_SIZE_MULT]: 0x000000
 i.e. 0 KiB
Enhanced User Data Start Address [ENH_START_ADDR]: 0x00000000
 i.e. 0 bytes offset
Bad Block Management mode [SEC_BAD_BLK_MGMNT]: 0x00
Periodic Wake-up [PERIODIC_WAKEUP]: 0x00
Program CID/CSD in DDR mode support [PROGRAM_CID_CSD_DDR_SUPPORT]: 0x01
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[127]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[126]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[125]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[124]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[123]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[122]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[121]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[120]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[119]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[118]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[117]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[116]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[115]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[114]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[113]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[112]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[111]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[110]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[109]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[108]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[107]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[106]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[105]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[104]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[103]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[102]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[101]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[100]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[99]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[98]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[97]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[96]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[95]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[94]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[93]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[92]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[91]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[90]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[89]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[88]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[87]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[86]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[85]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[84]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[83]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[82]]: 0x0e
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[81]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[80]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[79]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[78]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[77]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[76]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[75]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[74]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[73]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[72]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[71]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[70]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[69]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[68]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[67]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[66]]: 0x08
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[65]]: 0x00
Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[64]]: 0x03
Native sector size [NATIVE_SECTOR_SIZE]: 0x00
Sector size emulation [USE_NATIVE_SECTOR]: 0x00
Sector size [DATA_SECTOR_SIZE]: 0x00
1st initialization after disabling sector size emulation [INI_TIMEOUT_EMU]: 0x00
Class 6 commands control [CLASS_6_CTRL]: 0x00
Number of addressed group to be Released[DYNCAP_NEEDED]: 0x00
Exception events control [EXCEPTION_EVENTS_CTRL]: 0x0000
Exception events status[EXCEPTION_EVENTS_STATUS]: 0x0000
Extended Partitions Attribute [EXT_PARTITIONS_ATTRIBUTE]: 0x0000
Context configuration [CONTEXT_CONF[51]]: 0x00
Context configuration [CONTEXT_CONF[50]]: 0x00
Context configuration [CONTEXT_CONF[49]]: 0x00
Context configuration [CONTEXT_CONF[48]]: 0x00
Context configuration [CONTEXT_CONF[47]]: 0x00
Context configuration [CONTEXT_CONF[46]]: 0x00
Context configuration [CONTEXT_CONF[45]]: 0x00
Context configuration [CONTEXT_CONF[44]]: 0x00
Context configuration [CONTEXT_CONF[43]]: 0x00
Context configuration [CONTEXT_CONF[42]]: 0x00
Context configuration [CONTEXT_CONF[41]]: 0x00
Context configuration [CONTEXT_CONF[40]]: 0x00
Context configuration [CONTEXT_CONF[39]]: 0x00
Context configuration [CONTEXT_CONF[38]]: 0x00
Context configuration [CONTEXT_CONF[37]]: 0x00
Packed command status [PACKED_COMMAND_STATUS]: 0x00
Packed command failure index [PACKED_FAILURE_INDEX]: 0x00
Power Off Notification [POWER_OFF_NOTIFICATION]: 0x01
Control to turn the Cache ON/OFF [CACHE_CTRL]: 0x01



 

Link to post
Share on other sites

Hello, 

 

I was running this armbian for 6 full days like a true server and I was very happy with it but today it crashed, the problem is that I don't know why... The recovery was easy just unplug and plug again the power (after I got it up and running I saved the full var/log folder) 

 

What comand could I use to find out what happen? 

 

Thanks! 

Link to post
Share on other sites
1 hour ago, MFaust said:

I was running this armbian for 6 full days like a true server and I was very happy with it but today it crashed, the problem is that I don't know why... The recovery was easy just unplug and plug again the power (after I got it up and running I saved the full var/log folder) 

 

What comand could I use to find out what happen? 

 

Glad to hear it worked for 6 days. Unfortunately that's hard to say what went wrong: logs seems ok and I can't see any specific trace of what happened. At the moment no extensive endurance tests have been done so it's a completely unknown territory. But any feedback is very welcome.

 

Link to post
Share on other sites
  • jock changed the title to CSC Armbian for RK322X TV Boxes
  • Igor pinned this topic