I'm afraid I have the same problem on a banana pi with the vanilla kernel on 5.16.
Armbian does not recognize my sata drive any more. My system is still booting from the SD card.
I already:
- switched the sata cable
- connected my SATA drive to my Mac Air and can access the files there, so the drive is not broken...
- downgraded Armbian to an older release 5.10. I also tried other older releases, but it didn't work and I went back to 5.10
- modified boot.cmd to explicitly load sun7i-a20-bananapi.dtb
- I also installed uboot 5.01, recompiled boot.scr
What can I do to fix this? :-)
snippet from dmesg
[ 34.111088] ata1.00: exception Emask 0x0 SAct 0x10000000 SErr 0x0 action 0x6 frozen
[ 34.111115] ata1.00: failed command: READ FPDMA QUEUED
[ 34.111140] ata1.00: cmd 60/08:e0:a8:6d:70/00:00:74:00:00/40 tag 28 ncq 4096 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 34.111152] ata1.00: status: { DRDY }
[ 34.111174] ata1: hard resetting link
[ 34.432525] ata1: SATA link down (SStatus 0 SControl 300)
[ 39.431033] ata1: hard resetting link
[ 39.752493] ata1: SATA link down (SStatus 0 SControl 300)
[ 39.752512] ata1: limiting SATA link speed to 1.5 Gbps
[ 44.751010] ata1: hard resetting link
[ 45.072493] ata1: SATA link down (SStatus 0 SControl 310)
[ 45.072511] ata1.00: disabled
[ 45.072548] ata1.00: device reported invalid CHS sector 0
[ 45.072600] sd 0:0:0:0: [sda] tag#28 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
[ 45.072617] sd 0:0:0:0: [sda] tag#28 Sense Key : 0x5 [current] [descriptor]
[ 45.072630] sd 0:0:0:0: [sda] tag#28 ASC=0x21 ASCQ=0x4
[ 45.072648] sd 0:0:0:0: [sda] tag#28 CDB: opcode=0x28 28 00 74 70 6d a8 00 00 08 00
[ 45.072660] blk_update_request: I/O error, dev sda, sector 1953525160
[ 45.072672] Buffer I/O error on dev sda, logical block 244190645, async page read
[ 45.072730] Alternate GPT is invalid, using primary GPT.
[ 45.072755] ata1: EH complete
[ 45.072794] ata1.00: detaching (SCSI 0:0:0:0)
[ 45.072801] sda: sda1
[ 45.074118] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x04 driverbyte=0x00
[ 45.074140] sd 0:0:0:0: [sda] Sense not available.
[ 45.074325] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x04 driverbyte=0x00
[ 45.074339] sd 0:0:0:0: [sda] Sense not available.
[ 45.074594] sd 0:0:0:0: [sda] Attached SCSI disk
[ 45.075369] sd 0:0:0:0: [sda] Stopping disk
[ 45.075534] sd 0:0:0:0: [sda] Start/Stop Unit failed: Result: hostbyte=0x04 driverbyte=0x00
[ 45.093310] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null)
[ 45.093395] VFS: Mounted root (ext4 filesystem) readonly on device 179:1.
[ 45.096425] devtmpfs: mounted
snippet from dpkg -l|grep next
ii linux-dtb-next-sunxi 5.10 armhf Linux DTB, version 4.5.2-sunxi
ii linux-firmware-image-next-sunxi 5.10 armhf Linux kernel firmware, version 4.5.2-sunxi
ii linux-headers-next-sunxi 5.10 armhf Linux kernel headers for 4.5.2-sunxi on armhf
ii linux-image-next-sunxi 5.10 armhf Linux kernel, version 4.5.2-sunxi
ii linux-jessie-root-next-bananapi 5.16 armhf Armbian tweaks for jessie on bananapi (next branch)
boot.cmd
# if you want to boot jessie with systemd: setenv bootargs init=/bin/systemd console=tty1 ...
# remember to disable ramlog prior switching to systemd
setenv bootargs "console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1"
#--------------------------------------------------------------------------------------------------------------------------------
# Boot loader script to boot with different boot methods for old and new kernel
#--------------------------------------------------------------------------------------------------------------------------------
if ext4load mmc 0 0x00000000 /boot/.next || fatload mmc 0 0x00000000 .next
then
# sunxi mainline kernel
#--------------------------------------------------------------------------------------------------------------------------------
ext4load mmc 0 0x49000000 /boot/dtb/sun7i-a20-bananapi.dtb || fatload mmc 0 0x49000000 /dtb/sun7i-a20-bananapi.dtb
ext4load mmc 0 0x46000000 /boot/zImage || fatload mmc 0 0x46000000 zImage
env set fdt_high ffffffff
bootz 0x46000000 - 0x49000000
#--------------------------------------------------------------------------------------------------------------------------------
else
# sunxi android kernel
#--------------------------------------------------------------------------------------------------------------------------------
ext4load mmc 0 0x43000000 /boot/script.bin || fatload mmc 0 0x43000000 script.bin
ext4load mmc 0 0x48000000 /boot/zImage || fatload mmc 0 0x48000000 zImage
bootz 0x48000000
u-boot
dpkg -l|grep u-boot
ii linux-u-boot-bananapi-next 5.01 armhf Uboot loader 2016.01
ii u-boot-tools 2014.10+dfsg1-5 armhf companion tools for Das U-Boot bootloader