# [SOLVED] Kernel: no SATA disks detected - Help

## bms

Hello all, 

my Gentoo is installed on a PCI-E SSD (which worked fine, no problem there). My system sports two other SATA HDDs, both connected to the same Intel SATA controller. In Windows, both drives are detected and work fine. What worries me a little is that the HDDs were not detected by the Gentoo minimal installation CD either. Here is the output of lspci -kvm on my current system:

```

Class:   SATA controller

Vendor:   Intel Corporation

Device:   Device a102

SVendor:   Micro-Star International Co., Ltd. [MSI]

SDevice:   Device 7968

Rev:   31

ProgIf:   01

Driver:   ahci

```

```

Class:   SATA controller

Vendor:   ASMedia Technology Inc.

Device:   ASM1062 Serial ATA Controller

SVendor:   ASMedia Technology Inc.

SDevice:   ASM1062 Serial ATA Controller

Rev:   02

ProgIf:   01

Driver:   ahci

```

As you can see, both of my SATA controllers show up, using the AHCI driver - so far, so good. The problem is that they are nowhere to be found under /dev. No /dev/sdX, and /dev/disk/by-X does not show them either. The usual Kernel option suspects are all active: CONFIG_SATA_AHCI, CONFIG_SCSI, CONFIG_BLK_DEV_SD. 

Hope you guys can help me out.Last edited by bms on Thu Jan 05, 2017 6:01 pm; edited 1 time in total

----------

## charles17

 *bms wrote:*   

> ... were not detected by the Gentoo minimal installation CD either. Here is the output of lspci -kvm on my current system:

 

Could you boot that box from http://sysreccd.org/ and do the lspci -kvm again?

----------

## NeddySeagoon

bms,

Wild guess ... you need

```
< >   Platform AHCI SATA support 
```

I have two different systems with the same AMD chipset, one needs it, the other does not.

----------

## bms

charles17,

I just bootet from SystemRescueCD - unfortunately exact same output as in my system.

NeddySeagoon,

I had Platform AHCI support enabled in a previous attempt, unfortunately it didn't change anything. But just to make sure i will try this later and report back.

Thanks for your suggestions!

----------

## C5ace

bms:

Do the drives show when you run 'fdisk -l'?

----------

## bms

I just gave it another try with Platform AHCI support enabled, plus selected a whole bunch of low-level SCSI drivers - same result. Both fdisk -l and parted -l only show the PCI-E SSD. I'm beginning to think that I'm doing something really stupid here, like missing some option in an entirely different part of the configuration   :Embarassed:   :Smile: 

Additional info that might be of interest:

* Both PCI-E SSD and SATA controller share the same PCI lanes. Thats why I cannot use SATA port 1+2 (out of 8 total). Again, I don't think the problem lies here, as all drives work in Windows.

* The SSD is formatted with a GPT partition table, whereas the two HDDs use plain old MBR formatting. 

One last thing I can think of is attemting to boot a Knoppix/Ubuntu Live DVD and see if the drives get detected there.

----------

## bms

Bad news, UbuntuLiveDVD does not detect the HDDs either. One more oddity:

Windows reports the Intel SATA controller under the "ATA/ATAPI " node in device manager, whereas the ASMedia controller is listed under "SATA". The Intel controller has the following device name:

Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller

The EFI settings for both controllers are set to "AHCI" (instead of "RAID"). My last resort now is to check if some special firmware driver from Intel is required to get this working.   :Mad: 

----------

## NeddySeagoon

bms,

Are you really missing hard drives attached to SATA ports or are they NVMe?

NVMe plugs into PCIe directly.  There is no SATA involved.

NVMe also has its own kernel drivers.

Another possibility is eMMC ... another block device that does not use AHCI and friends.

eMMC is really the electronics from a (micro)SD card mounted directly on the motherboard.

Tells us the drive vendor and model, so we can look it up.

----------

## bms

Hey Neddy,

