Jump to content

Recent images don't boot on BTT Pi


Recommended Posts

Recent images don't boot on BigtreeTech PI V1.2 boards.

 

These are the last log lines I get over the serial:

 

Starting kernel ...

Loading, please wait...
Starting systemd-udevd version 255.3-1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
<...repeated many times...>
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  UUID=0c02e3fa-3cf4-4e86-9829-edeabba5469c does not exist.  Dropping to a shell!

 

Image that did work for me: Armbian_23.11.1_Bigtreetech-cb1_bookworm_legacy_6.1.43_minimal.img.xz . I also updated kernel package to linux-image-edge-sun50iw9-btt (6.2.16-edge-sun50iw9-btt), and it works as well.

Images that did NOT work: Armbian_24.2.1_Bigtreetech-cb1_bookworm_current_6.6.16_minimal.img.xz (current stable from the website), also I tried the latest nightly build Armbian_24.5.0-trunk.36_Bigtreetech-cb1_trixie_edge_6.7.5_minimal.img.xz

 

I've looked around while in initramfs, and I don't see any /dev/mmcblk0* devices. Also, dmesg doesn't show anything about my SDHC card. 

 

For comparison, image that works has this in dmesg output:

[    1.925594] mmc1: host does not support reading read-only switch, assuming write-enable
[    1.928794] mmc1: new high speed SDHC card at address aaaa
[    1.929630] mmcblk1: mmc1:aaaa SK32G 29.7 GiB 
[    1.931786]  mmcblk1: p1 p2 p3
[    2.094288] sunxi-mmc 4021000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[    2.095415] Freeing unused kernel memory: 2752K
[    2.095533] Run /init as init process
[    2.095540]   with arguments:
[    2.095545]     /init
[    2.095550]     splash
[    2.095555]     splash
[    2.095560]     nofb
[    2.095565]   with environment:
[    2.095569]     HOME=/
[    2.095573]     TERM=linux
[    2.095578]     ubootpart=5d175d74-01
[    2.095583]     cgroup_enable=memory
[    2.100579] sunxi-mmc 4021000.mmc: card claims to support voltages below defined range

 

 

Image that does not work has this (note -- no logs regarding SDHC card):

[    1.605257] sunxi-mmc 4021000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[    1.611428] sunxi-mmc 4021000.mmc: card claims to support voltages below defined range
[    1.622065] mmc0: new high speed SDIO card at address 0001
[    1.636956] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.07
[    1.636974] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.636983] usb usb8: Product: Generic Platform OHCI controller
[    1.636990] usb usb8: Manufacturer: Linux 6.7.5-edge-sunxi64 ohci_hcd
[    1.636997] usb usb8: SerialNumber: 5101400.usb
[    1.637568] hub 8-0:1.0: USB hub found
[    1.637623] hub 8-0:1.0: 1 port detected
[    1.639238] Freeing unused kernel memory: 3072K
[    1.652717] Run /init as init process
[    1.652736]   with arguments:
[    1.652741]     /init
[    1.652746]   with environment:
[    1.652751]     HOME=/
[    1.652755]     TERM=linux
[    1.652760]     splash=verbose
[    1.652765]     ubootpart=6aa635ca-01
[    1.652770]     cgroup_enable=memory

 

Edited by Ivan Dubrov
Typo, finished the sentence.
Link to comment
Share on other sites

I tried copying DTB file from the working kernel, and it still doesn't work.

 

Also, I looked inside /sys directory and compared it to what I see when board boots fine:

 

Working kernel:

>ls /sys/devices/platform/soc/4020000.mmc/mmc_host/mmc0

mmc0:aaaa

 

(does see my SD card)

 

Non-working kernel:

 

>ls /sys/devices/platform/soc/4020000.mmc

??? no mmc_host in that directory ???

 

This is about where I am out of ideas as I don't have any extensive experience debugging these issues. 

 

 

Link to comment
Share on other sites

