# Discs  on second SATA controller not properly detected

## NightDragon

Hi all,

I'm fighting with a strange issue. I bought me a new SATA controller (Digitus DS-30104-1 based on a Marvell 88SE9230), as the old one didn't recognize my discs.

Well and now i have the same issue with the new one - leading me to the meaning that this issue may not be a controller or disc issue.

First a few background infos:

I'm using an AMD system with Kernel 3.12.21-gentoo-r1  (motherboard is MSI 970A-G43 (7693-030R)) with 6 discs. Two combined to a RAID 1 as system discs and 4 combined to RAID5 for data.

This setup works perfect as it should. Now i wanted to expand my RAID 5 array and therefore i installed the new controller. 

All discs i tried on the new controller (it doesn't matter which card or disc) are not recognized, while the BIOS of the related card shows the disc (in a default, non RAID setup)

The same issue also affects the system when using a completely different controller card (e.g. the previous SATA controller card).

It's like the system ignores the discs being present... Maybe some EFI issue? I have no idea...

Update: I hate to say it but, I missed to copy some data:

This are the cards 

-) 01:00.1 & 0a:00.2 &  44:00.2 = AMD OnBoard Controller --> works fine

-) 06:00.0 = Asmedia 2 Port Card --> Works fine

-) 41:00.0 = Asmedia 12 Port (effective 10 SATA sockets on PCB) --> FAILS on Gentoo local kernel; works fine on Gentoo Admin DVD

 *Quote:*   

> 
> 
> 01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset SATA Controller (rev 02) (prog-if 01 [AHCI 1.0])
> 
>         Subsystem: ASMedia Technology Inc. X399 Series Chipset SATA Controller
> ...

 

dmesg | grep -i "ahci 0001"

 *Quote:*   

> 
> 
> [   10.698053] ahci 0000:01:00.1: AHCI 0001.0301 32 slots 8 ports 6 Gbps 0xff impl SATA mode
> 
> [   10.699747] ahci 0000:06:00.0: AHCI 0001.0200 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
> ...

 

The controller is detected properly and the kernel shows me additional 8 channels (sata7 to sata12), as the listing below shows.

The card itself has just 6 physical ports, So i think sata7 to sata 12 are the real ones,  and sata13 and sat14 are virtual ones (maybe from the RAID BIOS?)

```

[   10.705874] ahci 0000:41:00.0: AHCI 0001.0301 32 slots 12 ports 6 Gbps 0xff3 impl SATA mode

[   10.717910] ata12: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680100 irq 52

[   10.718585] ata13: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680180 irq 52

[   10.720512] ata16: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680300 irq 52

[   10.721176] ata17: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680380 irq 52

[   10.721818] ata18: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680400 irq 52

[   10.722394] ata19: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680480 irq 52

[   10.722963] ata20: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680500 irq 52

[   10.723524] ata21: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680580 irq 52

[   10.724072] ata22: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680600 irq 52

[   10.724607] ata23: SATA max UDMA/133 abar m8192@0x8e680000 port 0x8e680680 irq 52

```

It doesn't matter if i try to do a hot swap or a shutdown + plugin the hdd + boot up. The disc never comes up on linux.

And i also tried echo "0 0 0" > /sys/class/scsi_host/host13/scan and echo "- - -" > /sys/class/scsi_host/host13/scan without success.

The only message i get with dmesg is the following:

```
[ 7736.963582] ata7: hard resetting link

[ 7737.832744] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 310)

[ 7742.827911] ata7.00: qc timeout (cmd 0xec)

[ 7743.327429] ata7.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 7743.327440] ata7: hard resetting link

[ 7744.186621] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 310)

[ 7754.176937] ata7.00: qc timeout (cmd 0xec)

[ 7754.686444] ata7.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 7754.686455] ata7: hard resetting link

[ 7755.545622] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 310)

[ 7785.516644] ata7.00: qc timeout (cmd 0xec)

[ 7786.026210] ata7.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 7786.026221] ata7: hard resetting link

[ 7786.875318] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 310)

[ 7787.384825] ata7: EH complete

```

dmesg Output Pastebin): http://pastebin.com/5zEWWkR2

I'm really clueless about the cause and would be happy if someone could give me a hint or so.

Thanks in advance,

Regards,

Rob

----------

## NeddySeagoon

NightDragon,

Tell us about your hardware set up, in particular, your power supply and how all of your HDD are connected to it.

With lots of HDD, its easy for the HDD spin up current to overwhelm the PSU.

Your phantom ports way be two IDE ports or the chip on your new card may actually support 8 SATA ports but only 6 are actually used. 