yep, I'm really missing SATA HDDs. The NVMe driver worked out of the box, thats whats really irritating. In hindsight, my comment regarding PCI/SATA sharing was a bit confusing. I meant that the M.2 slots share lanes with the SATA controllers. Here is the setup:

Mainboard: MSI Z170A XPower Gaming Titanium Edition

NVMe SSD: Samsung 960 Pro (Includes both operating systems and the EFI partition, works fine)

HDD1: Seagate HDD ST2000DM001 2TB 64MB Cache: attached to SATA port 3, not detected in Linux, works in Windows

HDD2: WD Green WD30EZRX 3TB IntelliPower 64MB Cache: attached to SATA port 4, not detected in Linux, works in Windows

EFI setting for the SATA controller is set to "AHCI" (instead of "RAID"). Now that I think of it, upon installation time Windows did not detect the HDDs either, only the NVMe SSD worked out of the box. Once the chipset drivers for Windows were installed it detected both drives. Please let me know if you need any further information, thanks for your help!

----------

## krinn

fdisk is not showing physical drives, but only "drives" that have an entry in /dev/sd*

still the drives can be seen either thru dmesg or if you have enable the interface easy thru /proc/scsi/scsi

I think windows can alter drives itself, with some kind of "big disk" feature or special windows media format (i don't know the feature name). It could happen also because your controller is in raid or fakeraid mode.

here a sample: fdisk showing 3 "drives" (while in real 1 is disk, and 2 are arrays), while i have in real 5 disks

```
fdisk -l | grep Disque

Disque /dev/sdb : 273,2 GiB, 293381079040 octets, 573009920 secteurs

Disque /dev/sda : 136,5 GiB, 146580439040 octets, 286289920 secteurs

Disque /dev/sdc : 465,8 GiB, 500107862016 octets, 976773168 secteurs

cat /proc/scsi/scsi | grep Model

  Vendor: Adaptec  Model: TINYSEAGATE      Rev: V1.0

  Vendor: Adaptec  Model: Cheetah          Rev: V1.0

  Vendor: SEAGATE  Model: ST3146356SS      Rev: 0006

  Vendor: SEAGATE  Model: ST373455SS       Rev: 0002

  Vendor: SEAGATE  Model: ST3146356SS      Rev: 0005

  Vendor: SEAGATE  Model: ST373455SS       Rev: 0002

  Vendor: ATA      Model: WDC WD5000AADS-0 Rev: 4C05

  Vendor: TSSTcorp Model: CDDVDW SH-S223F  Rev: SB03

```

So once you have check your drives are detected by your system, you can then look for the "why your drives are not seen by fdisk".

----------

## NeddySeagoon

bms,

Looking at your motherboard handbook, it would be a good idea to move your SATA drives to SATA ports 7 and 8.

They should work with any other hardware configuration. See page 36.

Oh, I agree that 3 and 4 should work too but I'm old and cynical and don't trust manuals.

If that won't go either, remove your Samsung 960 Pro and boot with system Rescue CD or any other random live system.

Then it comes down to trial and error to see what works and what doesn't.

----------

## bms

Hey krinn,

makes sense, especially the comment regarding Windows doing the "big disk" magic. That's what device manager tells me when inspecting the "driver details": it uses the generic Microsoft driver, not some Intel driver. Both controllers are set to "AHCI" in EFI, with the only remaining option being "RAID". Heres some output from syslog:

```

Jan  4 20:59:17 localhost kernel: [    1.260191] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode

Jan  4 20:59:17 localhost kernel: [    1.275137] ata1: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c100 irq 121

Jan  4 20:59:17 localhost kernel: [    1.275552] ata2: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c180 irq 121

Jan  4 20:59:17 localhost kernel: [    1.275976] ata3: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c200 irq 121

Jan  4 20:59:17 localhost kernel: [    1.276374] ata4: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c280 irq 121

Jan  4 20:59:17 localhost kernel: [    1.276781] ata5: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c300 irq 121

Jan  4 20:59:17 localhost kernel: [    1.277166] ata6: SATA max UDMA/133 abar m2048@0xde44c000 port 0xde44c380 irq 121

Jan  4 20:59:17 localhost kernel: [    1.278265] ahci 0000:04:00.0: AHCI 0001.0200 32 slots 2 ports 6 Gbps 0x3 impl SATA mode

Jan  4 20:59:17 localhost kernel: [    1.280465] ata7: SATA max UDMA/133 abar m512@0xde100000 port 0xde100100 irq 130

Jan  4 20:59:17 localhost kernel: [    1.280856] ata8: SATA max UDMA/133 abar m512@0xde100000 port 0xde100180 irq 130

Jan  4 20:59:17 localhost kernel: [    1.582814] ata6: SATA link down (SStatus 4 SControl 330)

Jan  4 20:59:17 localhost kernel: [    1.583178] ata3: SATA link down (SStatus 0 SControl 300)

Jan  4 20:59:17 localhost kernel: [    1.583535] ata5: SATA link down (SStatus 0 SControl 300)

Jan  4 20:59:17 localhost kernel: [    1.583918] ata2: SATA link down (SStatus 0 SControl 330)

Jan  4 20:59:17 localhost kernel: [    1.584257] ata4: SATA link down (SStatus 4 SControl 330)

Jan  4 20:59:17 localhost kernel: [    1.584583] ata1: SATA link down (SStatus 0 SControl 330)

Jan  4 20:59:17 localhost kernel: [    1.585758] ata7: SATA link down (SStatus 0 SControl 300)

Jan  4 20:59:17 localhost kernel: [    1.890747] ata8: SATA link down (SStatus 0 SControl 300)

```

The 8 ports corresponds to the actual number of phyiscal SATA ports on the board. I've moved the disks around on various SATA ports, also tried changing cables. Then again: they both show up in Windows 10, so I think I can rule out faulty cables or port clashs with the M.2 drive. I also tried the legacy ATA/SATA kernel drivers, with no change in behavior. The disks don't show up with SystemRescueCD or UbuntuLive DVD, which leads me to believe that I somehow managed to purchase a board where both SATA controllers are not supported in Linux   :Shocked: 

I'll try and contact Intel tech support, will report back with the results.

----------

## NeddySeagoon

bms,

You (or krinn) have referred to "windows doing the big disc magic"  I think this is properly called Windows Dynamic Disks.

Its really software raid for windows.

If  Windows Dynamic Disks is a part of the solution, its a kernel option.  However, it can only be a part of the solution as

the kernel should still see the HDD, just not make any sense of what's there.

Hmm ... what does turning on

```
[ ]   SATA Port Multiplier support
```

do?

It really shouldn't be that.  That option allows several SATA drives to be connected to the same SATA interface, providing the hardware supports it.

----------

## krinn

while turning Sata Port Multiplier support on like NeddySeagoon ask, try turning on also SCSI Device Support->legacy /proc/scsi support, so you will be able to query /proc/scsi/scsi after.

----------

## bms

Guys,

thank you all for your help! Finally: success   :Smile: 

That last syslog output regarding 6+2 ports got me thinking. From their appearance on the board, the 8 ports seem to be divided into 4+4. But the log output suggested a division of 6+2. So I did what I obviously had not done before: connect one HDD to the "outermost" SATA port, and *tada*: HDD detected. For the record and for everyone who owns the same board: only those two left-most ports are managed by the ASMedia controller, the remaining 6 ports are Intel. Only very basic SATA/AHCI support needs to be compiled into the kernel (as outlined in my original post). The Intel controller still does not detect connected drives on any port, but I'm waiting for feedback from Intel support.

I consider this matter closed. Thanks again for your help and patience, it is very much appreciated!

----------

## Jaglover

```
SDevice:   Device 7968 
```

I noticed it does not have a name for this, in my box I get:

```
SDevice: Sunrise Point-H SATA controller [AHCI mode]
```

This makes me think you may need the newest kernel to handle this controller.

When you booted from SystemRescueCD, did you choose the alternate kernel?

What is the PCI ID of this controller?

----------

