Jump to content

Armbian doesnt seem to see sata harddrives.


Go to solution Solved by Werner,

Recommended Posts

Posted

From what I see it could be backported even to 6.1. It's pretty small change. One new driver into clk-gpio.c, which should work on 6.1 too and couple of changes in the DT file.

Posted
22 minutes ago, ypopovych said:

could be backported even to 6.1


You mean this problem is present also on Rockchip vendor kernel? Well, then this is also helpful, while for mainline based kernels, 6.6 and 6.12.y are only target. Besides EDGE, where this will emerge automatically. 
Thanks.

Posted (edited)
10 hours ago, ypopovych said:

When we remove a resistor it simply avoids this bug and SATA controller works in a different mode (which could be slower)

It sounds wrong. There is no degradation in speed. Also, your assumption about SSC of the clock generator is wrong as well. According to datasheet of AU5426, it does not support SSC

Edited by sdyspb
Posted (edited)
8 hours ago, Igor said:

You mean this problem is present also on Rockchip vendor kernel?

yes. We have this problem on Armbian with 6.1 vendor kernel. And also ubuntu builds from Joshua Riek have the same problem (they use vendor 6.1 too)

 

=====

 

@sdyspb but if it's a hardware bug it shouldn't work properly on old 5.10 kernel too. But it works. And also shouldn't work randomly on 6.1 kernel. It's interesting why SRIS disabling fixes it. And why it works on old kernel with SRIS. And we have a kernel patch accepted in the 6.13 mainline kernel with fix for our problem.

 

Edited by ypopovych
Posted (edited)

Just look at this from datasheet and schematic perspective - ASM1164 needs SSC if SRIS is enabled, but according to datasheet of clock generator there is no SSC, so the original schem is not correct. There are three solutions:

 

1) place somehow clock with SSC or the best one is adding the independent clock for ASM1164

2) unsolder R29 to disable SRIS

3) disable SRIS by software

 

At this moment I choose number two, but if you find the third one I will stand on your side 

 

Actually, SRIS means that RC and EP are clocked by different sources (I think it is like SSC where some jitter always exists), but in Radxa 5 ITX all the clocks are produced by one oscillator, so, SRIS is not right mode for this board. According to PCIe architecture the board uses Common REFCLK, not SRIS. Due to Common Clock the PLL of ASM1164 can't sync in SRIS mode because it needs a little deviation to be locked

Edited by sdyspb
Posted

@sdyspb Should we also bother guys on Radxa forum? I think their forum is a better place to ask about hardware. Meantime software fix from latest kernel could be backported to enable oscillator without depending on the initialization order

Posted (edited)

I've already sent them my fix in WeChat (Tom Cubie and his team). They promised to take a look at my point. Of course, asking them on forum is a great idea

Edited by sdyspb
Posted

I will try this 6.13 patchset but it looks like SATA drives are already stable with 6.12 (iè without this patchset) or at least more stable than vendor 6.1.
Could be another fix between 6.1 and 6.12 helps.

Envoyé de mon CPH2089 en utilisant Tapatalk

Posted

Still building 6.1 vendor with the gated clock patch set. Though I noticed the mainline kernel has default pinctrl settings for pcie but not the vendor one. If one want to try testing these dts pinctrl pcie definition from mainline to vendor.

Posted

So the vendor 6.1 kernel set both the pcie3x2 ASMedia SATA and pcie3x4 M.2 M.Key vpcie3v3-supply with the same `vcc3v3_pcie30` supply which is the supply for the pcie ref clock so they worked around the issue by describing incorrectly the supply for these pcie controllers.

This pcie ref clock power supply  patch set is likely still of interest for the mainline 6.12 branch.

 

I confirm that I was at least once able to reproduce the ASMedia SATA not seen with the gated ref clock patch set applied to the vendor branch (even though as I found later on there was already a workaround in the vendor kernel in that they set the oscillator supply as the supply for both pcie controllers even though that does not describe the hardware correctly).

Posted

I own a radxa itx 5 (rev2). I can confirm that a custom armbian build on edge branch (kernel v6.14) works perfectly (SATA drives are always detected).

