PCI-e to Dual SATA-II Interface Card only works with one disk

after extensive testing of my newly arrived setup I pinned down the problem described earlier (https://forum.pine64.org/showthread.php?tid=8359 and https://github.com/ayufan-rock64/linux-build/issues/299) to the official PCI-e to Dual SATA-II Interface Card. As I'm pretty sure that the card is the culprit in this case, I'm re-posting the problem here.

My setup:
RockPro64 4GB
2x4TB Seagate IronWolf 3.5" HDD
PCI-e to Dual SATA-II Interface Card
NAS case with fan and Pine64 power supply (5A)

With two HDDs connected, the system does not boot or crashes frequently (power cycle required to reboot). Before the crash, I can hear the HDDs repeatedly "trying to spin up". I tried with different OS images, including ayufans openmediavault builds (version 0.9.14, armhf and arm64) and "vanilla" armbian buster server (kernel 4.4). Both HDDs are working (tested using an USB-to-SATA adapter) and both SATA cables are tested and OK. Powering the HDDs with a separate PSU didn't help, so the power supply is not the problem.

Connecting only one hard drive to either of the two SATA connectors works without problems. I also tried hot-plugging the second hard drive, which results in the following dmesg output (repetitive, for ata1 or ata2):

[  322.470646] ata2: exception Emask 0x10 SAct 0x0 SErr 0x4050000 action 0xe frozen
[  322.470669] ata2: irq_stat 0x00400040, connection status changed
[  322.470687] ata2: SError: { PHYRdyChg CommWake DevExch }

Searching for this error, most people seem to suggest a broken cable. I remember reading somewhere on this forum that the signal quality of the PCIe card is not the best, which would explain why two cards could potentially "interfere" on the hardware-level. Did anyone experience similar issues and knows how to fix them?

Otherwise it seems that the pine64 was a total misbuy and I have to find another SATA card now...
@taube, I dislike the signal integrity of Pine64.org SATA card. But I have one and using it with two HDDs in RAID1 for at least three month. Sometimes the load of HDDs are maximum (a lot of R/W operations across hundreds of GB of data). No single failure. One HDD is Seagate SV35 series, another is HGST Ultrastar 7K4000. Despite I have severely criticize the design of "PCI-e to Dual SATA-II Interface Card" of Pine64 stock, in mine environment it works without of a single failure. To be most precise, I'm using next hardware configuration:
  • RockPro64 SBC, 4GB version
  • 12V 5A Pine64 stock power supply (JX Microtech Sdn.Bhd manufacturer)
  • 16GB EMMC Module
  • ROCKPro64 special designed power cable for 2 SATA drives
  • ROCKPro64 30mm Tall Profile Heatsink without of a cooler
  • ROCKPro64 PCI-e to Dual SATA-II Interface Card
  • 2TB HGST Ultrastar 7K4000 HUS724020ALA640 
  • 3TB Seagate ST3000VX000-1ES166 (CV26)
  • None Bluetooth/Wifi, just twisted pair Ethernet connection
  • A display with HDMI interface
  • No-name USB2.0 hub with mice and keyboard connected
  • USB3.0 uSD/SD cardreader with occasionally inserted SD cards.
The "computer" is working without of a case totally. The SATA card is fastened to nearest SBC mounting hole by a piece of thin insulated wire (to prevent unexpected pulling-out). The hard drives are just laying on my working table.

Operational system last month is bionic-mate-rockpro64 (armhf) from ayufan's site. I had none even a single problem with HDD. Previously I used single Seagate drive at USB3.0-to-SATA converter. But had a problem with data integrity. That is why I moved to PCIe-SATA card and have added another disk of higher reliability. I'm using three software RAID1 partitions of total 2GB size on these disks.
The system is operating around the clock. Every month I do RAID1 scan. No failures. No freezes.

Your symptoms cause is most probably a weak power supply. That is why one disk is OK but two aren't. What power supply(s) you are using?

P.S. the Linux is placed on eMMC module. The HDDs are used for data storage and processing.
Hi @Nikolay_Po , thanks a lot for your answer and description of your setup - it sounds very similar to mine.

As written above, I'm using the same power supply as you do. Also, as written above, I tried powering the HDDs with a separate (ATX) PSU and that didn't help. I even tried with yet another secondary ATX PSU, so it's definitely not the power supply - unfortunately, as this would be easy to fix.

Running out of ideas, I now ordered a Marvell-based SATA card and hope that this will fix my problem. I will report here whether it did.
@taube, it's interesting...
A wild guess: may be your HDDs have exactly the same interface identification and the system fails to distinguish one drive from another (but it should because of different ports)? And the problem is more software than hardware? what if you will change one 4TB drive for another brand? If you planning use RAID1, i also recommending to use different drives to separate the aging failures. Similar drives more likely may fail after the same operating time than different brand/model. One more point for different drives is they will start the spindles differently and will load the supply by starting current less.

You may skip the written below. I thing it has a little sense, I left it here just because already typed...
May be you will try this EMC (electromagnetic compatibility) improvement with Pine64 card? The goal is to provide a good screwed or soldered connections between all 4 parts grounds: an SBC, a card and an HDDs.
If your case is metal made, you may omit additional connecting HDDs ground but ensure that the frame with HDDs is electrically connected to the rest of the case, may be by a rivets or screws. Sometimes, if the parts of a case was painted before assembling, they may have bad electric contact between. Anyway you need ensure the solid contact of HDDs to case and SBC PCB ground to case and NAS case to SATA card. Usually the screws are enough for that. Just check wither the screws have a contact with unpainted metal.
The most problematic place may be a ground contact between the SBC board and a case. As for me it will be best if skilled person will solder the short wire to the point where black HDD supply wires are connected. Then you may screw this wire to the case, metal to metal.
The interface IDs are different. Changing HDDs didn't help. Good point about the RAID1 though.

However, exchanging the Pine64 card for a Marvell-based one (88SE9128) solved all my problems - the system has been running stable the past three weeks. Disappointed that Pine64 ships non-functional products...

Possibly Related Threads…
Thread Author Replies Views Last Post
  AW-CM256SM wifi card mtek 4 2,528 10-30-2023, 12:00 PM
Last Post: diederik
  Which SATA card should I use my NAS server RAID5 Louysa 3 1,008 09-24-2023, 04:40 AM
Last Post: JPT223
  SATA keeps crashing JPT223 1 631 09-21-2023, 10:52 PM
Last Post: tllim
  SATA hotplug not working? JPT223 0 477 09-15-2023, 04:20 AM
Last Post: JPT223
  Compatible PCIe Sata Controller spacebricker 1 1,638 02-06-2023, 10:03 AM
Last Post: diizzy
  ROCKPro64 with 16 ports SATA controller ZeblodS 19 26,423 12-18-2022, 06:25 PM
Last Post: heyghoge
  Full Size Bracket for the NVME PCI-E Card publiclewdness 0 1,420 12-31-2021, 12:53 AM
Last Post: publiclewdness
  Existings disks and using a StarTech SATA Controller jkugler 1 2,148 12-09-2021, 06:41 AM
  Rockpro64 Sata Card kills itself jerry110 33 45,271 10-20-2021, 04:36 AM
Last Post: fieni
  Right direction SATA card corax 2 3,079 09-15-2021, 12:46 PM
Last Post: corax

Forum Jump:

Users browsing this thread: 1 Guest(s)