Jump to content

Allwinner H6


balbes150
 Share

Recommended Posts

Hello,

 

Can someone to explain me this one 

U-Boot SPL 2021.10-armbian (Dec 02 2021 - 17:00:41 +0300)
DRAM: 4096 MiB
Trying to boot from MMC1

.....cut....

U-Boot 2021.10-armbian (Dec 02 2021 - 17:00:41 +0300) Allwinner Technology

CPU:   Allwinner H6 (SUN50I)
Model: Tanix TX6
DRAM:  3 GiB
MMC:   mmc@4020000: 0, mmc@4022000: 1

.....cut.....

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.82-station (root@vbox) (aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0, GNU ld (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 2.32.0.20190321) #trunk SMP PREEMPT Wed Dec 1 09:44:49 MSK 2021
[    0.000000] Machine model: Tanix TX6
[    0.000000] Memory limited to 2048MB

Why memory is limited to 2048MB? DTB file is sun50i-h6-tanix-tx6
And one more thing. nand-sata-install do not change boot=UUID in /boot/extlinux/extlinux.conf. Any ideas why?

Link to comment
Share on other sites

Search Before Posting!

2 hours ago, dotbg said:

Hello,

 

Can someone to explain me this one 

U-Boot SPL 2021.10-armbian (Dec 02 2021 - 17:00:41 +0300)
DRAM: 4096 MiB
Trying to boot from MMC1

.....cut....

U-Boot 2021.10-armbian (Dec 02 2021 - 17:00:41 +0300) Allwinner Technology

CPU:   Allwinner H6 (SUN50I)
Model: Tanix TX6
DRAM:  3 GiB
MMC:   mmc@4020000: 0, mmc@4022000: 1

.....cut.....

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.82-station (root@vbox) (aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0, GNU ld (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 2.32.0.20190321) #trunk SMP PREEMPT Wed Dec 1 09:44:49 MSK 2021
[    0.000000] Machine model: Tanix TX6
[    0.000000] Memory limited to 2048MB

Why memory is limited to 2048MB? DTB file is sun50i-h6-tanix-tx6
And one more thing. nand-sata-install do not change boot=UUID in /boot/extlinux/extlinux.conf. Any ideas why?

 

What do your kernel arguments look like in /boot/extlinux/extlinux.conf.? You'll probably find the memory is limited to 2GB.

 

I have got a T95 Max "4GB" RAM but the H6 is limited to 3 GB RAM so you can only use up to 3 GB max.

Link to comment
Share on other sites

@Dan MacDonald - i think its limited to 2gb on the kernel cmdline and the reason for that is that there are some devices which have problems with memory detection and will not work if the mem is not limited to 2gb - just remove the 2gb limit from the kernel cmdline and see if your system is still running stable ... h6 can only deal with 3gb, so even boards which have 4gb can only use 3gb of them

Link to comment
Share on other sites

@dotbg - oh i just reread you initial post - this looks a bit like the mem is limited in the dtb then maybe? looking for "Memory limited to" in the kernel sources brings up arch/arm64/mm/init.c and that looks like dtb driven: https://github.com/torvalds/linux/blob/master/arch/arm64/mm/init.c#L177-L190 - but at least the upstream dtb does not contain such a limitation - maybe yours does? the reason for the limitation most probably is like i mentioned it above: there are some boxes (i have an eachlink one for instance) where u-boot cannot detect the memory size properly (or the hardware is setup in a strange or broken way) and as a safety measure it is limited to 2gb to make linux boot and run well on those too.

Link to comment
Share on other sites

4 hours ago, dotbg said:

Is there any way to to boot directly from USB in case of NAND flash on board?

If by that you mean using USB dongle then no. However, if you put your box in FEL mode, you can load U-Boot via USB using another machine. But that's meant more for developers or unbricking and it's not friendly at all for everyday use.

Link to comment
Share on other sites

On 12/13/2021 at 8:06 PM, dotbg said:

@hexdump There are mem=2048 limitation in kernel cmdline. I remove it and now have a box working with 3GB of RAM. Pretty good for now. :)

Is there any way to to boot directly from USB in case of NAND flash on board?

 

Hi Friend, what is the exact command line in the kernel actually ? I want to try it.

Link to comment
Share on other sites

@balbes150 Thank you very much for building images for allwinner/rockchip TV boxes!
They run very well on my Tanix-TX6 box. I tried to build an image myself, as follows.

I took the configuration from orange pi 3 with the following change:


BOOTCONFIG="tanix_tx6_defconfig"

 

Then, I built a standard image with console interface and current kernel, resulting in the image Armbian_22.02.0-trunk_Tanix-tx6_bullseye_current_5.10.94.img . I can run the image and use  the framebuffer console. I do not get, however, an eth0 device. In dmesg I see:

 

[    3.092378] sun50i-h6-pinctrl 300b000.pinctrl: supply vcc-pb not found, using dummy regulator
[    3.113330] sun50i-h6-pinctrl 300b000.pinctrl: supply vcc-pa not found, using dummy regulator
[    3.113526] dwmac-sun8i 5020000.ethernet: IRQ eth_wake_irq not found
[    3.113534] dwmac-sun8i 5020000.ethernet: IRQ eth_lpi not found
[    3.113623] dwmac-sun8i 5020000.ethernet: supply phy not found, using dummy regulator
[    3.113800] dwmac-sun8i 5020000.ethernet: supply phy-io not found, using dummy regulator
[    3.113968] dwmac-sun8i 5020000.ethernet: PTP uses main clock
[    3.113997] dwmac-sun8i 5020000.ethernet: Current syscon value is not the default 58000 (expect 50000)
[    3.115107] dwmac-sun8i 5020000.ethernet: No HW DMA feature register supported
[    3.115123] dwmac-sun8i 5020000.ethernet: RX Checksum Offload Engine supported
[    3.115131] dwmac-sun8i 5020000.ethernet: COE Type 2
[    3.115136] dwmac-sun8i 5020000.ethernet: TX Checksum insertion supported
[    3.115143] dwmac-sun8i 5020000.ethernet: Normal descriptors
[    3.115148] dwmac-sun8i 5020000.ethernet: Chain mode enabled
[    3.229783] dwmac-sun8i 5020000.ethernet: EMAC reset timeout
[    3.229802] dwmac-sun8i 5020000.ethernet eth0: stmmac_dvr_remove: removing driver
[    3.249560] ------------[ cut here ]------------
[    3.249574] bus-emac already disabled

 

It looks as if the ac200 chip has no clock. Do you have any suggestion in what direction I should look for a solution? I get the same problem with the legacy and edge  kernels. The relevant kernel modules and device tree nodes appear to be present.

Link to comment
Share on other sites

@balbes150thanks for your great work on the TV boxes and for sharing. I’m playing with different images you provided and TV boxes (for a project I’m working on). According to your advice I’m now testing your new images on the H6 TX6. It works well however with an old image the Wifi was working (XRadio XR819 chipset) but no longer with the new builds ? Do you know why ? And is there a way to overclock a bit those boxes (as a bit slower than the Amlogic based X96 Air or Max) ? I tried though the dtb but the change is ignored.

Link to comment
Share on other sites

1 час назад, Pic55 сказал:

Do you know why ?

I do not have such equipment, I do not know where the regression occurred and what is missing for its operation

 

1 час назад, Pic55 сказал:

And is there a way to overclock a bit those boxes

I have never been involved in overclocking, these devices are already very hot, so I don't see any use in this.

Link to comment
Share on other sites

The wifi on the TX6 equipped with the XRadio XR819 chipset is working fine with the (pretty old ;-) image Armbian_20.10_Arm-64_buster_current_5.9.0.img, but no longer with the recent image Armbian_21.11.0-trunk_Aw-h6-tv_bullseye_current_5.10.68.img. I tried to add the drivers to the new image but they are not taken into account (but I'm a newbie). I wonder if the problem is not simply in the dtb.

 

Link to comment
Share on other sites

Thanks for the information @jernej. But just to be sure about my feedback I opened the two boxes I have (one with 2G of RAM TX6P - probably what you call the mini, and one with 4G of RAM TX6A 6B. Unfortunatly I can not upload the pictures (code 200).

Link to comment
Share on other sites

10 hours ago, Pic55 said:

Unfortunatly I can not upload the pictures (code 200).

You can still use services like imgur.

 

10 hours ago, Pic55 said:

one with 2G of RAM TX6P - probably what you call the mini, and one with 4G of RAM TX6A 6B

I'm still not sure if TX6 variant with 2 GB RAM got renamed to TX6 mini or are these two different products. I only own TX6 with 4 GB RAM, which has RTL8822BS wifi+bt combo.

Link to comment
Share on other sites

Hi Balbes

 

Have you got a simple way to rebuild your H6 TV box armbian images like the compile.sh in upstream armbian? Is it publicly available (yet)?

 

I've just had a look through the list of CSC build targets currently supported by armbian but I don't see an Allwinner H6 TV box option. The nearest equivalent armbian build targets seem to be orangepioneplus or pineh64(-b). I expect they use a different bootloader config to a TV box. Will you be upstreaming your H6 builds to armbian or is there a reason you can't, even if only as a CSC, unsupported target?

 

I'd like a newer build of Armbian buster for H6 TV boxes with kernel 5.14+ as jernej says thats the minimum required to get the cedrus video decoder working with his ffmpeg patch.

 

Thanks!

Link to comment
Share on other sites

11 часов назад, danboid сказал:

Have you got a simple way to rebuild your H6 TV box armbian images like the compile.sh in upstream armbian? Is it publicly available (yet)?

 

I've just had a look through the list of CSC build targets currently supported by armbian but I don't see an Allwinner H6 TV box option. The nearest equivalent armbian build targets seem to be orangepioneplus or pineh64(-b). I expect they use a different bootloader config to a TV box. Will you be upstreaming your H6 builds to armbian or is there a reason you can't, even if only as a CSC, unsupported target?

No, I have no such plans.

Link to comment
Share on other sites

2 часа назад, danboid сказал:

That's a shame that you don't plan to release your build scripts balbes.

All the data that was used to build this version has been in my GIT for a long time. I wrote that I do not plan to develop and transfer this data to the main Armbian build system.

Link to comment
Share on other sites

15 minutes ago, balbes150 said:

All the data that was used to build this version has been in my GIT for a long time. I wrote that I do not plan to develop and transfer this data to the main Armbian build system.

 

So it is! I've found it now:

 

https://github.com/150balbes/build

 

I shall try that later. Hopefully there is a 5.14+ kernel available (5.15?).

 

That 5.15 sunxi64 kernel package I posted in my previous post does install and boot on Armbian running on my T95 MAX but the onboard LAN doesn't work OOTB like your H6 kernel . Hopefully it's just a case of me working out which kernel module I need to load to enable it?

Link to comment
Share on other sites

Hey Guys,

 

 I need some expert level help here. I am committed to overclocking my H6, went down a rabbits hole the past few weeks of different builds, tools (Yes tried them all) with no real success. Lets get to the good stuff.....

 

Here is where I am Experts who can help!

  1. I decompiled the DTB file for the Kernal I am using and I want to directly modify/update the OPP table to run a higher frequency. From the research I have done if I can pull it off, after re-compiling the new DTB I should be forcing it to run faster. Is this feasible?
  2. I have found the OPP table (pretty easy) and know that the values are in HEX so I converted to Base 10, and wouldn't you know it. 1,800,000,000 hz or 1.8hz. The max CPU freq setup for this process in the kernal I am using.
  3. So see below for what I am proposing to change, and some questions related to this change.

BTW thank you for anyones help in advance! I am determined to keep self teaching myself linux, luckily there is a great community supporting us.

 

GENERAL NOTES:
BUILD IS BASED ON ARMBIAN for TX6 TV Box Running Allwinner H6 A53 Precessor
Heavily modified aftermarket cooler installed
Full load stress test max temp 40-41°C at stock 1.8ghz
Potential to overload PSU, wire directly to test bench if becomes a problem


Questions:
1- Can I modify the OPP table like this?
2 - Is it possible to modify the OPP table to include an additional CPUFreq step instead of "trying to hijack" the existing max freq. setting?
3 - Do I need to change the clock-latency?
4- Should I change the microvolt-speed 0,1,2? I know from my general CPU overlocking experience that usually you undervolt a bit. What does speed 0,1,2 refere too? Is speed 0 max at max freq (1.16V)?

DEFAULT OPP TABLE DECOMPILED FROM DTB, FINAL STOCK FREQ STEP 1.8ghz

OPP@1800000000 {
    clock-latency-ns= <0x3b9b0>;
    opp-hz = <0x0 0x6b49d200>;
    opp-microvolt-speed0 = <0x11b340>;
    opp-microvolt-speed1 = <0x10c8e0>;
    opp-microvolt-speed2 = <0x10c8e0>;
};


CONVERTED HEX TO BASE 10

OPP@1800000000 {
    clock-latency-ns= <244144>;
    opp-hz = <1800000000>;
    opp-microvolt-speed0 = <1160000>;
    opp-microvolt-speed1 = <1100000>;
    opp-microvolt-speed2 = <1100000>;
};

NEW FREQUENCY MUST BE IN MULTIPLES OF 24
85,000,000 X 24 = 2,040,000,000 HZ OR 2.04 GHZ

REVISED OPP TABLE TOO....
OPP@2040000000  {
    clock-latency-ns= <244144>;
    opp-hz = <2040000000>;
    opp-microvolt-speed0 = <1160000>;
    opp-microvolt-speed1 = <1100000>;
    opp-microvolt-speed2 = <1100000>;
};

CONVERTED BACK FROM BASE 10 TO HEX
OPP@2040000000  {
    clock-latency-ns= <0x3b9b0>;
    opp-hz = <7997EE00>;
    opp-microvolt-speed0 = <0x11b340>;
    opp-microvolt-speed1 = <0x10c8e0>;
    opp-microvolt-speed2 = <0x10c8e0>;
};
 

Link to comment
Share on other sites

balbes150:

 

The good news (for me) is that the Armbian Edge kernels are using 5.15 so that should cut it for cedrus.

 

The bad news is that I've had no luck trying to run compile.sh from your gh Armbian fork, building under Ubuntu 21.04 amd64. I've tried building images for bullseye, sid and jammy but all of them failed with the error:

 

ERROR in function install_deb_chroot

 

Might you know why that could be?

 

Screenshot at 2022-02-06 15-42-27.png

Link to comment
Share on other sites

On 2/1/2022 at 5:02 PM, Pic55 said:

The wifi on the TX6 equipped with the XRadio XR819 chipset is working fine with the (pretty old ;-) image Armbian_20.10_Arm-64_buster_current_5.9.0.img, but no longer with the recent image Armbian_21.11.0-trunk_Aw-h6-tv_bullseye_current_5.10.68.img. I tried to add the drivers to the new image but they are not taken into account (but I'm a newbie). I wonder if the problem is not simply in the dtb.

 


After de-compiling latest sun50i-h6-tanix-tx6.dtb it seems that entire wifi device at mmc@4021000 is removed/disabled in latest build. The wifi configuration was present in the device tree from old builds that works. Simply copying old dtb does not improve the situation and XR819 is still not detected.

Link to comment
Share on other sites

  • Werner locked this topic
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...