CSC Armbian for RK322X TV Boxes


jock
 Share

37 37

Recommended Posts

no it is not strange , when you WIPE emmc you have NOTHING in the board, only the MASKROM mode that is buried in the SOC.
maskrom is even early than idbloader; maskrom resides in SOC, idbloader resides in nand or emmc.
BUT..... since you are speaking to maskrom via teh USB subsystem  ...... you cannot speak to the nand/emmc UNTIL you load at least idbloader.
That is the reason why rkdeveloptool doesn't give any command: in this moment rkdeveloptool does not even know of the existence of the nand/emmc
Once via the maskrom-usb set of instruction you load a idbloader ( something that initializes the ddr and the internal storage nand/emmc) , well starting from THIS moment rkdeveloptool can speak with the nand/emmc

NOTE that you can just upload the idbloader : ./rkdeveloptool db loader-bla-bla.bin
OR             you can upload and the BURN.. in this second case: ./rkdeveloptool db loader-bla-bla.bin     and then ./rkdeveloptool ul loader-bla-bla.bin

Some very INTERESTING studies by @jock revealed that is also usefull program the idbloader with another tool calle upgrade_tool that provides a sort of " formattation" of internal storage.
Once idbloader is in place , well we can start speaking of which type of OS ( android or linux) we can flash into the board

Hope this helps
 

Link to post
Share on other sites

Donate and support the project!

Hello @gurzixo, most of your observations are true, I will add some precisations to make things more clear as long as I see you like having things tidied up ;)

 

 

On 3/22/2021 at 4:55 PM, gurzixo said:

The box is intended by Rockchip to run under Android, and Rockchip tools are heavily biaised toward this environnement, with a lot of specific tools, and an old kernel (3.x and maybe 4.x).

The box is surely intended by rockchip to run under Android, but tools are definitely OS-agnostic. Also the tools given by rockchip are intended also for other SoCs that are publicized and sold and supported for use in Linux (like rk3288, rk3399 and rk3328).

On 3/22/2021 at 4:55 PM, gurzixo said:

Armbian is a Debian distribution, adapted to run on Arm chips, which makes for a very diverse ecosystem, and follows the Linux track (new kernels, etc). Both environments do the same job, but there are many places where armbian and rk/android tools are not compatible.

Not exactly. Armbian is a set of scripts and patches that allows building Debian-based (so Debian, but also Ubuntu) images capable to boot on several ARM-based Single Board Computers (SBCs). Since ARM device does not have a standard way to boot and does not have a BIOS like x86 system, there is the need to support each SoC/board in its own peculiar way. Once you install Armbian, you have a full Debian (or Ubuntu) on your system, with some extra packages that make life much easier.

On 3/22/2021 at 4:55 PM, gurzixo said:

The RK322X has 2 reset modes:

  • Loader mode which allows only access to flash above 0x2000*0x200
  • maskrom mode which allows for full access. The chip enters maskrom mode when it cannot read flash; that can be accomplished  in a wild way by shorting pins 8 and 9 of the eMMC chip at boot (which is why RK322X chips are nearly unbrickable)

 

Loader mode: right!

Maskrom mode: right also, but the chip enters maskrom mode also when it does not find a valid bootloader in both internal and external flash memory, or using rkdeveloptool rd 3

 

On 3/22/2021 at 4:55 PM, gurzixo said:

The boot sequence is complex:

True. This page is the official rockchip documentation with the official way to handle things.

Clearly the most important thing is to put a valid loader at sector 0x40 of internal or external flash, otherwise the SoC does not boot at all.

You can of course alter the flow at any point, for example the idbloader can be made of rockchip blobs (ddrbin + miniloader) or can be made of full opensource software (U-boot TPL + U-boot SPL).

If you use the rockchip blobs, you must of course put the things in the locations proposed by them, but in reality there is still a large degree of freedom.

The DTB exists because these boards don't have a Plug and Play bios, so devices and peripherals cannot be autodetected by the kernel, but must be described somewhere. The DTB describes the devices of the board: where they are mapped in memory, whose interrupts, dmas, gpios they use, and so on. This way the kernel drivers knows how to devices.

The "compatibility" of the DTB is determined by the kernel version: since the kernel drivers are modified during time the way to describe the resources trivially changes too, and so the DTB needs to be adjusted.

