qwerty keyboard Posted 20 hours ago Posted 20 hours ago (edited) Preexisting builds of Armbian won't run on my X96Q TV box because mine uses DDR3 instead of LPDDR3. U-Boot SPL 2024.01_armbian-2024.01-S866c-P4a40-H8869-Vad24-Bbf55-R448a (Nov 15 2025 - 02:36:36 +0000) This DRAM setup is currently not supported. How do I change the DRAM (and possibly other) configuration U-Boot is built with? I'll be quite frank: Quite annoyed by this whole process. The build process for both Armbian and U-Boot has exhausted my patience and I'm very much not in the mood for digging through (often hard to find) documentation. (Like why is there no standard for adding a board?) Here's the UART boot log of the device:x96q_boot_log.cap Oh and I almost forgot! The stock firmware! https://archive.org/details/x96q_h313_mmcblk0.img.7z Something about extracting "device trees" or something? Honestly I couldn't locate the copy of u-boot in there, but I'm probably doing something wrong there. I'm sure someone WAY smarter then me in this stuff could probably figure it out. Edited 20 hours ago by qwerty keyboard Add link to stock firmware. 0 Quote
Nick A Posted 9 hours ago Posted 9 hours ago (edited) @qwerty keyboard here are some links that will help you. Find your Dram settings https://forum.armbian.com/topic/29794-how-to-install-armbian-in-h618/#findComment-218660 Find boot.bin and extract dts. https://forum.armbian.com/topic/29794-how-to-install-armbian-in-h618/#findComment-187672 Uboot defconfig. I have two x96q builds with ddr3. https://github.com/NickAlilovic/build/blob/v20250306/patch/u-boot/u-boot-h616/151-add-x96-q-ddr3-defconfig.patch Or https://github.com/NickAlilovic/build/blob/v20250306/patch/u-boot/u-boot-h616/163-add-x96-q-ddr3-v5.1-defconfig.patch You can edit the patch and enter the new values. If you need to add a new line in the defconfig patch. At the bottom of the patch add your newline and put a "+" infront of it. Also, for x96q ddr3 increase @@ -0,0 +1,37 @@ to @@ -0,0 +1,38 @@ or for x96q ddr3 v5.1 @@ -0,0 +1,39 @@ to @@ -0,0 +1,40 @@. Download and compile my build: git clone https://github.com/NickAlilovic/build.git --branch v20250306 cd build ./compile.sh choose "Do not change kernel configuration" choose "Show CSC/WIP/EOS/TVB" choose "I understand and agree" choose "X96Q DDR3” or “X96Q DDR3 v5.1” choose "edge" rest is up to you. Edited 8 hours ago by Nick A 0 Quote
qwerty keyboard Posted 2 hours ago Author Posted 2 hours ago Ah sweet! Thank you! Honestly a lot of my frustration came from not being able to find stuff, so these links are a massive help! 0 Quote
qwerty keyboard Posted 1 hour ago Author Posted 1 hour ago I don't have a "boot_a", just a regular "boot". Isn't that "_a"/"_b" thing just a redundancy thing on some android devices? Also do I HAVE to use this "gradlew" program? Because it just errors out with some mystery "25.0.1" error code. qwerty@cod-waw-grenade-spam:~/Documents/compiling/Android_boot_image_editor$ ./gradlew unpack ./bootload er.img WARNING: A restricted method in java.lang.System has been called WARNING: java.lang.System::load has been called by net.rubygrapefruit.platform.internal.NativeLibraryLoa der in an unnamed module (file:/home/qwerty/.gradle/wrapper/dists/gradle-8.14-bin/38aieal9i53h9rfe7vjup9 5b9/gradle-8.14/lib/native-platform-0.22-milestone-28.jar) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled FAILURE: Build failed with an exception. * What went wrong: 25.0.1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 795ms Why is this damn thing fighting me tooth and nail? Man I hate when this happens. People mention how web browsers are bloated and slow. This is true, but people should also talk about command line utilities that are bloated and slow. (Why does it have to build stuff on first run?) 0 Quote
qwerty keyboard Posted 27 minutes ago Author Posted 27 minutes ago I can't seem to manage to extract the device tree because of garbage software stacks (Wtf is "gradle"? Doing everything in BrainF*ck as a joke would unironically be better) but I can atleast extract the DRAM settings! Just running sunxi-fw against the whole firmware image did the trick! @ 16: boot0: Allwinner boot0 size: 49152 bytes eGON checksum matches: 0xf6e7eb45 DRAM parameters: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1f12 0x1f12 PARA0 : - - 0x1 PARA1 : 0x1f12 0x30fb 0x30fb PARA2 : 0x1 0x8000000 0x8000000 MR0 : 0x30fb 0x1f14 0x1f14 MR1 : 0x8000000 0x4 0x4 MR2 : 0x1f14 0x20 0x20 MR3 : 0x4 0 0 TPR0 : 0x20 0xc0001002 0 TPR1 : 0 0x80000000 0 TPR2 : 0 0 0xc0001002 TPR3 : 0 0 0x80000000 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f1107 0x2f1107 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0001002 0xeddc7665 0xeddc7665 TPR13 : 0x80000000 0x6041 0x6041 DRAM parameters 1: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 2: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 3: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 4: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 5: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 6: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 7: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1f12 0x1f12 PARA0 : - - 0x1 PARA1 : 0x1f12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0001002 0 TPR2 : 0 0 0xc0001002 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f1107 0x2f1107 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0001002 0xeddc7665 0xeddc7665 TPR13 : 0 0x40 0x40 0 Quote
qwerty keyboard Posted 20 minutes ago Author Posted 20 minutes ago All the DRAM settings in the patch file are labeled for the H616, but I have the H313. Should I use the data from the H616 or H313 column from the DRAM setting extraction? 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.