# [solved] eSATA Expresscard für Linux

## LinuxTom

Hallo Leute,

ich habe mir eine Expresscard von DeLock zugelegt (No. 66218). Dieser hat den Chip drauf:

```
Silicon Image, Inc. Sil 3531 [SATALink/SATARaid] Serial ATA Controller [1095:3531]
```

Nun, nach dem Problem dass Hotplug nicht ging, habe ich einiges versucht. Zuletzt den Hersteller kontaktiert und die Aussage bekommen, dass der Controller unter Linux nicht mit Hotplug unterstützt wird. Dieses hat der Hersteller aber erst aufgrund meiner Anfrage getestet und ermittelt. Die Aussage ist also noch frisch und warm.

Könnt ihr mir meinen anderen Controller vorschlagen, der auch mind. so schnell ist? Ich brauche den, damit ich externe SSD's anschließen kann.Last edited by LinuxTom on Tue Nov 23, 2010 3:53 pm; edited 1 time in total

----------

## 69719

Der sollte funktionieren.

----------

## LinuxTom

Ja, wie gesagt, der funktioniert ja auch, doch die Hotplug-Funktion nicht, wie sonst üblich. Das war Delock auch unbekannt. Erst aufgrund meiner Frage hat man noch mal nachgeschaut. Nicht zertifiziert, A-Karte gezogen. Nun suche ich einen anderen als den Delock und/oder diesen Chipsatz.

----------

## 69719

Ah ok, dass Sie im eingesteckten Zustand funktioniert hattest du nicht erwähnt.

Ich hatte vor Jahren mal das Problem mit CardBus/PCMCIA, dass meine WLAN Karte, im eingesteckten Zustand nach dem booten angezeigt wurde, aber nach einem eject und plugin nichts geschah.

Erst nach einem 2. eject und plugin hatte sich am System etwas getan, eventuell ist dies auch der Fall bei dir, da ich mir nicht vorstellen kann, dass es nicht funkltionieren sollte.

Hast du denn auch

```

CONFIG_HOTPLUG_PCI_PCIE

```

im Kernel aktiviert? Eventuell hilft dir auch der Kernel Parameter

```

pciehp.pciehp_force=1

```

weiter.

----------

## LinuxTom

```
CONFIG_HOTPLUG_PCI_PCIE
```

Wow, der ist nicht gesetzt. Wenn es daran liegen sollte, ist die Linux-Fach-Auskunft von DeLock "etwas lückenhaft". Die haben mir den Fehler bestätigt. Ich bereite es vor und kann morgen mehr sagen. Danke erst einmal.

----------

## LinuxTom

Das war wirklich der Fehler. Er funktioniert.

Was mir aufgefallen ist, dass die Festplatte selbst mit UDMA 133 initialisiert wird, doch der Port nur mit 100. Oder lese ich das falsch?

```
kernel: ata5.00: ATA-8: Corsair CSSD-F60GB2, 1.1, max UDMA/133

kernel: ata5.00: 117231408 sectors, multi 1: LBA48 NCQ (depth 31/32)

kernel: ata5.00: configured for UDMA/100
```

----------

## firefly

 *LinuxTom wrote:*   

> Das war wirklich der Fehler. Er funktioniert.
> 
> Was mir aufgefallen ist, dass die Festplatte selbst mit UDMA 133 initialisiert wird, doch der Port nur mit 100. Oder lese ich das falsch?
> 
> ```
> ...

 

nein es steht nur da, dass die Fesplatte maximal UDMA/133 unterstützt (siehe das max vor UDSMA/133  :Wink: )

----------

## LinuxTom

Und kann ich dann das System auf UDMA-133 zwingen? Es hängt eine SSD dran, eben weil es sehr schnell sein muss.

----------

## 69719

Was sagt denn

```

dmesg | grep ^ata

```

?

----------

## LinuxTom

ata5 - externer eSATA-Controller

ata1 - interner

```
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 0)

ata5.00: ATA-8: Corsair CSSD-F60GB2, 1.1, max UDMA/133

ata5.00: configured for UDMA/100

ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

ata1.00: ATA-8: ST95005620AS, SD23, max UDMA/133

ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded

ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out

ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out

ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded

ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out

ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out

ata1.00: configured for UDMA/133
```

Es werden auf dem ata5 keine ACPI-Kommandos ausgeführt. Habe mal den Deamon nachinstalliert. Kann jetzt aber den Controller nicht rausziehen. Erst heute Abend wieder. Mal sehen.

----------

## 69719

Hmm, ich habe erhofft mehr infos aus dmesg zu bekommen.

Mit

```

hdparm -i /dev/...

```

sieht du die unterstützen UDMA Modes.

Diese kannst du dann mittels

```

hdparm -X udma... /dev/...

```

setzten.

Zur Sicherheit, beachte aber, dass das ändern des UDMA Modus Probleme hervorrufen kann.

Siehe man page zu hdparm.

----------

## LinuxTom

```
 Model=Corsair CSSD-F60GB2, FwRev=1.1

 Config={ Fixed }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=1

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=117231408

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4 

 DMA modes:  mdma0 mdma1 mdma2 

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6 

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7
```

```
/dev/sdb:

 setting xfermode to 70 (UltraDMA mode6)

 HDIO_DRIVE_CMD(setxfermode) failed: Input/output error
```

Hier ist ja alles in Ordnung:

/dev/sda:

```
 Model=ST95005620AS, FwRev=SD23, SerialNo=5YX09S0Z

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4 

 DMA modes:  mdma0 mdma1 mdma2 

 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 

 AdvancedPM=yes: unknown setting WriteCache=enabled

 Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7
```

----------

## firefly

vieleicht gibt auch der expresscardslot bei dir nicht mehr her als UDMA/100 oder der Kontroller lügt über seine maximal verwendbare UDMA Geschwindigkeit und kann nur UDMA/100.

----------