Kernel 3.10/3.14 are waaay too old and so many things changed, so it is totally a bad idea take a dtb of such version and

bring it to kernel 5.10 or whatever.

 

On 3/22/2021 at 4:55 PM, gurzixo said:

Is the 1st-level loader (?located at offset 0 in flash?) part of the armbian image

No, according to the rockchip boot page, the very first loader is ROM code in the SoC. It is going to do these steps:

  • check sector 0x40 on internal flash memory for a valid second stage loader and run it if possible
  • check sector 0x40 on external flash memory for a valid second stage loader and run it if possible
  • resign itself and go in maskrom mode
On 3/22/2021 at 4:55 PM, gurzixo said:

So, in order in order to *fully* reflash my box:

  1. Manage to enter maskrom
  2. rkdeveloptool db rk322x_loader.bin
  3. rkdeveloptool ul rk322x_loader.bin
  4. rkdeveloptool wl 0 multitool.img

No, absolutely. :)

Putting the multitool on the internal eMMC is pointless, since it is an utility to easily install Armbian on eMMC using an sdcard.

Just substitute the armbian image you want in place of multitool.img at step #4 and you're done.
Also step #3 should not be really needed, because the armbian image already contains all the proper things at the right places.

20 hours ago, gurzixo said:

Is this storage map the one used by android, multitool, legacy and up-to-date armbian, or are they each using different maps?

The storage map is just the default way to arrange partition proposed by rockchip when all their blobs are used, but as I said there is wide degree of freedom. Partitions also are often intended as "location where to place things", and not always proper partitions in the partition table.

Armbian, for example, has just a single ext4 partition because all those partitions are definitely not needed and I don't use the rockchip blobs at all except for the very first DDR memory initializer.

Multitool image, by contrast, uses the rockchip blobs but has two real partitions, and u-boot image and trust image are just at the "right places".

 

20 hours ago, gurzixo said:

I found very few information about the GPT partition table, what to put inside and how to build the parameter_gpt.txt  file used by rkdeveloptool. Are there some pointers available?

That never worked for me, also GPT partition table is also not really needed. You can use it to customize the various binaries locations, but actually I don't think you need to complicate things.

 

20 hours ago, gurzixo said:

 

I have also a strange thing: I am able to enter loader mode by wiping emmc, and everything works well (ie. test chip, read id, etc.). But when I enter maskrom mode, I have the correct PID/VID on USB, but all rkdevelop commands block (ie I have to press ^C to come back to shell).

Indeed, when you're in maskrom mode the SoC is waiting for some valid code to run; it is not providing any service and no devices are initialized yet. The only command that works is rkdeveloptool db: only when you provide a valid loader (it is called usbplug in this case) the dram and emmc/nand subsystems are initialized and ready to be used.

Link to post
Share on other sites

Hey guys!

 

It's nice seeing such a big community developing popping out! ;)

 

Just wanna give a feedback about my experiences. Unfortunately also with maximum 1,3 GHz the box hangs after a while with some debug erros like I postet already.

 

I also think it could have something to do with the good SSV6051 Wifi. I know you said already there is no support, but just wanna give my information and experience into this forum. Here is a datasheet availabe: http://www.icomm-semi.com/Uploads/Temp/files/20180927/5bac8f3815d5b.pdf

 

I haven't found anything about HT40 Mode, so I guess the maximum of the hardware is really 20 MHz and that means maximum 72 Mbit/s.

 

Also the annoying thing with no accessability after a few minutes of no communication with other LAN-devices annoys mehr more and more. I will test LAN again, but also here was the same situation. I also tried performance mode, but still the same issue. I think it has something to do with sleep mode or standbye in the wifi chip or maybe also in RK322x because I think it also happend with LAN-Port. - I will veryfiy this again, but maybe you guys have already some ideas. 

 

Just wanted to update my experience to all members here. - Parallel I'm fighting with my CSA93 S912 Box with 3 GB DDR3 RAM, 32 GB eMMC and Q9377 wifi... unfortunately I can't find fitting .dtb files and the other parameters. It seems like Amlogic is here even a bigger queen than RK devices... If someone could help, I would also appreciate a PM!

5bac8f3815d5b.pdf

Edited by Alex83
SSV6051P Datasheet attached
Link to post
Share on other sites

@Alex83

I have a remote box modded by me with external antenna and I do access to it ONLY via wifi
Why your board doesn't answer you sometimes ? I access to it ONLY via ssh and it isn't in my home but about 900 mt from me.. and I chit chat with it every moment :unsure:
And then ... 20 mega of band... you can achieve 72 but it is half duplex so maybe 36..... and considering throttle and headers.. if you go at 20/25 consider lucky

and ty but that pdf we already have.. the problem is source code :-(

Link to post
Share on other sites

Hi,

 

does this maybe help?

 

http://kszaq.libreelec.tv/sources/

 

There is also source code for my Q9377 Queen! - Unfortunately I don't know how to implement it into the working image at S912...

 

But don't wanna continue off-topic here, maybe via PM ;)

 

Here is source code of SSV6051 as far as I see:

 

Unfortunatly I can't see what the f.. problem with my device... - BTW... I read that SSV6051 should still achieve maximum MCS7 mode by -72 dBm! So I think you should have a good RX at the device, but with maximum 15 dBm you need a better Antenna with 5 dB and more to achieve good TX for around 900m which is pretty impressiv!

ssv6xxx-1041e7d.tar.gz

Link to post
Share on other sites

Ok, @fabiobassaI'm sorry. I didn't know that's important for source code... 

 

Maybe if someone is interested here is my armbianmonitor - u output. 

 

http://ix.io/2TTe

 

Perhaps someone sees what's wrong with my device... 

 

Fabiobassa which image do you use? 

 

Maybe the buster minimal image has more problems than focal images.... I just wanted to safe space and took this image because at the moment I don't need desktop mode. 

 

 

Link to post
Share on other sites

14 hours ago, Alex83 said:

Also the annoying thing with no accessability after a few minutes of no communication with other LAN-devices annoys mehr more and more. I will test LAN again, but also here was the same situation. I also tried performance mode, but still the same issue. I think it has something to do with sleep mode or standbye in the wifi chip or maybe also in RK322x because I think it also happend with LAN-Port. - I will veryfiy this again, but maybe you guys have already some ideas. 

Never had such problem.

I have a box with buster minimal kernel 4.4 attached in LAN and I have no reachability problems (ping, but ssh and samba too). It is always there and always answers promptly, even if I leave it alone for hours.

I installed openmediavault and various other services on it, so don't know if some tunables have been changed, but for sure I did not change any parameter from stock.

Still I use it with LAN cable, which way more reliable than wifi by far.

Link to post
Share on other sites

Hi Jock, I don't know what's wrong with my box... Do you think it has to do with NAND

 

If I send a ping after 20h operation there are misterios outputs in my eyes... 

20210324_113554.jpg

Edited by Alex83
Sorry, with my smartphone something mixed up. Didn't wanna dobule post something
Link to post
Share on other sites

2 hours ago, Alex83 said:

Hi Jock, I don't know what's wrong with my box... Do you think it has to do with NAND

 

If I send a ping after 20h operation there are misterios outputs in my eyes... 

20210324_113554.jpg

There is definitely something wrong with your board, and indeed this looks like an instability caused by some hardware fault or misconfiguration.

Of course I suggest you to exclude the wifi because it is the most probable offender, so don't use it and blacklist the module too to avoid any possible interference.

Then limit the cpu frequency to 1.2Ghz: as I already said 1.2Ghz is the rated frequency for rk3228a; 1.3Ghz is overclocking.

Of course you can have hardware problems everywere: the board may be faulty, the RAM may be faulty, the NAND may be faulty, etc... the stack dump does not say where is the fault neither do I have the crystal ball.

Link to post
Share on other sites

Hi,Armbian's experts,my tv box model is X96 mini:rk3228A 2G+16G sv6051P,TTL interface can't find on the PCB

i chose Armbian_21.02.3_Rk322x-box_buster_legacy_4.4.194.img.xz or Armbian_21.02.3_Rk322x-box_focal_legacy_4.4.194_xfce_desktop.img.xz,burn it into SD card

edit armbianEnv.txt,try to copy to the path /boot/dtb-4.4.194-rk322x  and modify fdtfile by the same dtb file name as ,rk3228-evb.dtb,rk3228a-box-mxq4kpro.dtb,rk3228a-box.dtb,some of the dtb are extracted by the LibreELEC img,

insert this SD card into the slot,and boot into android,open adb debug,and use reboot update try to boot the SD.but it failed, HDMI output nothing,if i take out the sd card and replug power,it can boot into android.

maybe my step is wrong.i want to use armbian,can anyone help me? thanks!

Link to post
Share on other sites

1 hour ago, nickbox said:

Hi,Armbian's experts,my tv box model is X96 mini:rk3228A 2G+16G sv6051P,TTL interface can't find on the PCB

i chose Armbian_21.02.3_Rk322x-box_buster_legacy_4.4.194.img.xz or Armbian_21.02.3_Rk322x-box_focal_legacy_4.4.194_xfce_desktop.img.xz,burn it into SD card

edit armbianEnv.txt,try to copy to the path /boot/dtb-4.4.194-rk322x  and modify fdtfile by the same dtb file name as ,rk3228-evb.dtb,rk3228a-box-mxq4kpro.dtb,rk3228a-box.dtb,some of the dtb are extracted by the LibreELEC img,

insert this SD card into the slot,and boot into android,open adb debug,and use reboot update try to boot the SD.but it failed, HDMI output nothing,if i take out the sd card and replug power,it can boot into android.

maybe my step is wrong.i want to use armbian,can anyone help me? thanks!

Read the first page

Link to post
Share on other sites

@jock @fabiobassa hi after a long time!

I have spent many hours, tried several times, blá blá blá

After all, i got my board to work both with USB, and tried with Debian Image and nand was booted Fine!

 

I would like to give a huge thank you to you and everyone who could make this possible! 😁😁😁

 

edit:

 

I can't attach the images here, but in the link below has the proof and the df output

https://drive.google.com/folderview?id=1VJeOQczDYVTannltNl4cq0wk6WtvWokI

One more time, a big thank for u'all!! 

Edited by rlukas210
Include photos
Link to post
Share on other sites

On 3/25/2021 at 12:30 AM, jock said:

Read the first page

3Q,I works,it must be go into the maskrom,and follow your step. I still have a question about how to keep the emmc android,boot by sd or u-disk.i try to flash the bootloader only with rk322x_loader_v1.10.256.bin,but it boot failed,any suggestion?

Link to post
Share on other sites

8 hours ago, nickbox said:

3Q,I works,it must be go into the maskrom,and follow your step. I still have a question about how to keep the emmc android,boot by sd or u-disk.i try to flash the bootloader only with rk322x_loader_v1.10.256.bin,but it boot failed,any suggestion?

Keeping android on emmc is not supported because requires some additional steps and a different bootloader arrangement.

Link to post
Share on other sites

Hi friends,

First let me thank you all for the great work, and I've learned a lot by browsing the forum.

 

But now I really need your help...

I bought a H96 Mini V8 (RK3228A chip) with the single purpose of flashing Armbian. Since the board doesn't have SD Card slot, i tried to flash it with an USB pen, but couldn't get into Recovery Mode, since it allways showed a "No command" error screen.

Then, I tried to flash it within the "Developer Mode" (what a BIG mistake) and ended up bricking the board...

 

I'm heavily trusting what :) @jock said:

 

On 1/8/2020 at 8:31 PM, jock said:

Technically, rockchip devices cannot be bricked

 

So now I can't connect it to my PC... I tried Win7, Win10 and Linux (Fedora) but the device is never recognized by RockChip Batch Tool... Any thoughts on how I can be sure the correct drivers are installed?

 

I tried to short the pins in the eMMC and both pins in the back of the board, as shown bellow:

https://i.postimg.cc/tRvSvwJR/IMG-20210405-213054.jpg

https://i.postimg.cc/dt7Wb6Z2/IMG-20210405-213752.jpg

 

Thank you in advance for you help. Any further information you need, just ask ;)

Link to post
Share on other sites

11 hours ago, KSilva said:

Hi friends,

First let me thank you all for the great work, and I've learned a lot by browsing the forum.

 

But now I really need your help...

I bought a H96 Mini V8 (RK3228A chip) with the single purpose of flashing Armbian. Since the board doesn't have SD Card slot, i tried to flash it with an USB pen, but couldn't get into Recovery Mode, since it allways showed a "No command" error screen.

Then, I tried to flash it within the "Developer Mode" (what a BIG mistake) and ended up bricking the board...

 

I'm heavily trusting what :) @jock said:

 

 

So now I can't connect it to my PC... I tried Win7, Win10 and Linux (Fedora) but the device is never recognized by RockChip Batch Tool... Any thoughts on how I can be sure the correct drivers are installed?

 

I tried to short the pins in the eMMC and both pins in the back of the board, as shown bellow:

https://i.postimg.cc/tRvSvwJR/IMG-20210405-213054.jpg

https://i.postimg.cc/dt7Wb6Z2/IMG-20210405-213752.jpg

 

Thank you in advance for you help. Any further information you need, just ask ;)

Hello,

 

there is a section in the first page for your case: no sd card slot + eMMC.

You don't need the USB stick and the multitool (that's for people with NAND).

You need an USB male-to-male cable and rkdeveloptool to burn directly the image on the eMMC.

