Debian & externe eSATA/USB Festplatte
Hallo ML,
nachdem ich jetzt ganz viel Spaß beim erfolglosen Versuch hatte, meine
Seagate FreeAgent Pro unter Debian Sid (2.6.24-1, udev, hal, dbux aktuell)
vernünftig in Betrieb zu nehmen, hoffe ich auf euch... Sorry für so viel
Text - habe versucht alles genau zu beschreiben.
Die Platte hat zwei Anschlüsse: USB2.0 und eSATA. Beides funktioniert nicht
so recht - ich will mal mit eSATA anfagen. Dafür habe ich mir einen PCI
Controller von DeLock geholt, laut Hersteller von Linux unterstützt. Der
wird auch erkannt:
# lspci|grep -i ata
00:0e.0 Mass storage controller: Silicon Image, Inc. SiI 3512
[SATALink/SATARaid] Serial ATA Controller (rev 01)
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID
Controller (rev 80)
(Der zweite aufgeführte RAID Controller ist der interne SATA Controller des
Asus A7V600-X Boards, bei dem beide Anschlüsse von internen Platten belegt
sind - nicht im RAID Verbund.)
...und das passende Kernelmodul sata_sil ist auch automatisch geladen
worden:
# lsmod|grep ata
sata_sil 11048 0
ata_generic 7428 0
sata_via 11492 6
libata 144464 3 sata_sil,ata_generic,sata_via
scsi_mod 141196 2 sd_mod,libata
...aber leider wird die Platte nicht erkannt. Sie ist an einem passend (auch
DeLock) mitgelieferten 2m eSATA Kabel angeschlossen, was mit diesem
Controller auch innerhalb der Spezifikation sein soll.
Der Kernel spuckt einfach nichts aus, wenn ich die Platte anschieße oder
auch mit eingeschalteter Platte neu boote. Ein "rmmod sata_sil && modprobe
sata_sil" entlockt ihm lediglich folgendes:
kernel: sata_sil 0000:00:0e.0: version 2.3
kernel: ACPI: PCI Interrupt 0000:00:0e.0[A] -> GSI 17 (level, low) -> IRQ 17
kernel: scsi4 : sata_sil
kernel: scsi5 : sata_sil
kernel: ata5: SATA max UDMA/100 mmio m512@0xed800000 tf 0xed800080 irq 17
kernel: ata6: SATA max UDMA/100 mmio m512@0xed800000 tf 0xed8000c0 irq 17
kernel: ata5: SATA link down (SStatus 0 SControl 310)
kernel: ata6: SATA link down (SStatus 0 SControl 310)
Was kann da klemmen? Ich habe es auch am noch parallel installierten W2k mit
dem Controller-Treiber der mitgelieferten CD probiert, auch dort passiert
einfach gar nichts - Windows erkennt nichts. Auch in einem Zweitrechner mit
Debian Sid spuckt die Platte am selben Controller nichts aus (ein anderes
Board, bei dem ich den internen SATA-Controller per BIOS deaktiviert habe).
Nach meinem Verständnis bleibt also als Fehlerursache nur noch eSATA-Kabel
(doch zu lang?), Controller oder die Platte selbst. Weiter eingrenzen kann
ich's jetzt nicht mehr.
Per USB angeschlossen ist mein Problem anders gelagert: Der Kernel erkennt
die Platte, setzt auch gleich das unter [1] beschriebene allow_restart flag
(welches für das Autospindown-Feature der Seagate erforderlich ist). Ich
konnte die Platte formatieren (eine kleine FAT32 Partition, rest ext3) und
beschreiben funktioniert offenbar auch (ein paar rdiff-Sicherungen über
einige GB sowie eine einzelne 500MB Testdatei). Beim Versuch des
Rücksicherns der rdiff-Sicherung oder der Testdatei kommt es aber
reproduzierbar zu folgenden Fehlern - die Platte ist danach nicht mehr
ansprechbar:
kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 5
kernel: usb 5-2: device descriptor read/64, error -110
kernel: usb 5-2: device descriptor read/64, error -110
kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 5
kernel: usb 5-2: device descriptor read/64, error -110
kernel: usb 5-2: device descriptor read/64, error -110
kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 5
kernel: usb 5-2: device descriptor read/8, error -110
kernel: usb 5-2: device descriptor read/8, error -110
kernel: usb 5-2: reset high speed USB device using ehci_hcd and address 5
kernel: usb 5-2: device descriptor read/8, error -110
kernel: usb 5-2: device descriptor read/8, error -110
kernel: usb 5-2: USB disconnect, address 5
kernel: sd 8:0:0:0: Device offlined - not ready after error recovery
kernel: sd 8:0:0:0: [sdc] Result: hostbyte=DID_NO_CONNECT driverbyte=DR
kernel: end_request: I/O error, dev sdc, sector 1097179
kernel: sd 8:0:0:0: [sdc] Result: hostbyte=DID_NO_CONNECT driverbyte=DR
kernel: end_request: I/O error, dev sdc, sector 1097419
hald[4552]: forcibly attempting to lazy unmount /dev/sdc2 as enclosing
...anschließend vermutlich nur Folgefehler.
Dazu habe ich folgenden Thread gefunden: [2] Der dort genannte Schritt,
in /sys/block/sdX/device/max_sectors andere Werte einzugeben (Standard ist
bei mir nach dem mounten 240; genannt und probiert habe ich 1024 und 128),
brachte auch kein Erfolg. (Geänderte Werte werden ja sofort aktiv -- oder
erst nach remount?)
Ich weiß nicht mehr weiter... Wenn beides Fehler sind, gegen welches Paket
sollte ich das melden?
[1]
http://www.nslu2-linux.org/wiki/FAQ/DealWithAutoSpinDownOnSeagateFreeAgent
[2] https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/61235
Gruß, Thomas
Reply to: