11-18-2018, 10:53 AM
(09-09-2018, 12:02 PM)xtract Wrote: I have been able run a sata card based on Marvell 88SE9230, with 4 ports.
Kernel:
Linux rockpro64 4.18.0-rc8-1060-ayufan-g45828c4db727 #1 SMP PREEMPT Thu Aug 9 19:41:21 UTC 2018 aarch64 GNU/Linux
...
To get the rp64 I had to manually bind the ahci driver to the pcie card, adding a udev rule:
Code:root@rockpro64:~# cat /etc/udev/rules.d/99-marvell.rules
RUN+="/bin/bash -c 'echo 0000:01:00.0 > /sys/bus/pci/drivers/ahci/bind'"
I have only tried with one drive yet, the second one is on its way
I have Delock's 4 port SATA controller which is based on Marvell 88SE9230 chip too (https://www.delock.com/produkt/89395/merkmale.html). Got it working after adding binding to udev rules like above (thanks xtract). Having 4 WD Reds running so far without problems.
88SE9230 does get really hot though (at least on this card). Its little heat sink gets too hot to touch. I'm considering a cooling fan for it.
Code:
$ uname -a
Linux rockpro64 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
$ lspci -nn
00:00.0 PCI bridge [0604]: Rockchip Inc. RK3399 PCI Express Root Port Device [1d87:0100]
01:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller [1b4b:9230] (rev 11)
$ lsblk -S
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 0:0:0:0 disk ATA WDC WD30EFRX-68N 0A82 sata
sdb 1:0:0:0 disk ATA WDC WD30EFRX-68N 0A82 sata
sdc 2:0:0:0 disk ATA WDC WD30EFRX-68N 0A82 sata
sdd 3:0:0:0 disk ATA WDC WD30EFRX-68N 0A82 sata
$ cat /etc/udev/rules.d/99-local-last.rules
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1b4b", ATTR{device}=="0x9230", RUN+="/bin/bash -c 'echo %k > /sys/bus/pci/drivers/ahci/bind'"