Link to post
Share on other sites

Hi @jock, and thank you for your help.
That's exactly what I've been trying to do, I'm trying to connect the board through a male-male USB cable, using rkdeveloptool, but it isn't detected.
When i execute "lsusb" here's what it shows:

[casacr@localhost rkdeveloptool]$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 001 Device 004: ID 048d:8911 Integrated Technology Express, Inc. 
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

That's why I think I need to short the board... I'm trying with just the usb cable, without power cord. I don't know wich one is the OTG port, so I've been trying both.

Link to post
Share on other sites

@KSilva
bom dia , good morning
Well , yes just male to male do NOTHING
You should :
1) un plug the power
2) press the little switch " boot"
3) while PRESSING boot insert the male male ( HAVE YOU CROSSED THE WIRES IN USB CABLE ??? ) and see if lsusb changes.
I usually do this under windows because suddenly a sound "bling blong" is coming out if the usb subsystem recognizes a device

If not in one usb port, do the above from scratch in the other usb.
If lsusb or windows recognizes a new device changed we are a step further

If the above not working


1) un plug the power
2) shorten the clock
3) insert the male male ( HAVE YOU CROSSED THE WIRES, I ask again  ??? )  in one usb port or another and see if lsusb changes or sound coming out from windows
if lsusb changes REMOVE the shorten on the emmc clock and from this moment we must do some other steps but let check if we go here !!!

 

 

Link to post
Share on other sites

23 hours ago, KSilva said:

Hi @jock, and thank you for your help.
That's exactly what I've been trying to do, I'm trying to connect the board through a male-male USB cable, using rkdeveloptool, but it isn't detected.
When i execute "lsusb" here's what it shows:





[casacr@localhost rkdeveloptool]$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 001 Device 004: ID 048d:8911 Integrated Technology Express, Inc. 
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

That's why I think I need to short the board... I'm trying with just the usb cable, without power cord. I don't know wich one is the OTG port, so I've been trying both.

Shorting the board, as long as you have the pins exposed, should be pretty simple. Use a cross or flat small screwdriver over the exposed pads nearby the eMMC chip: even those pads are unpopulated, usually they are still connected to the electric traces. Be careful to find the correct orientation of the chip to find the two pads to short.

To be honest, some people also say that the 7th and 8th pads should be tried from any edge, because orientation may change. On my boards the working pads are always 7th and 8th starting from the same edge of the circle marking but on the opposite side. You may try, your mileage may vary; but first be sure to find which one is the USB OTG port.

 

The USB OTG port is usually the one which turns on the board, but it may happen that both of them turn the board on, so if only one is actually turning the board on, that's the OTG. If both are turning the board on, then we still don't know which one is.

Looking on the PCB it seems that none of them is OTG. I hope this is not true, because if so you're out of the game with this board, since it is necessary to do anything with that; I have never seen any though, so I hope yours has an OTG port like any other.