Try a different SD card.  I've seen with recent kernels that  a lot of SD cards that I have are no longer are working, especially 64G and larger cards.  It you have a high quality 16G or 32G SD card try that.  I don't have this board so my suggestion may be completely wrong but it would be interesting to hear your results.

Link to comment
Share on other sites

Yeah, I tried that. The very same card works with older Linux kernels.

 

By adding some debugging to the kernel itself, I found that MMC host never initializes fully (mmc@4020000 in device tree). All 5 attempts end after this line in the "drivers/mmc/host/sunxi-mmc.c":

 

ret = mmc_regulator_get_supply(host->mmc);

Which gets "-EPROBE_DEFER" on all 5 attempts. It looks like VMMC voltage regulator does not get initialized, not sure why.

 

This is what I get when I check the debugfs for deferred devices:

(initramfs) cat /sys/kernel/debug/devices_deferred 
4020000.mmc
Edited by Ivan Dubrov
Link to comment
Share on other sites

Found the problem. The following diff shows the issue -- the node names of the regulators were not correct, presumably due to axp1530 => axp313a migration:

 

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
index 8a18476307ff..e82da4b6e340 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
@@ -234,20 +234,20 @@ reg_dcdc3: dcdc3 {
 				regulator-step-delay-us = <25>;
 				regulator-final-delay-us = <50>;
 				regulator-always-on;
 			};
 
-			reg_aldo1: ldo1 {
+			reg_aldo1: aldo1 {
 				regulator-name = "axp313a-aldo1";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
 				regulator-step-delay-us = <25>;
 				regulator-final-delay-us = <50>;
 				regulator-always-on;
 			};
 
-			reg_dldo1: ldo2 {
+			reg_dldo1: dldo1 {
 				regulator-name = "axp313a-dldo1";
 				regulator-min-microvolt = <3300000>;
 				regulator-max-microvolt = <3300000>;
 				regulator-step-delay-us = <25>;
 				regulator-final-delay-us = <50>;

 

Link to comment
Share on other sites

The latest Armbian 24.2.2 Image (Kernel 6.6.17) does not connect to ethernet on bootup. Unfortunately I don't have a Screen so I can't really help much with debugging. I'll try to copy my wifi credentials to the SD and see if it connects to wifi.

 

Edit: I had no luck with copying the Network files (i.e., the NetworkManager folder).

Edited by BerriJ
Link to comment
Share on other sites

22 hours ago, BerriJ said:

The latest Armbian 24.2.2 Image (Kernel 6.6.17) does not connect to ethernet on bootup


Thank you for testing. It seems we need to invest more time ... we'll try to come up with fixes during next week.

Link to comment
Share on other sites

6 hours ago, Nigrum Cattus said:

It's there a way to include the Mali GPU acceleration in the next image?


It should work out of the box with Gnome desktop image.

 

6 hours ago, Nigrum Cattus said:

Here is a tutorial made by adelyser


This is nothing related to 3D, but some tweaks / optimizations, more DVFS points which we might be missing out, not sure ... we'll check if we miss something. @ALIGMSTEN @Gunjan Gupta

Link to comment
Share on other sites

6 minutes ago, Nigrum Cattus said:

Is there a way to include the driver on the XFCE image?


It is included there too, just there DE doesn't need / know how to use that for DE functions.

Link to comment
Share on other sites

On 3/1/2024 at 8:07 AM, Igor said:

some tweaks / optimizations, more DVFS points

Hello all, in that context it possible to extend the opp points up to 1800 Mhz in the table. The original idea was to incorporate "turbo mode" so that the changes can be made in user space by choice. I don't know how stable that might be overall, perhaps its now time to introduce those options for h616/8 boards.

 

EDIT: If remembered correctly the GPU tables were available as patch, recently removed, perhaps I'm wrong, haven't as of now checked.

Link to comment
Share on other sites

11 hours ago, ALIGMSTEN said:

in that context it possible to extend the opp points up to 1800 Mhz in the table. The original idea was to incorporate "turbo mode"


Keeping this in overlay is probably best way ...

Link to comment
Share on other sites

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