Jump to content

SATA support dropped from 21.05.6 to 21.08.2


cooper72

Recommended Posts

Armbianmonitor:

Hi forum,

 

I ran an apt-get upgrade a few days back and here linux-image-current-sunxi:armhf was updated from 21.05.6 to 21.08.2

After reboot my SATA was gone.

There was nothing in the logs which would have indicated that something is wrong.

After I reverted back to 21.05.6

apt-get install linux-image-current-sunxi=21.05.6
apt-get install armbian-firmware=21.05.8
apt-get install linux-dtb-current-sunxi=21.05.6

everything worked again.

Has anyone experienced something similar ?

 

Regards

Volker

Link to comment
Share on other sites

I see some recent changes in the dts https://github.com/armbian/build/pull/3117/commits/a215617b78a05b5895e5eaca14b974d5968178de

but probably nothing to do with sata.

I also see that you have not installed the uboot package

Can you provide the output of:

cat /boot/armbianEnv.txt
strings /boot/boot.scr
strings /dev/mmcblk0 | grep "^U-Boot.*("

You might need to interrupt the last command (press Ctrl c) after a few lines of output

Link to comment
Share on other sites

cat /boot/armbianEnv.txt

verbosity=1
bootlogo=false
console=display
disp_mode=1280x1024p60
overlay_prefix=sun7i-a20
rootdev=UUID=20af993b-ffec-4b81-91f5-51bc56163f75
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

 

strings /boot/boot.scr

Spoiler
# DO NOT EDIT THIS FILE
# Please edit /boot/armbianEnv.txt to set supported parameters
setenv load_addr "0x45000000"
setenv overlay_error "false"
# default values
setenv verbosity "1"
setenv console "display"
setenv disp_mem_reserves "off"
setenv disp_mode "1280x1024p60"
setenv rootfstype "ext4"
setenv docker_optimizations "on"
setenv bootlogo "false"
setenv devnum "0"
setenv rootdev "/dev/mmcblk${devnum}p1"
setenv earlycon "off"
# Print boot source
itest.b *0x28 == 0x00 && echo "U-boot loaded from SD"
itest.b *0x28 == 0x02 && echo "U-boot loaded from eMMC or secondary SD"
itest.b *0x28 == 0x03 && echo "U-boot loaded from SPI"
# get PARTUUID of first partition on SD/eMMC it was loaded from
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
if test "${devtype}" = "mmc"; then
  part uuid mmc ${devnum}:1 partuuid;
  setenv devnum ${mmc_bootdev}
  setenv rootdev "/dev/mmcblk${mmc_bootdev}p1"
echo "Boot script loaded from ${devtype}"
if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
    load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
    env import -t ${load_addr} ${filesize}
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi
if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi
if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi
if test "${bootlogo}" = "true"; then setenv consoleargs "bootsplash.bootfile=bootsplash.armbian ${consoleargs}"; fi
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} hdmi.audio=EDID:0 disp.screen0_output_mode=${disp_mode} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} ubootsource=${devtype} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
if test "${disp_mem_reserves}" = "off"; then setenv bootargs "${bootargs} sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16"; fi
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}zImage
if test -e ${devtype} ${devnum} "${prefix}.next"; then
    echo "Found mainline kernel configuration"
    load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
    fdt addr ${fdt_addr_r}
    fdt resize 65536
    for overlay_file in ${overlays}; do
        if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
            echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
            fdt apply ${load_addr} || setenv overlay_error "true"
        fi
    done
    for overlay_file in ${user_overlays}; do
        if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
            echo "Applying user provided DT overlay ${overlay_file}.dtbo"
            fdt apply ${load_addr} || setenv overlay_error "true"
        fi
    done
    if test "${overlay_error}" = "true"; then
        echo "Error applying DT overlays, restoring original DT"
        load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
    else
        if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/overlay/${overlay_prefix}-fixup.scr; then
            echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
            source ${load_addr}
        fi
        if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
            load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
            echo "Applying user provided fixup script (fixup.scr)"
            source ${load_addr}
        fi
    bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
else
    echo "Found legacy kernel configuration"
    load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}script.bin
    bootz ${kernel_addr_r} ${ramdisk_addr_r}
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

 


strings /dev/mmcblk0 | grep "^U-Boot.*("

 

U-Boot SPL 2021.07-armbian (Sep 13 2021 - 23:19:26 +0200)
U-Boot 2021.07-armbian (Sep 13 2021 - 23:19:26 +0200) Allwinner Technology


 

Edited by TRS-80
wrap long output in spoiler
Link to comment
Share on other sites

Hello.

i have the same situation on my "Banana Pi Pro" :

Image: Armbian_21.05.1_Bananapipro_buster_current_5.10.34_minimal
http://ix.io/3zMe
Linux bananapipro 5.10.34-sunxi #21.05.1 SMP Thu May 6 20:13:21 UTC 2021 armv7l GNU/Linux
---> SSD available & working fine


 

Output from inxi -Fx 

System:    Host: bananapipro Kernel: 5.10.34-sunxi armv7l bits: 32 compiler: N/A Console: tty 0
           Distro: Armbian GNU/Linux 10 (buster)
Machine:   Type: ARM Device System: LeMaker Banana Pro details: Allwinner sun7i (A20) Family rev: N/A
           serial: ###
CPU:       Topology: Dual Core model: ARMv7 v7l variant: cortex-a7 bits: 32 type: MCP arch: v7l rev: 4
           features: Use -f option to see features bogomips: 101
           Speed: 960 MHz min/max: 480/960 MHz Core speeds (MHz): 1: 960 2: 960
Graphics:  Device-1: sun7i-a20-mali driver: lima v: kernel bus ID: N/A
           Device-2: sun7i-a20-display-frontend driver: sun4i_frontend v: N/A bus ID: N/A
           Device-3: sun7i-a20-display-frontend driver: sun4i_frontend v: N/A bus ID: N/A
           Device-4: sun7i-a20-display-backend driver: sun4i_backend v: N/A bus ID: N/A
           Device-5: sun7i-a20-display-backend driver: sun4i_backend v: N/A bus ID: N/A
           Device-6: sun5i-a10s-hdmi driver: N/A bus ID: N/A
           Display: tty server: N/A driver: N/A tty: 127x40
           Message: Advanced graphics data unavailable in console for root.
Audio:     Device-1: sun5i-a10s-hdmi driver: N/A bus ID: N/A
           Sound Server: ALSA v: k5.10.34-sunxi
Network:   Device-1: sun7i-a20-gmac driver: sun7i_dwmac v: N/A port: N/A bus ID: N/A
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 02:87:04:01:ed:da
           Device-2: mmc-pwrseq-simple driver: pwrseq_simple v: kernel port: N/A bus ID: N/A
           Device-3: sun4i-a10-emac driver: N/A port: N/A bus ID: N/A
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 02:87:04:01:ed:da
           IF-ID-1: wlan0 state: up mac: 98:3b:16:e8:1b:7c
Drives:    Local Storage: total: 119.27 GiB used: 1.79 GiB (1.5%)
           ID-1: /dev/mmcblk0 model: NCard size: 7.48 GiB
           ID-2: /dev/sda vendor: Patriot model: Burst size: 111.79 GiB temp: 33 C
Partition: ID-1: / size: 109.53 GiB used: 1.01 GiB (0.9%) fs: ext4 dev: /dev/sda1
           ID-2: /var/log size: 48.4 MiB used: 1.5 MiB (3.2%) fs: ext4 dev: /dev/zram1
Sensors:   Message: No sensors data was found. Is sensors configured?
Info:      Processes: 102 Uptime: 3h 04m Memory: 997.4 MiB used: 97.9 MiB (9.8%) Init: systemd runlevel: 5 Compilers:
           gcc: 8.3.0 Shell: bash v: 5.0.3 inxi: 3.0.32



After "apt update && apt upgrade" the SSD is gone:

http://ix.io/3zMg
Linux bananapipro 5.10.60-sunxi #21.08.2 SMP Tue Sep 14 16:28:44 UTC 2021 armv7l GNU/Linux

---> SSD completly unavailable (but still working fine via USB-SATA-Adapter on Linux-Laptop)

 

 

Using the Image "Armbian_21.08.3_Bananapipro_buster_current_5.10.60" as a complete new installation
doesn´t show up the SSD at all after installation ---> http://ix.io/3zM6

Linux bananapipro 5.10.60-sunxi #21.08.2 SMP Tue Sep 14 16:28:44 UTC 2021 armv7l GNU/Linux"


Cheers, Lelo.

Link to comment
Share on other sites

Hello.

Meanwhile I have also checked the Bullseye-Image. Results:

 

Armbian_21.08.3_Bananapipro_bullseye_current_5.10.60.img ---> SSD is not available --> http://ix.io/3A3L

Linux bananapipro 5.10.60-sunxi #21.08.2 SMP Tue Sep 14 16:28:44 UTC 2021 armv7l GNU/Linux


---> apt update && apt upgrade -y ---> SSD is still not available ---> http://ix.io/3A3T
Linux bananapipro 5.10.60-sunxi #21.08.2 SMP Tue Sep 14 16:28:44 UTC 2021 armv7l GNU/Linux

The only information abou SATA on Bananapi Pro I found here.


Cheers, Lelo.

Link to comment
Share on other sites

Confirm that a fresh install of Armbian_21.08.3_Bananapipro_focal_current_5.10.60 does not get a visible sata connection (BananaPi Pro).

This cmd line followed by a reboot enables the sata (same is in first post, just all in one line).

apt install linux-image-current-sunxi=21.05.6 armbian-firmware=21.05.8 linux-dtb-current-sunxi=21.05.6

 

Dieter

 

Hi again, 

more findings:

It is sufficient to downgrade the device tree:

apt install linux-dtb-current-sunxi=21.05.6

I had compared the kernel config (find current config in /proc/config.gz), no changes regarding sata. Only a very few changes, mostly adding drivers as module.

 

So far I had no time to compare the device tree yet. Someone wrote he did that but did not find relevant changes. Well, I hope he was wrong :-).

 

 

BTW: the next line will reverse the changes.

apt full-upgrade

 

PS: Running a kernel with a different device tree is not recommend, I did it only to hunt down the issue a bit.

 

Dieter

 

And more info:

Some people wrote that these events show up in the syslog and searched in that direction.

ahci-sunxi 1c18000.sata: supply ahci not found, using dummy regulator
ahci-sunxi 1c18000.sata: supply phy not found, using dummy regulator
ahci-sunxi 1c18000.sata: supply target not found, using dummy regulator

Since I was convinced these messages are normal, I double checked with working sata and they are there as well.

 

Dieter

 

Decompiled the DT, then compared.

This is a difference regarding sata:

		sata@1c18000 {
			clocks = <0x02 0x31 0x02 0x7a>;
			compatible = "allwinner,sun4i-a10-ahci";
			interrupts = <0x00 0x38 0x04>;
			phandle = <0x5f>;
			reg = <0x1c18000 0x1000>;
			status = "okay";
			target-supply = <0x24>;
		};

This line is new in latest version:

target-supply = <0x24>;

It is not unlikely that this line causes the issue.

The 0x24 points to item ahci-5v and that is disabled.

	ahci-5v {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <0x19 0x01 0x08 0x00>;
		phandle = <0x24>;
		regulator-boot-on;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "ahci-5v";
		status = "disabled";
	};

No change for this item between the versions.

I do not know how to enable it (yet). Any ideas ?

 

This is how I extracted the DT and decompiled:

  1. copy "/sys/firmware/devicetree" to my worksation
  2. running "dtc --in-format fs base --out-format dts --out dt.dts --symbols --auto-alias --phandle both  --sort"
  3. use meld to compare both versions

Dieter

Link to comment
Share on other sites

On 10/6/2021 at 12:45 PM, Dieter said:

PS: Running a kernel with a different device tree is not recommend

Not sure what you mean, but `armbian-config` provides experimental device tree editor.

So if the difference is one added line, what happens if you delete this line in the current device tree using the editor?

Link to comment
Share on other sites

Hi Lampra,

That is a good point. I am new to Armbian and would have used the dtc to rebuild the dt.

Packing it was my learning stuff, but I had no time to work on it. Will stay that way the next days at least.

 

One hope was that the maintainer would explain why he/she did add that line and perhaps fix it.

Many regards, Dieter

 

Link to comment
Share on other sites

18 hours ago, Dieter said:

One hope was that the maintainer

I doubt that the maintainer tracks all discussions here.

So for your benefit in the future and the benefit of the community, if you could spare some minutes (after the "next" days), go ahead and check the sources.

If this is not already fixed there you could open an issue in GitHub linking here or, if you have the skills, send a pull request that resolves this issue (i.e. deletes the line).

Link to comment
Share on other sites

Greetings,

Today I did an apt update / upgrade on the system to bring it up to snuff.  On reboot it eventually dropped into initramfs without being able to find rootdev.  I boot from SDcard and run the root fs from external sata drive as setup by armbian-config.  after this latest update the sata device is no longer recognized.  I managed to swap out the UUID for the sata drive with the SD card and can boot the system now.  Alas, all my data and applications are not there.  I've run the armbianmonitor -u to get data about what's happening.  Did something change in the device tree that would mask the sata interface?  here's the armbianmonitor link:  http://ix.io/3BQ7

 

any and all help is greatly appreciated.  thanks

Link to comment
Share on other sites

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

i have no DTC in the system Menue, why?

may need to update the application "armbian-config"? My current version: 21.08.3

commands:

sudo apt update

sudo apt install --upgrade armbian-config

 

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

overlay_prefix=sun7i-a20

this is the correct value

Link to comment
Share on other sites

On 10/21/2021 at 9:48 AM, MAVr said:

But I would like the developers to fix this.


Likewise, but perhaps they are totally overloaded for years in advance?

I would also like too see more community involvement in maintaining the project, since wishes are way too big for capacity project has. A lot of solutions got stuck in this stage. 

 

Armbian project already struggle and there is very little of interest to help project helping community.

https://docs.armbian.com/User-Guide_FAQ/#is-armbian-an-operating-system

 

How to proceed?

https://docs.armbian.com/Developer-Guide_Build-Preparation/
https://docs.armbian.com/Process_Contribute/

The process will receive support.

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