I guess you have no serial adapter to connect to the serial port, the output of that would be plenty useful (it's 1.5 mbit/s with stock firmware).

 

As @fabiobassa said, try also plugging the USB cable while keeping the microbutton pressed (that one with the label "boot" on the PCB).

A last question: do you see anything on the HDMI?

 

PS: if you have access to the original firmware of the board (maybe the vendor is publishing an "upgrade" of whatever), it is possible to take a look to the dtb and see if we have of we have no USB OTG port.

Link to post
Share on other sites

Well, I'll try to answer all your questions. 

 

@fabiobassa The USB cable was bought (not homemade built) so I guess I don't need to switch the wiring. Also, sometimes (I guess half of the tries) Windows does show a popup message saying "USB device not recognized", but still not visible by any flashing tool. 

I'll give it another try, pressing the boot switch and try to use the USB ports on the back of my PC. 

 

@jock I've shortened the pins on the eMMC, I even shortened more the the 7th and 8th pin at the same time.

No HDMI signal and no lights on the PCB. 

I have the firmware available HERE

 

Again, big thanks to you guys

Link to post
Share on other sites

Boa noite KSilva! (I'm French, but I live in Algarve...)

I was in the same case as you, knew nothing about those boxes and rochchip, but, with the STRONG help of fabiobassa, I have been able to resuscitate a few of thoses boxes, and at least for some of them, able to have a stable Linux.

 

A few questions:

- Are you "fluent" in Linux and windows, do you have a windows system available?

- Do you have some experience in electronics, microprocessors and microcomputers?

- Do you have experience with serial connexions?

 

My recommendation for you:

- grab a male-male A-A usb cable, a micro (I mean MICRO) screwdriver, and a high magnification magnifying glass.

- Open your box, take good quality pictures of both sides of the PCB and  put them on the forum.

- The 2 next steps are: put the box either in Rockchip (ie. Loader) mode or in Maskrom mode, and try to connect a serial line to the box serial connection (1500000-N-8-1) to get console log, as this helps A LOT. (all cards have 3 or 4 plots for that: Gnd, Tx, Rx, Vcc . We can help you find that on the pictures; you will need a serial adapter, some thin wires that you have usually to solder on some pads and a com program - minicom works very well)

- After that, you will have to flash some firmware using the USB to USB OTG cable.

- Even if you prefer Linux (that'salso my case...), I suggest that you use windows for bringing back your box alive, as W tools are A LOT more complete, and also windows emits a sound when a new USB device is recognized, which helps a lot.

 

This page explains the boot process.

You can grab your stock firmware on this page . The archive of firmware contains RKDevelopTool.exe, which is used for flashing firmware.

You can grab also some more Rockchip tools here

 

Here are the main points that I understood:

- Armbian and Rockchip/android firmwares are RADICALLY different, and their boot process are INCOMPATIBLE. Conceptually, they are similar, but takes very different approaches.

- Let's detail the RK approach, which is very basic, unsophisticated and pragmatic. The image in flash contains the following elements at FIXED addresses, from bottom to top of flash:

- A "partition table", (Parameter in RKDevTool) which indicates the addresses of the following blobs (with extension .img)

- Loader, closed source called after reset by the HW of the processor.

- The "trusted bloc", closed source, which performs some needed magic... started by the loader

- The RK uboot, started by the trust module, which is similar to the BIOS for PC, and contains an interactive monitor, that you can start by entering a char on the serial console; otherwise it continues the boot.

- The Device Tree Block (DTB, called "Resource" in RKDevTool)): this is a binary blob  which contains all the details and parameters of the hardware. it is compiled from source, and is COMPLETELY INCOMPATIBLE with the Armbian DTB. This allows to have a standard kernel, which is the same for all boxes.

- The Linux kernel, started by the uboot, with a command line indicating where in flash to find the DTB, the Boot partition and the root file system.

- The Boot partition

- The Root partition (called "System" in RKDevTool), containing the Linux userland.

 

On android, there are other blobs, used for backup and recovery, in case something goes wrong.

All those blobs are usually packed together by the above RK tools, to create a complete image.

RKDevtool allows you to flash each of those blobs in a specific place in memory, erase the memory, do some low level tests or flash a complete image.

I will detail some practical instructions on a next post.

 

 

 

 

 

Link to post
Share on other sites

Hi again KSilva,

 

Using RKDevTool (RKT) for bringing back the box alive, and flash an android image:

  1. UNPLUG the box, and do NOT plug it now. The Power will come from USB.
  2. You can switch RKT in english by editing config.ini and changing Selected=2 (use an 8bit editor such as VSCode).
  3. Start RKT, connect the box. If you hear a Windows DingDong, you have won, and you see "LOADER Mode" or a "MASKROM mode" in RKT. In that case you can plug power so that the box stays in that mode and go to 6). Otherwise you have to put the chip in one of those modes.
  4. The best thing is Loader (ie. Rockchip) mode. With Rockchip/Android (opposed to Armbian) with a normal flash image (at least if the bootloader is not erased), you can enter this mode by pressing the "Rockchip button" while connecting the USB. This button is usually located behind the audio jack, you can use a wood toothpick (cut both ends as it hurts...) for that. This is NOT the case if there is an Armbian image; in that case, the only way to enter loader mode is to interrupt the boot from the serial console (BTW, RK/android is 1500000000-N-8-1 (yes, 1.5MB/s), Armbian is 115000-N-8-1)
  5. If this does not work, the MASKROM mode is your last resort.  The hardware of the chip automatically enters this mode at boot if the flash is erased or not accessible. Technically, the flash is a serial memory accessed synchronously using a clock line, so the trick is to short this line to ground while connecting the USB. Most boxes have some pads for that, or the PCB can receive a Nand memory in a QFP package; in that case you have to short pins 8 and 9 with the small screwdriver and a good magnifier (see here for a video). Unfortunately, typically now the emmc chips use BGA packages, and I had to throw away a bricked box where I could not find the clock line on the PCB (or maybe the DRAM was dead... ;)) You have to be perseverant, as it does not work  each time, but eventually you will be rewarded by a Windows DingDong!. This is where we can help with the pictures of your PCB.
  6. In either mode, select "upgrade firmware" tab, load the android image from disk with the "Firmware" button (you have to wait 20seconds for the firmware to be decoded), erase the memory, and flash the firmware.

