realcam Posted March 11 Posted March 11 (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. 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? ^^^^^^^^^^^ 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! Edited March 12 by realcam format 0 Quote
maka Posted March 11 Posted March 11 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. 0 Quote
Hqnicolas Posted March 11 Posted March 11 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 ################################### 0 Quote
realcam Posted March 12 Author Posted March 12 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. 0 Quote
maka Posted March 12 Posted March 12 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. 1 Quote
realcam Posted March 12 Author Posted March 12 (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 March 12 by realcam ha 0 Quote
maka Posted March 12 Posted March 12 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. 0 Quote
realcam Posted March 12 Author Posted March 12 (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 March 12 by realcam 0 Quote
realcam Posted March 19 Author Posted March 19 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. 0 Quote
Hqnicolas Posted April 4 Posted April 4 (edited) Quote On 3/11/2024 at 1:39 PM, realcam said: 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 April 4 by hotnikq 0 Quote
gen ha Posted April 4 Posted April 4 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 0 Quote
Hqnicolas Posted April 4 Posted April 4 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 0 Quote
realcam Posted April 19 Author Posted April 19 (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 April 19 by realcam 0 Quote
Recommended Posts
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.