Your entire dmesg would be useful. Use wgetpaste to put it onto a pastebin site.

Likewise your kernel .config file.

I can't find a Digitus DS-30104-1 six pot card on Google but the four port cards are single lane PCIe.

Thats a very bad thing as one SATA III port can max out a single lane PCIe port.  

That suggests that these devices might need SATA Port Multiplier support in the kernel.

The Marvell 88SE9230 Datasheet says that its only a 4 port chipset, therefore, there is some SATA Port multiplication gonit on somewhere.  This may even explain your two phantom ports.

Try [*]   SATA Port Multiplier support (NEW) in your kernel.

----------

## s4e8

You should disable IOMMU support, or use the upcoming 3.17 kernel, all marvell sata controller sent wrong DMA device id.

The card itself work fine here. This card only support up to 4 port (2 can be routed to esata by jumpers). The controller present 8 sata channel, and the last one connected to "Marvell Console", the hardware controller interface. All other 7 sata channel is virtual, routed by raid controller, it's not port-by-port  to physical ports.

----------

## NightDragon

Hi all,

I just updated my  original post and added the dmesg via pastebin.

The SATA controller is a DeLOCK PCIe 2.0 x2 (89384), PCIE v2.0 with 2x. So about ~ 6GBit/sec effectively.

I agree thats a bit short if one would run cached discs... but with my setup enough power.

But I also already thought about changing the controller to something more worthy: SilverStone SST-ECS04

 *NeddySeagoon wrote:*   

> With lots of HDD, its easy for the HDD spin up current to overwhelm the PSU. 

 

Thanks for your Idea with the PSU: I may hit the limits in very extreme situations, but Do you think it might be valid for the whole boot period?

Usually if it draws that much energy the 12V and 5V are out of boundaries and the MB would bring up some failures.

My Current Disc setup:

Root: 2x Toshiba P300 1TB, SATA III, (HDWD110UZSVA) á 6.4W = ~ 13W

Fast RAID/LVM: 3 x SSD: Samsung 860 QVO SATA III, (MZ-76Q1T0BW) á 4W --> 12W

Slow RAID/LVM: 3x Toshiba P300 3TB, SATA III, (HDWD130UZSVA) á 6.4W = ~ 20W

--> ~ 45W on normal operation.

Usually the real value is about 5 times higher --> ~ 165W. Alternative calculation: Discs of that size draw about 2 to 2,5A at 12V --> ~ 150W.

So this values should be okay.

Total Power Consumption:

-) GPU ~ 19W

-) NIC ~ 10W

-) MB ~ 100W

-) CPU ~ 180W

-) Fans ~ 10W

-) SSD ~ 12W

-) HDD ~ 165W

roughly ~ 500W if everything would run at max.

I think an argument against it is the case, that the Admin DVD can detect all discs at any boot, and also detects all RAID and LVM constellations fine. no disc issue at all... no identify issues... nothing.

I'm using as PSU a Corsair SF600 80 PLUS Platinum 600W SFX12V (CP-9020182-EU), 600W at +12V with 100W at +5V derived from 12V.

 *NeddySeagoon wrote:*   

> Try [*] SATA Port Multiplier support (NEW) in your kernel.

 

Option was already enabled - I did so when i installed the system the first time about 8 months ago.

 *s4e8 wrote:*   

> You should disable IOMMU support, or use the upcoming 3.17 kernel, all marvell sata controller sent wrong DMA device id. 

 

Kernel V 3.17? or did you mean a 5.x series? Currently I'm using the latest stable in the tree: 4.19.97.

I'll check once more the IOMMU stuff

----------

## NeddySeagoon

NightDragon,

Lots of SATA ports on not very much PCIe bandwidth suggests ... 

```
  ┌───────────────────── SATA Port Multiplier support ─────────────────────┐

  │ CONFIG_SATA_PMP:                                                       │  

  │                                                                        │  

  │ This option adds support for SATA Port Multipliers                     │  

  │ (the SATA version of an ethernet hub, or SAS expander).                │  

  │                                                                        │  

```

Check your kernel.

----------

## NightDragon

 *NeddySeagoon wrote:*   

> Check your kernel.

 

Done, as I told you, it's enabled.

```
hydra ~ # zcat /proc/config.gz | grep CONFIG_SATA_PMP

CONFIG_SATA_PMP=y
```

----------

## NightDragon

Hi all. 

I haven't really solved the issue itself, as all Asmedia controllers stopped working on my System, but i bought a better controller at all. Broadcom/ LSI SAS2308.

Works perfectly fine...

BG,

Rob

----------