If you boot in Armbian mode, unfortunately the toothpick trick does not work, and the only way to enter LOADER mode is to interrupt the boot from the serial line, and from the u-boot monitor in RAM, erase the u-boot in flash so that when rebooting, it enters LOADER mode. You can find details here  (mmc erase 0x4000 0x2000)

 

If you enter Maskrom mode, and don't want to burn a complete image, but at least a bootloader, so that it is a lot more easier to enter back loader mode with a toothpick.

 

I recommand that you bring back your box alive with stock firmware before installing Linux.

 

Unfortunately, your box has NO sdcard, and that's a pity as it helps A LOT. Next time, buy a box WITH AN SDCARD!

I was in the same case, and was not able to flash an u-boot allowing the box to continue booting on USB, as described in the 1st post. So I had to flash images directly in emmc, which is not good in case of problems,

 

In order to install LInux on such a system, it is best to switch from Windows to Linux as I have not found a way to burn an Armbian image with RKT, and use rkdeveloptool, got from here . This is a CLI program, of lower level, which is agnostic about what it burns. There are instructions how to use it in the 1st post.

 

Just a remark which costed me a few hours of headscratching: when being in Maskrom, the ONLY command accepted is to download a bootloder (rkdeveloptool WL bootloader.bin). ONLY after that you can use the other commands.

 

Jock, Fabiobassa, balbes150 and others have done a tremendous job in creating armbian images, and the multitool, and they work most of the time. But I had a couple of boxes (called T96 Mini) where even the old (4.4) kernel panicked (serial console is mandatory to see what's going on...). In that case, fabiobassa was kind enough to help me install manually an even older kernel manually using RKT, but this is a complex process and the resulting system is NOT very stable, so I don't recommand that. 

 

Just FYI, I have standardised now on those 2 boxes (Q96 HOME 4K and V88 4K - beware, rhe 4G/32G is in fact a 1G/8G!!!) which, despite having a small memory, have 4 usb (enough for a WIFI dongle and some USB SSD), and are perfect as small headless Linux servers with the 4.4 kernel, and extremely stable :

stress-ng --sequential 0

runs for 24H without crash, but it is a good idea to add a small heat-sink on the processor as it throttles speed above 105C celsius...)

 

Just my 2 cents, and welcome to the club!

Link to post
Share on other sites

21 hours ago, KSilva said:

Well, I'll try to answer all your questions. 

 

@jock I've shortened the pins on the eMMC, I even shortened more the the 7th and 8th pin at the same time.

No HDMI signal and no lights on the PCB. 

I have the firmware available HERE

 

Again, big thanks to you guys

I took a look to the DTB of the firmware and the OTG port is enabled in both u-boot and in Android linux kernel. This does not mean that is effectively wired to any physical port though, but there are good chances it is.

 

