# SATA-Treiber findet Gerät nicht (SiI 3512)

## TheSmallOne

Hi,

vielleicht kann mir hier jemand helfen; ich habe ein kleines Problem.

Also ich habe mir eine SATA-Controller-PCI-Karte gekauft, der Chipsatz ist ein Silicon Image 3512:

```
# lspci -s d -v

00:0d.0 RAID bus controller: Silicon Image, Inc. SiI 3512 [SATALink/SATARaid] Serial ATA Controller (rev 01)

   Subsystem: Silicon Image, Inc. SiI 3512 SATARaid Controller

   Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 16

   I/O ports at b800 [size=8]

   I/O ports at b400 [size=4]

   I/O ports at b000 [size=8]

   I/O ports at a800 [size=4]

   I/O ports at a400 [size=16]

   Memory at e5000000 (32-bit, non-prefetchable) [size=512]

   [virtual] Expansion ROM at 50000000 [disabled] [size=512K]

   Capabilities: [60] Power Management version 2

   Kernel driver in use: sata_sil
```

Angeschlossen habe ich eine SSD von Sandisk. Diese SSD ist auch funktionsfähig (also kein Hardwaredefekt) und wird von dem Controller erkannt; das sehe ich während des Bootvorgangs. Zudem ist es auch möglich ein grub auf dieser Platte zu starten.

Das Problem beginnt erst, wenn der Linux-Kernel die Kontrolle übernimmt. Denn dieser findet die Platte nicht. Ich erhalte folgende Meldungen von dmesg:

```
 # dmesg

…

sata_sil 0000:00:0d.0: version 2.4

scsi0 : sata_sil

scsi1 : sata_sil

ata1: SATA max UDMA/100 mmio m512@0xe5000000 tf 0xe5000080 irq 16

ata2: SATA max UDMA/100 mmio m512@0xe5000000 tf 0xe50000c0 irq 16

…

ata1: SATA link down (SStatus 0 SControl 310)

…

ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)

ata2.00: NODEV after polling detection

…
```

Es scheint also erkannt zu werden, dass da etwas ist („link up“), aber die SSD selbst nicht.

Habe ich möglicherweise vergessen irgendeinen Treiber in den Kernel (3.6.11) zu kompilieren? Wenn ja welchen?

Meine Suche im Web war bisher ohne Erfolg. Alles was ich gefunden habe war ein ähnliches Problem mit einem deutlich älteren Chipsatz und einem Kernel aus der 2er-Serie; das kann ja wohl kaum das gleiche Problem sein.

Es macht auch keinen Unterschied, an welchen der beiden SATA-Ports ich das Gerät anschließe.

----------

## Schorchgrinder

hast du evtl noch eine andere Platte zum testen? Wäre mal interessant was da passiert, zB bei einer Nicht SSD Platte.

Sonst würde ich auf den Treiber für SSDs im Kernel tippen der fehlt.

----------

## schmidicom

Vielleicht hilft es ja wenn du mal versuchst die Firmware der SSD zu aktualisieren, nur dürfte das bei SanDisk ohne Windows wohl etwas knifflig werden.

http://www.youtube.com/watch?v=A7mQ9W3lk50

----------

## Jean-Paul

Ich will dir ja nicht den Sonntag versauen, aber nicht alle SATA-Controller-PCI-Karten sind bootfähig.

Wenn du mit der genauen Kartenbezeichnung google'st wirst du bestimmt fündig.

Wenn die SSD prinzipiell läuft würde ich von einem Firmware-Update absehen.

----------

## TheSmallOne

 *Schorchgrinder wrote:*   

> hast du evtl noch eine andere Platte zum testen? Wäre mal interessant was da passiert, zB bei einer Nicht SSD Platte.
> 
> Sonst würde ich auf den Treiber für SSDs im Kernel tippen der fehlt.

 

So, ich hatte jetzt die Gelegenheit es mal mit einer anderen Festplatte zu testen.

Ergebnis: Die Festplatte wird problemlos erkannt.

Das Problem scheint also wirklich SSD-spezifisch zu sein.

Ich habe es übrigens auch mit dem Firmware-Update-Tool probiert, aber das sagt mir, dass es keine neue Firmware gibt.

Gibt es einen speziellen SSD-Treiber im Kernel? Ich dachte die Dinger geben sich dem System gegenüber als normale Festplatten aus. Da muss ich jetzt mal suchen, da mir sonst im Moment nichts mehr einfällt.

----------

## py-ro

Wenn überhaupt wäre ein Firmware-Update für den SIL-Controller zu empfehlen, dieses bekommt man auch direkt dort. Aber wie man das unter Linux einspielt... leider keine Ahnung.

----------

