Jump to content

Recommended Posts

Posted (edited)

Hi everyone, newbie here.

 

Experienced developer with some outdated embedded experience. Very little experience in nowadays embedded technologies, but it's something I'm interested in learning about.

Doing fewer hours on the day job atm and picked up one of these as a home project. Goal is to get armbian working fully on this. When (if) successful probably will do a libreElec - this should make for a powerful Kodi box.

 

Tanix Tx66, around €50 on aliexpress, I have the 4GB RAM 32GB eMMC flavour.

 

s-l1600-2.jpg.e7a03b7363f462f8660a9761808a7179.jpg

 

Product Specification:

  • CPU :           RK3566 / Mali-G52 GPU
  • RAM :           2GB/4GB LPDDR4
  • ROM :           eMMC 16G/32G/64G
  • Bluetooth :     BT 5.0
  • DC In :         DC 5V/2A
  • USB Host :      2 High speed USB 2.0, 1 USB 3.0
  • Card Reader :   TF Card reader
  • Lan :           RJ45 Ethernet port 1GiB
  • Wifi :          Built-in Wifi, 802.1.1b/g/n/ac ; 2.4G/5G
  • SPDIF :         Coaxial(Optical)

 

Vendor firmware both as IMG and zip archive: 

Google Drive by Tanix

 

It contains a boot.img, dtbo.img and uboot.img. I dipped into some of the other threads here and armed with that I was able to extract & decompile a device tree from boot.img.

rk3566-tanix-tx66.dts rk3566-tanix-tx66.dtb

 

I made some half-hearted attempts sticking the device tree into some 'close enough' images (libreElec & armbian generic rk3566) and see what happens booting from SD but without success. The box just stays dark.

I guess I need to brush up on modern bootloader and kernel/device-tree concepts etc, but wrt the task at hand, am I right in saying first step is getting serial debug going to see what goes wrong where?

 

IMG_9220.jpg

                                                                                  ^^^^^^^^^^^

This here looks like the serial debug pins, bottom left next to the SD card reader. I couldn't find anything else that looks remotely like it. I ordered an FT232RL serial to USB converter and will have a go.

 

I'm new to this site and I hope I'm doing this right, creating a thread here. If not please be gentle ;)

 

Thanks!

 

IMG_9219.jpg

 

Edited by realcam
format
  • realcam changed the title to Tanix TX66 RK3566 4GB/32GB 8K 2.4/5WIFI 1GiB BT USB2/3 SD IR SPDIF
Posted

Seems you have a 5.10 compatible DTB. You can try with legacy kernel or with mainline and box-demo dtb.

 

Legacy maybe the best for kodi.

Posted
5 hours ago, realcam said:

newbie here

 

persistence beats talent

 

1 hour ago, maka said:

5.10 compatible DTB


tastefull

 

1 hour ago, maka said:

with mainline


this is better....

###################################

my suggestion, use my methods to extract DTB
# 1 method
# 2 method
# 3 method
###################################
With the DTB you can use the @hzdm method to build image
###################################

Posted

Ok, thanks. I'll have to fully decipher this but I think I'll get there.

 

Are you saying my dtb is not good?

 

Did some more reading through the threads and it was said that I will not get HDMI w hardware acceleration since GPU is not open source and the stuff thats there is only working for android fork.

That would be a problem for kodi I think.

Posted

Nothing you said is right. All works HDMI, GPU, 3D and VPU. You are right that your DTB is wrong nowadays but will work in legacy.

 

Full VPU will only work in legacy so It is the best for Kodi. Noone can play 4k with rk3566 with mainline. The goog thing is that legacy is 6.1 so is rather new but your DTB is for 4.19.

Posted (edited)

Thx that's good news. So when you said above I have a 5.10 compatible dtb are you saying 5.1.x is the legacy kernel for rockchip I should continue with and I should be able to build a bootloader with the dtb I extracted?

 

Will do some reading on differences to dts/dtb between android (older linux kernel) and legacy and mainline. And differences to boot process in general.

But one thing I noticed the dts I decompiled from the android dtb seems to be a flat dts whereas when I looked at box demo dts its all nicely separated with includes. I'm assuming thats because its decompiled from dtb.

Edited by realcam
ha
Posted