But all my previous test with armbian 6.1 / rock-ubuntu or even with the latest radxa OS version had the same issue with the SATA drive (sometime found sometime not)

 

Posted

I'm a beginner and I'm new to armbian and linux in general.

I have a NVME + SATA  HDD plugged on my Rock 5 ITX with the problem of the HDD not detected. 

I tried different sever images listed here &nbsp, but the HDD was not detected.

The debian 12/kernel 6.1 based image from Radxa works, the HDD is detected, but it doesn't match my needs of a minimal server image.

As a tentative, I built the following custom image based on Ubuntu Jammy and the SATA HDD is detected at every boot (sda 1TB).

v25.5 rolling for Rock 5 ITX running Armbian Linux 6.12.19-current-rockchip64
Packages:     Ubuntu stable (jammy), possible distro upgrade (noble)

Last login: Sun Mar 16 18:46:48 2025
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 931,5G  0 disk
└─sda1        8:1    0 931,5G  0 part
mtdblock0    31:0    0    16M  0 disk
zram0       253:0    0   3,9G  0 disk [SWAP]
zram1       253:1    0    50M  0 disk /var/log
zram2       253:2    0     0B  0 disk
nvme0n1     259:0    0 238,5G  0 disk
└─nvme0n1p1 259:1    0 236,1G  0 part /var/log.hdd
                                      /

 

I cannot say if this image has other issues, but till now it's doing its job.

Posted
24 minutes ago, Bobbox said:

I tried different sever images listed here &nbsp, but the HDD was not detected.


This should be fixed in 1h - i forgot to move latest images to the download area.

Posted

Hi, same problem here, however kwankiu archlinux that use the same release of the kernel has working SATA. Maybe it's patchs or options could be used as references? Didn't looked at the reboot issue. On the other side Arch for ARM is far more limited than other Arch Linux flavor I use (x86_64 and RISC-V), strangely there is not even GL acceleration (only vulkan-panfrost is compiled). Armbian as far more complete package set. I would like to have a Trixie version to cross compile some RISC-V things, as GCC12 included in Bookworm

 

What, uname sees as kernel:

 

Armbian (no SATA but GL acceleration):

Linux rock-5-itx 6.1.99-vendor-rk35xx #1 SMP Wed Mar 19 11:16:36 UTC 2025 aarch64 GNU/Linux

 

Archlinux (SATA, but no GL acceleration)
Linux armitx 6.1.99-rockchip #1 SMP Fri Feb 28 19:07:25 HKT 2025 aarch64 GNU/Linux

 

zgrep SATA give the same options set:

<pre>

$ zgrep SATA config.gz
CONFIG_SATA_HOST=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set

$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    0   1,8T  0 disk
├─sda1         8:1    0  47,7G  0 part
├─sda2         8:2    0  47,7G  0 part
├─sda3         8:3    0   1,7T  0 part
└─sda4         8:4    0     6G  0 part
sdb            8:16   0   2,7T  0 disk
├─sdb1         8:17   0    50G  0 part
├─sdb2         8:18   0   2,7T  0 part
└─sdb3         8:19   0     2G  0 part
mtdblock0     31:0    0    16M  0 disk
mmcblk0      179:0    0   7,3G  0 disk
├─mmcblk0p1  179:1    0    16M  0 part
├─mmcblk0p2  179:2    0   300M  0 part
└─mmcblk0p3  179:3    0     7G  0 part
mmcblk0boot0 179:32   0     4M  1 disk
mmcblk0boot1 179:64   0     4M  1 disk
mmcblk1      179:96   0  28,9G  0 disk
├─mmcblk1p1  179:97   0    16M  0 part
└─mmcblk1p2  179:98   0  28,8G  0 part /
nvme0n1      259:0    0 238,5G  0 disk
└─nvme0n1p1  259:1    0 236,1G  0 part


</pre>

Posted
Quote

This should be fixed in 1h - i forgot to move latest images to the download area.

Just tried one of the latest images, but the HDD is not detected. To be more precise, it's detected randomly.

Posted
6 hours ago, Bobbox said:

To be more precise, it's detected randomly.


Try modern kernel, 6.12.y

Posted
3 hours ago, Maurycy said:

SATA Works without any issues on 6.12


As predicted.

 

Vendor kernel - I am working on establishing better cooperation with Rockchip. Without that, its difficult to "fix everything" in that kernel.

Posted (edited)

Unfortunately 6.12 doesn't work for me: whatever flavour I use (official, unofficial current, edge), it boots but stay black, no HDMI output to the monitor.

6.1.99 works, but SATA HDDs are not detected.

 

I had to use a workaround: start with 6.1.99, do the first setup, configure SSH, change the kernel with armbian-config and reboot.

The monitor goes black but I can control the system remotely and SATA HDDs are detected.

Still investiganting why the HDMI ouput doesn't work with 6.12 (maybe power supply: I've an external 75W power supply plugged directy to the motherboard).

Edited by Bobbox
Posted
6 hours ago, Bobbox said:

it boots but stay black

Ideally you'd provide debug serial logs so everyone can get an idea of what happens inside.

Posted (edited)
15 hours ago, Werner said:

Ideally you'd provide debug serial logs so everyone can get an idea of what happens inside.

I'm not an expert, the logs from Cockpit probably helped me.

I found this (Rock 5 ITX Version 1.12):

 

Quote

kernel

rockchip-drm display-subsystem: [drm:rockchip_drm_platform_probe [rockchipdrm]] *ERROR* No available vop found for display-subsystem.

PRIORITY

3

SYSLOG_FACILITY

0

SYSLOG_IDENTIFIER

kernel

_BOOT_ID

 

_HOSTNAME

rock

_KERNEL_DEVICE

+platform:display-subsystem

_KERNEL_SUBSYSTEM

platform

_MACHINE_ID

 

_RUNTIME_SCOPE

system

_SOURCE_MONOTONIC_TIMESTAMP

 

_TRANSPORT

kernel

_UDEV_SYSNAME

display-subsystem

__CURSOR

s=aceff296ad55421192ea226ead68344f;i=220;b=5a679d95f4ac4dc68a0685e8e6309562;m=fd96a6;t=632718ce29c06;x=b8fe8a6233c003c9

__MONOTONIC_TIMESTAMP

16619174

__REALTIME_TIMESTAMP

 

__SEQNUM

544

__SEQNUM_ID

aceff296ad55421192ea226ead68344f

 

I'm testing 6.14 rc4 right now: everything seems to work.

 

Quote

 v25.2.3 for Rock 5 ITX running Armbian Linux 6.14.0-rc4-edge-rockchip64

 Packages:     Ubuntu stable (noble)

 

Edited by Bobbox
Posted
On 4/11/2025 at 5:29 AM, Werner said:

How to get debug serial logs: https://debug.armbian.de

Ok, that way 😁

I've an old USB-to-serial debug device. This article states that the Rock 5 ITX works at 1,500,000 bps and my iron doesn't reach that speed. I gave it a try and indeed nothing on the screen because the max baud rate is lower than the needed one.

Posted (edited)

SATA worked perfectly for me, during few days on kernel armbian unstable 25.5.0-trunk ( 6.1.99, codename "Curry Ramen" drivers), until yesterday with update 400 and 401. All other things works but Wifi. I use armbian Bookworm.

 

I will try with 6.12 so. Have a serial wire and know how to use it.

Edited by Popolon
Posted (edited)

So display didn't work, on both 6.12 and 6.15, but in both case, I had SATA (connecter via ssh from another local network host). I , so rebooted on 6.1 and then :

* I had a 640*480 display, when I would like to change the resolution, with xfce4-display-settings, It shown only a display port (edp), ant was able only choice in menu to resolution lower than Full HD, something like 1024×768 (didn't write it sorry). I then plugged on the other port (at left) and it worked in full HD. the right one I use usally doesn't work anymore, strangely.

I tried again 6.15 kernel, and have both display and SATA on this kernel :), but the right connector doesn't display anything (don't care for now)
linux-dtb-edge-rockchip64 25.5.0-trunk.401  /boot/dtb-6.15.0-rc1-edge-rockchip64

But display is a bit slower, GL output has some slow dowsn every hal seconds.

Edited by Popolon
Posted (edited)

I both cases I copied the dmesg file:

* 6.1_noSATA.txt (both hdmi, no sata) (400/401, no more SATA), was the best 2 days ago (~390 good GL accelaration, sata+2 HDMI out + HDMI in)

* 6.12_noHDMI.txt (no hdmi, sata)

* 6.15_noHDMI.txt (hdmi only left port, sata)

 

6.15 booting, when wire was connected on right port:

[    2.383100] rockchip-drm display-subsystem: bound fdd90000.vop (ops rockchip_drm_fini [rockchipdrm])
[    2.397151] dwhdmiqp-rockchip fdea0000.hdmi: registered DesignWare HDMI QP I2C bus driver
[    2.397431] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops rockchip_drm_fini [rockchipdrm])
[    2.403676] usb 1-1.4: new low-speed USB device number 3 using ehci-platform
[    2.411243] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 1
[    2.411291] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[    2.411330] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes

 

grep -i hdmi 6.12_noHDMI.txt => nothing

 

grep -i hdmi 6.1_noSATA.txt

[    8.759715] platform fdd90000.vop: Fixed dependency cycle(s) with /hdmi@fdea0000
[    8.759747] platform fdea0000.hdmi: Fixed dependency cycle(s) with /vop@fdd90000
[    9.889229] phy phy-fed60000.hdmiphy.9: Looking up phy-supply from device tree
[    9.889236] phy phy-fed60000.hdmiphy.9: Looking up phy-supply property in node /hdmiphy@fed60000 failed
[    9.890012] rockchip-hdptx-phy-hdmi fed60000.hdmiphy: hdptx phy init success
[    9.890208] phy phy-fed70000.hdmiphy.10: Looking up phy-supply from device tree
[    9.890215] phy phy-fed70000.hdmiphy.10: Looking up phy-supply property in node /hdmiphy@fed70000 failed
[    9.890965] rockchip-hdptx-phy-hdmi fed70000.hdmiphy: hdptx phy init success
[    9.954935] dwhdmi-rockchip fdea0000.hdmi: Looking up avdd-0v9-supply from device tree
[    9.954945] dwhdmi-rockchip fdea0000.hdmi: Looking up avdd-0v9-supply property in node /hdmi@fdea0000 failed
[    9.954957] dwhdmi-rockchip fdea0000.hdmi: Looking up avdd-1v8-supply from device tree
[    9.954965] dwhdmi-rockchip fdea0000.hdmi: Looking up avdd-1v8-supply property in node /hdmi@fdea0000 failed
[    9.955465] dwhdmi-rockchip fdea0000.hdmi: registered ddc I2C bus driver
[    9.956114] rockchip-drm display-subsystem: bound fdea0000.hdmi (ops 0xffff8000093b2958)
[   10.324345] dw-hdmi-qp-hdcp dw-hdmi-qp-hdcp.2.auto: dw_hdcp_qp_hdcp_probe success
[   10.325032] rc rc0: dw_hdmi_qp as /devices/platform/fdea0000.hdmi/rc/rc0
[   10.325144] input: dw_hdmi_qp as /devices/platform/fdea0000.hdmi/rc/rc0/input0
[   10.419959] rk_hdmirx fdee0000.hdmirx-controller: No reserved memory for HDMIRX, use default CMA
[   10.419979] rk_hdmirx fdee0000.hdmirx-controller: hdmirx_get_phy_cpuid_func: mpidr: 0x0000000500, phy_cpuid:0x5
[   10.419994] rk_hdmirx fdee0000.hdmirx-controller: hdmirx_probe: cpu_aff:0x500, Bound_cpu:5, wdt_cfg_bound_cpu:2, phy_cpuid:5
[   10.421528] rk_hdmirx fdee0000.hdmirx-controller: rk_hdmirx_hdcp_register success
[   10.421554] rk_hdmirx fdee0000.hdmirx-controller: fdee0000.hdmirx-controller driver probe ok!
[   10.499993] input: rockchip-hdmi1 rockchip-hdmi1 as /devices/platform/hdmi1-sound/sound/card0/input1
[   10.500682] input: rockchip-hdmi0 rockchip-hdmi0 as /devices/platform/dp0-sound/sound/card1/input2
[   10.501573] input: rockchip-hdmi2 rockchip-hdmi2 as /devices/platform/dp1-sound/sound/card2/input3
[   10.514194] input: rockchip-hdmiin rockchip-hdmiin as /devices/platform/hdmiin-sound/sound/card3/input4
[   10.674959] rockchip-dmc dmc: hdmirx_rate = 2400000000
[   10.765472]   #0: rockchip-hdmi1
[   10.765482]   #1: rockchip-hdmi0
[   10.765490]   #2: rockchip-hdmi2
[   10.765498]   #3: rockchip-hdmiin
[   12.561199] rk_hdmirx fdee0000.hdmirx-controller: hdmirx_cancel_cpu_limit_freq freq qos nod add

 