Anyway I also installed the firmware of your board on a board of mine, it boots and works flawlessy. I was able to enter loader mode just pressing the reset microbutton and plugging the USB male-to-male cable in the OTG port. From there, rkdeveloptool was able to discover the board and potentially I could follow the procedure on the first page.

 

Now I have to do a mea culpa, because I forgot to mention the reset microbutton in the back of the board in the instructions of the first page. I will fix them immediately.

Anyway I did not understand your procedure, but I guess you used some android tools or the android recovery. Honestly all of that sounds very alien to me, I never messed up with android recovery or any android tool.

 

Shorting multiple pads or different pairs is not a wise idea: you could easily break the eMMC or the board itself! Without and SD slot it means that the board becomes junk because there is no other way to let it boot if eMMC breaks. (that's one of the main reason not to buy boards without sd slot).

 

In the meantime I found a review of your very same board: https://goughlui.com/2021/01/09/teardown-h96-mini-v8-rk3228a-216gb-4k-ultra-hd-android-10-tv-box/

 

Also I recommend having the serial adapter to guess what is going on with the board itself. Pins are easily accessible in the bottom left corner (TX/RX are the circled ones, the square pad is GND) so if you have basic soldering skills you should go straight.

If you have access to a multimeter you could also test the 7th and 8th pins of the eMMC with ground: if there is conduction you spot the GND pin. If you can't spot the GND pin in that position, maybe the eMMC is rotated and you can try 7th and 8th pins from other corners and see you spot it.

Anyway, as already said, the procedure may require many tries. You may also try with a very slim piece of aluminium attached to a piece of scotch and apply it to board to let pins touch; you can even push on the scotch film while booting to ensure conductivity.

Link to post
Share on other sites

20 hours ago, Yeoj Henrie Sayadi said:

Hi! can I use the nand bootloader upgrade for emmc because I want to make my ram go 660mhz. If I follow the instructions it just errors Download Boot Fail and I don't know how to fix it. Please tell me how

Hello.

That's for boards with NAND, eMMC users don't need that. What flash memory do you have?

Link to post
Share on other sites

https://drive.google.com/file/d/1s2WFIbjdPvKtZsPvXN2k794kaXtG53AQ/view


Hello everyone.i'm the follower of armbian and using it's rk322x version about 1-2 years.i used to use kernel 4.4 so far and tried mainline kernel too.i need help about the above tvbox.MXQ_RK3229_EMCP_V3.1 .when i erase rom with android tool for windows i could be able to boot it from sdcard with mainline kernel.But i can't install armbian to emmc with armbian-config (install to emmc menu disappears or no exist).i used usb male to male cable too but no way.i found a topic at this link too.i asked there too.waiting there too.But i'm hopeful from here at first.https://www.clubedohardware.com.br/topic/1523441-como-dar-umbrick-na-tv-box-mxq-rk3229-v31/
Please help me about this subject.i'll be very glad to learn howto install it to emmc.Thanks

Link to post
Share on other sites

4 hours ago, jock said:

Hello.

That's for boards with NAND, eMMC users don't need that. What flash memory do you have?

I have emmc. I just want to make my ram faster for gaming with overclocked gpu ofc

 

1 hour ago, vice said:

https://drive.google.com/file/d/1s2WFIbjdPvKtZsPvXN2k794kaXtG53AQ/view


Hello everyone.i'm the follower of armbian and using it's rk322x version about 1-2 years.i used to use kernel 4.4 so far and tried mainline kernel too.i need help about the above tvbox.MXQ_RK3229_EMCP_V3.1 .when i erase rom with android tool for windows i could be able to boot it from sdcard with mainline kernel.But i can't install armbian to emmc with armbian-config (install to emmc menu disappears or no exist).i used usb male to male cable too but no way.i found a topic at this link too.i asked there too.waiting there too.But i'm hopeful from here at first.https://www.clubedohardware.com.br/topic/1523441-como-dar-umbrick-na-tv-box-mxq-rk3229-v31/
Please help me about this subject.i'll be very glad to learn howto install it to emmc.Thanks

We have exactly the same board I just used the multitool burned on an sd card with the armbian image located on the images folder then I just plug in the sd card on the board then power it on. You can erase the flash from there then you can write the image that  you placed on the images folder then reboot.

Link to post
Share on other sites

 Share

37 37