I mean with 5.10 compatible that your dts looks to me for this kernel but don't think that your android is there and so it is likely that will not work. Kernel 4.19 is what you have in android, haven't you? Kernel 6.1 is very new and I don know about.

 

Moreover, yoru dmc looks horrible with 780 MHz memory speed and not the usual 1056MHz for an android box.

 

When you see "include" in a dts file is that is not compiled.

Posted (edited)
17 hours ago, hotnikq said:

###################################

my suggestion, use my methods to extract DTB
# 1 method
# 2 method
# 3 method
###################################
With the DTB you can use the @hzdm method to build image
###################################

 

Ok I did that which produced a binary identical dtb to what I already have. naturally my dts comes from using dtc on the dtb.

 

I originally used this method btw: https://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-firmware-files/.

Mostly because using Windows tools is not impossible but a bit awkward for me. I use an arm mac and its easier for me to use mac & linux tools. 

 

I will look at what @hzdm did on the H96 thread next but I'm still waiting for my serial/USB adapter so I'm flying blind which is probably not worth doing.

 

5 hours ago, maka said:

I mean with 5.10 compatible that your dts looks to me for this kernel but don't think that your android is there and so it is likely that will not work. Kernel 4.19 is what you have in android, haven't you? Kernel 6.1 is very new and I don know about.

 

Yes android 11 on kernel 4.19.232. I will look at @hzdm method. Atm I dont know can I take some existing image and 'patch' my dtb in there or do I need to install sdk for some legacy kernel (5.10?) and build from there. I had a quick look and @hzdm actually has a build process with an H96 configuration it seems.

 

Thanks @maka and @hotnikq

Edited by realcam
Posted

The box can be toothpicked into a loader from where there are options available including ADB - which I also have no experience with.

When trying to boot a generic rk3566 LE image from SD the device stays dark. Which means to me it's trying to boot. Good but not progress. 

I now have a UART adaptor but didnt get a word over the line yet. UART may need enabling or may be misconfigured or may not be a UART port at all. Flying blind is not great. ADB may be a more productive approach.

 

Eyeballing the board there is a wifi 2.4/5 & BT chip (LGX9358) which had me worried cos no search engine hits but device tree says wifi_chip_type = "ap6398s" and this seems known.

 

I tried to contact the manufacturer wrt general information and about getting maybe access to their (legacy) kernel SDK, but haven't heard back yet.

Other sources suggest that this manufacturer is not interested in open source software on their products. Maybe this is true, maybe not, I'll wait, it's only been a week.

 

There is a lot to learn and I havent spent much time on this yet, busy with other stuff.

Posted (edited)
Quote

 

On 3/11/2024 at 1:39 PM, realcam said:

 

IMG_9220.jpg

 

 

 

 

 

This board have SD CARD READER!!!!!!!

Use the SD card to test DTB files!!!!

just drop in replace DTB
and boot again
Use TTL UART to debug e go

 

  

On 3/18/2024 at 9:31 PM, realcam said:

There is a lot to learn and I havent spent much time on this yet, busy with other stuff.



Keep pushing bro

 

Edited by hotnikq
Posted

I used this method to test the DTB of this box, but in the end, it could only be partially started. Modifying the DTS requires professional expertise

Posted
4 hours ago, gen ha said:

Modifying the DTS requires professional expertise


you can ise Artificial inteligence
use iA software like:
Microsoft Autogen Studio
Devika
chat gpt

Posted (edited)

Not sure 'AI' is the answer, this requires actual embedded dev skills.

 

I have (lame) news tho. I gave the box away. A family member needed a TV box and the Tanix is doing that now.

Giving up is kinda lame I know but there were good reasons for it. Mostly that the box is pretty much undocumented except that it has an rk3566 on it. This and that the manufacturer seems to have no interest in open source support and never replied to repeated attempts of getting some documnetation, SDK etc. The idea was to teach myself SBC embedded linux/android and reverse engineering seemed interesting at first but ialso maybe not the best way to learn. In the end it didnt seem worth the effort.

 

I bought a firefly rk3566 instead, stationpc m2 instead. Well documented board with NVME interface, good wiki/docs, Android and Linux SDKs on gitlab, plenty of tools and firmware to play with. It's a much more rewarding environment for a developer to learn. 

 

Sorry if I disappointed people replying, trying to support here. Thanks in any case!

Edited by realcam

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines