Jump to content

Recommended Posts

Posted

Good morning

I have a BPI M1 and M1+ currently running an image from https://banana-pi.org/. Everything works, except it's Ubuntu 16.04. Since yesterday, I've been testing the Armbian images, which are great and up-to-date, but none of them recognize the SATA connection on my SSD.

`

fdisk -l

` shows no SATA SSD.

Since I absolutely need this connection, I'm stuck. What am I doing wrong, or where do I need to activate the SATA connection?

The SATA connection is what makes the BPI M1+ unique.

With Ubuntu 16.04, the SATA connection is recognized with both SSD and HDD on the BPI M3.

Can someone please help me? I'm completely lost.

Regards, Henry

Posted

Feature regressions are sadly something that happens all the time. There are many variants out there and (part of) Armbian OS is different for every board ... First resolve confusion - do you have M1 (we call it just bananapi) or M3. You mention M3 in the text, while title says M1+. Those are totally different boards.

 

Proceed from older images and find out when this feature stopped working:
https://fi.mirror.armbian.de/archive/
https://fi.mirror.armbian.de/oldarchive/

Posted

For your information, I have a

BPI M1

BPI M1+

BPI M3
All three are currently running Ubuntu 16.04, where SATA works, but it's a very old version. All tests with Armbian were performed using the BPI M1+, although SATA did not work.

Posted

BPI M1+ tested with:

Armbian_23.8.1_Bananapim1plus_jammy

Armbian_24.11.1_Bananapi_noble

Armbian_26.2.0-trunk.342_Bananapi_noble
and the SATA interface doesn't work on any of the three.

Does nobody use a BPI M1+ with an Armbian image where the SATA interface works?

Posted
fdisk -l
Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram1: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram2: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/ram3: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mmcblk0: 14.84 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4c58faaa

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       8192 30801920 30793729 14.7G 83 Linux

Disk /dev/zram0: 483.1 MiB, 506564608 bytes, 123673 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/zram1: 50 MiB, 52428800 bytes, 12800 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Out of desperation, I plugged in an SSD via USB adapter, and it is recognized as:

/dev/sda:

Detected

One might think the SATA connection is defective, but when I boot with the Ubuntu 16.04 image without changing anything, the SATA SSD is recognized! So the SATA connection on the BPI M1+ works, and so does the SSD. It's definitely the Armbian image that's the problem, but where exactly is it?

Posted
1 hour ago, comp2000 said:

but where exactly is it?


Probably, my guess, issue with a boot loader - fail to / disabled by mistake power SATA port? We don't have anyone actively maintaining this kind of (10+years) hardware anymore. Support is "community / upstream" maintained "as is". But this forum / community can provide assistance to fix this. I gave a tip - where I think is the problem.

Not working feature on particular hardware is not Armbian problem. This is custom hardware world and our work is tooling https://github.com/armbian/build and best effort hardware maintenance on this principle https://docs.armbian.com/User-Guide_Board-Support-Rules/ If we try to fix everything, everyone would be long burned out ...

Posted

I have this SBC and it is still nice one as it includes LiPo charging/operation and SATA. I changed Armbian OS drastically, such that the raw SD-card as blockdevice/image also runs as KVM on my ROCK3A or ROCK5B for example as standard UEFI machine. I have not tested that yet, but done several similar for NanoPi-NEO and some RPi3. Last thing done was use kernel 6.18 as default. Had not tested/connected a SATA recently, so good time to do it now; It works, see below:

root@banlipi:~# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 119.2G  0 disk  
├─sda1        8:1    0   512M  0 part  
└─sda2        8:2    0 118.7G  0 part  
mmcblk0     179:0    0  59.6G  0 disk  
├─mmcblk0p1 179:1    0   256M  0 part /boot/efi
├─mmcblk0p2 179:2    0     6G  0 part /.snapshots
│                                     /local/fsroot
│                                     /
├─mmcblk0p3 179:3    0     1G  0 part [SWAP]
└─mmcblk0p4 179:4    0  52.4G  0 part /local/sdata
root@banlipi:~# dmesg | grep ata
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] printk: log buffer data + meta data: 131072 + 409600 = 540672 bytes
[    0.045731] Memory: 859656K/1015868K available (11264K kernel code, 1761K rwdata, 9604K rodata, 1024K init, 377K bss, 53644K reserved, 98304K cma-r
eserved, 229436K highmem)
[    0.742930] libata version 3.00 loaded.
[    1.268996] ahci-sunxi 1c18000.sata: supply ahci not found, using dummy regulator
[    1.269351] ahci-sunxi 1c18000.sata: supply phy not found, using dummy regulator
[    1.269470] ahci-sunxi 1c18000.sata: supply target not found, using dummy regulator
[    1.311601] ahci-sunxi 1c18000.sata: controller can't do PMP, turning off CAP_PMP
[    1.311632] ahci-sunxi 1c18000.sata: forcing PORTS_IMPL to 0x1
[    1.311727] ahci-sunxi 1c18000.sata: AHCI vers 0001.0100, 32 command slots, 3 Gbps, platform mode
[    1.311748] ahci-sunxi 1c18000.sata: 1/1 ports implemented (port mask 0x1)
[    1.311762] ahci-sunxi 1c18000.sata: flags: ncq sntf pm led clo only pio slum part ccc  
[    1.316206] ata1: SATA max UDMA/133 mmio [mem 0x01c18000-0x01c18fff] port 0x100 irq 34 lpm-pol 0
[    1.630949] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.632905] ata1.00: ATA-9: SanDisk SDSSDP128G, 1.0.0, max UDMA/133
[    1.632934] ata1.00: 250069680 sectors, multi 1: LBA48 NCQ (depth 32)
[    1.633567] ata1.00: configured for UDMA/133
[   11.515496] systemd[1]: Expecting device dev-disk-by\x2dlabel-sdata.device - /dev/disk/by-label/sdata...
[   22.764093] BTRFS: device label sdata devid 1 transid 36 /dev/mmcblk0p4 (179:4) scanned by mount (378)
[   23.002238] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
root@banlipi:~# uname -a
Linux banlipi 6.18.2-edge-sunxi #1 SMP Thu Dec 18 13:03:43 UTC 2025 armv7l GNU/Linux
root@banlipi:~# cd /tmp
root@banlipi:/tmp# mkdir 1 2
root@banlipi:/tmp# mount /dev/sda1 1
root@banlipi:/tmp# mount /dev/sda2 2 -osubvolid=0
root@banlipi:/tmp# ddrescue -f /dev/sda /dev/null
GNU ddrescue 1.29
Press Ctrl-C to interrupt
     ipos:    1731 MB, non-trimmed:        0 B,   current rate:  75366 kB/s
     opos:    1731 MB, non-scraped:        0 B,   average rate:    133 MB/s
non-tried:  126304 MB,  bad-sector:        0 B,     error rate:       0 B/s
  rescued:    1731 MB,   bad areas:          0,       run time:         12s
pct rescued:    1.35%, read errors:          0, remaining time:         15m
                               time since last successful read:         n/a
Copying non-tried blocks... Pass 1 (forwards)^C
  Interrupted by user

 

So I can browse the filesystems on the SSD, seems I had used it for conversion of RPi Trixie Ext4 to Btrfs. Raw speed is fine I see. So I still can use it also with large 3.5inch HDDs, that is what I prepared the surrounding 12V powersupply for.

Posted (edited)
2 hours ago, comp2000 said:

BPI M1+ tested with:

Armbian_23.8.1_Bananapim1plus_jammy

Armbian_24.11.1_Bananapi_noble

Armbian_26.2.0-trunk.342_Bananapi_noble
and the SATA interface doesn't work on any of the three.

Does nobody use a BPI M1+ with an Armbian image where the SATA interface works?

Just to note some more: I use none of those images, instead is it in-place upgraded Armbian, originally:

root@banlipi:/tmp# grep VERSION /etc/armbian-image-release
VERSION=23.11.1

Now Trixie:

root@banlipi:/tmp# cat /etc/os-release  
PRETTY_NAME="Armbian 25.8.1 trixie"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.0
ID=debian
HOME_URL="https://www.armbian.com/"
SUPPORT_URL="https://forum.armbian.com"
BUG_REPORT_URL="https://www.armbian.com/bugs"
ARMBIAN_PRETTY_NAME="Armbian 25.8.1 trixie"

 

I log some stuff to terminal in my backup script; I see:

U-Boot SPL 2024.01-armbian-2024.01-S866c-P7738-Hb9d3-Vf23c-Bb703-R448a (Jun 21 2025 - 02:53:13 +0000)
 

Maybe also good to know, I use extlinux on real HW, grub on KVM

 

root@banlipi:/boot/efi/extlinux# cat extlinux.conf  
menu title Select the kernel variant
DEFAULT default
TIMEOUT 80
LABEL default
       KERNEL  zImage
       INITRD  uInitrd
       FDT  sun7i-a20-bananapi.dtb
       FDTOVERLAYS  sun7i-a20-analog-codec.dtbo
       APPEND root=LABEL=armbianrfs rootwait rw earlyprintk console=ttyS0,115200
 

 

But I am not sure how valid the release info is, will need to look at lists files etc and also run update to it is latest Debian 13.3 I think.

 

I just ran apt update && apt full-upgrade and now it is 'latest debian trixie' but I use apt pinning and I see it is too strict and also an error, so os-release not changed

It is essentially Debian Trixie armhf up to date with manually written U-Boot and manually copied sunxi kernel.

 

Edited by eselarm

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