DTB for g12b_w400_4g (tv box s922x)

Hello guys,

I’m facing a problem when booting core elec in my s922x tv box, it’s not listed in the known compatible devices, and I checked that it dtb id is:

g12b_w400_4g

Anyone knows how can I get a DTB for it?

I’ve tried the dtbs from other tv box manufacturers, but no one have worked, some have booted, but freezed in the initialization;

I’ve also tried to extract the dtb from the running android of my tv box, I got the 256kb dtb, but when I try to use it, it doesn’t even boot the system.

Thank you

There is no “generic” S922X DTB existing. You can try all available if one will work like g12b_s922x_x88_king_rev_a or any similar. Also as this your second post about it: why is it a secret what box you try to boot?

Hello Portisch,

The box I’m trying to boot on is this one:

I tried all the s922x dtbs available here, this one “g12b_s922x_beelink_gt_king” boots, but freezes in the initialization. As there are no generic s922x dtb, I’m trying to use the android dtb, but I would like to check with the guys that has created the other DTBs to understand better how does it works, and if its possible to use de dtb from android.

You need to disassemble android dtb and pick out the difference to our dtbs and create a new one.

Got it, is there a guide or something you know that could help me doing this? I’m a developer (not cpp, but I can understand it), so if there is some article or guide about it will help me to have a point of start.

Thank you for the help

You need to extract the android dtb and then you can pick the correct dtb by a hex editor. search for the dtb magic number and you will find the start of the single dtbs in the multidtb (when it’s not encrypted). maybe the multidtb is gzip compressed, but this can be checked by the gzip magic number. extract the one you need and than you can use the fdtdump tool do decompile it. Then you can start compare with coreelec dtb what is different. You see it’s not very easy to perform such device implementation.

You can also request the vendor dts source what make the process much easier but I am sure you will not get it…

Nice, thank you Portisch, I’ve already extracted the dtb from android, but I didnt know that there are other dtbs inside the .img, because the one I’ve extracted has 256 kb.

I will perform these steps here and I tell you if I’ve stucked in something or if it worked.

Hello Portisch, I’ve succedded to extract the dts file, and now I’m comparing with:
g12b_s922x_minix_u22xj.dtb

This dtb above at least shows the splach screen, so I believe that it’s booting, but it freezes in initialization, and I realized that y dts file is very different from the g12b_s922x_minix_u22xj.dts.

When you change the DTB to work with coreelec, is there something that normally you need to do? Are there some clues of what can be crashing the booting?

I will put both files there:
g12b_s922x_minix_u22xj.dts (80.7 KB)
g12b_w400_4g copy.dts (106.3 KB)

Thanks.

You will need to open your device, locate UART connection and make log files.