grep -i sata 6.1 => nothing
grep -i sata 6.12/6.15, give the same lines:

[    4.181816] ahci 0001:11:00.0: AHCI vers 0001.0301, 32 command slots, 6 Gbps, SATA mode
[    4.206376] ata1: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282100 irq 160 lpm-pol 0
[    4.206388] ata2: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282180 irq 160 lpm-pol 0
[    4.206398] ata3: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282200 irq 160 lpm-pol 0
[    4.206407] ata4: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282280 irq 160 lpm-pol 0
[    4.206437] ata9: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282500 irq 160 lpm-pol 0
[    4.206445] ata10: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282580 irq 160 lpm-pol 0
[    4.206453] ata11: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282600 irq 160 lpm-pol 0
[    4.206462] ata12: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282680 irq 160 lpm-pol 0
[    4.206470] ata13: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282700 irq 160 lpm-pol 0
[    4.206479] ata14: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282780 irq 160 lpm-pol 0
[    4.206487] ata15: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282800 irq 160 lpm-pol 0
[    4.206495] ata16: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282880 irq 160 lpm-pol 0
[    4.206504] ata17: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282900 irq 160 lpm-pol 0
[    4.206512] ata18: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282980 irq 160 lpm-pol 0
[    4.206520] ata19: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282a00 irq 160 lpm-pol 0
[    4.206528] ata20: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282a80 irq 160 lpm-pol 0
[    4.206537] ata21: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282b00 irq 160 lpm-pol 0
[    4.206545] ata22: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282b80 irq 160 lpm-pol 0
[    4.206553] ata23: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282c00 irq 160 lpm-pol 0
[    4.206561] ata24: SATA max UDMA/133 abar m8192@0xf1282000 port 0xf1282c80 irq 160 lpm-pol 0
[   10.059389] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[   10.374890] ata2: SATA link down (SStatus 0 SControl 300)
[   10.686794] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[   11.002741] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[   11.319039] ata9: SATA link down (SStatus 0 SControl 300)
[   11.631097] ata10: SATA link down (SStatus 0 SControl 300)
[   11.943048] ata11: SATA link down (SStatus 0 SControl 300)
[   12.255094] ata12: SATA link down (SStatus 0 SControl 300)
[   12.567104] ata13: SATA link down (SStatus 0 SControl 300)
[   12.878769] ata14: SATA link down (SStatus 0 SControl 300)
[   13.190881] ata15: SATA link down (SStatus 0 SControl 300)
[   13.502881] ata16: SATA link down (SStatus 0 SControl 300)
[   13.814880] ata17: SATA link down (SStatus 0 SControl 300)
[   14.126879] ata18: SATA link down (SStatus 0 SControl 300)
[   14.438881] ata19: SATA link down (SStatus 0 SControl 300)
[   14.750834] ata20: SATA link down (SStatus 0 SControl 300)
[   15.062884] ata21: SATA link down (SStatus 0 SControl 300)
[   15.375003] ata22: SATA link down (SStatus 0 SControl 300)
[   15.687007] ata23: SATA link down (SStatus 0 SControl 300)
[   15.999009] ata24: SATA link down (SStatus 0 SControl 300)

 

6.1_noSATA.txt 6.12_noHDMI.txt 6.15_noHDMI.txt

Edited by Popolon
Posted (edited)

With armbian kernel 6.1, version 25.5.0-trunk.416, I've again both SATA, 2 HDMI output ports, and best currently available GL acceleration.

Edited by Popolon

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