Hallöchen,
schon lange plagt mich ein Problem im Zusammenhang AHCI+Linux+eSATA.
Mein System besteht aus einer 500GB HDD und einem LG Brenner, beide sind per S-ATA an das Mainboard (MSI Neo2-FIR mit ICH9R Controller) angeschlossen und laufen im AHCI Modus unter ArchLinux bisher tadellos.
Probleme gab es aber, sobald eSATA ins Spiel kam. Ich besitze noch eine eSATA Festplatte in einem Sharkoon Rapid Case für Backups. Sobald jedoch das Kabel in der eSATA Buchse steckt, bootet Windows nicht mehr. Stecke ich es im Laufenden Betrieb an, tritt eines der folgenden Probleme auf:
- System stockt alle 4-5 Sekunden für 5 Sekunden, HDD-LED leuchtet permanent
- Brenner ist dauerhaft gelocked und sucht eine CD. Bootet man mit eingelegter CD, dreht sie permanent mit voller Geschwindigkeit.
So weit so schlecht. Bisher habe ich dieses Verhalten immer auf die schlechte Kompatibilität zwischen Windows XP <-> AHCI geschoben, denn unter Arch hatte ich bisher keine Probleme, selbst Hotplugging der externen HDD funktionierte wunderbar.
Im Log tauchten zwar immer wieder sehr seltsame Fehlermeldungen auf, der Datentransfer stockte zwar auch immer mal wieder, aber im Allgemeinen lief es ganz gut.
Beim booten knackt der Brenner ein paar mal, als ob er eine CD anlaufen lassen wollte, allerdings glaube ich nicht, dass das mit dem hier beschriebenen Problem zusammenhängt, sondern eher den Versuch darstellt, von CD zu booten (obwohl die HDD als erstes Bootdevice eingetragen ist...).
Bis ich das Kernelupdate auf 2.6.25 eingespielt habe. Seither fängt mein DVD Brenner ca. 10 Sekunden nach dem Bootvorgang an, permanent nach einer CD zu suchen und ist im Dauerlock. Also dasselbe Verhalten wie unter Windows. Allerdings liegt es diesmal nicht am eingesteckten eSATA Kabel, der Fehler tritt mit oder ohne auf. Im Log finden sich imho sehr seltsame Fehlermeldungen (solche hatte ich bisher nur mit der externen eSATA HDD bekommen):
May 25 14:12:07 aristoteles ata6.00: cmd a0/00:00:00:00:00/00:00:00:00:00/a0 tag 0
May 25 14:12:07 aristoteles ata6.00: status: { DRDY ERR }
May 25 14:12:08 aristoteles ata6.00: exception Emask 0x10 SAct 0x0 SErr 0x400001 action 0x2
May 25 14:12:08 aristoteles ata6.00: irq_stat 0x44000001
May 25 14:12:08 aristoteles ata6: SError: { RecovData Handshk }
Diese Zeile wiederholt sich jede Sekunde in meiner /var/log/errors.log, was ziemlich ärgerlich ist.
Ähnlich düster sieht es in dmesg aus:
ACPI: Error attaching device data
ACPI: Error attaching device data
ACPI: Error attaching device data
ACPI: Error attaching device data
libata version 3.00 loaded.
ata1: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff100 irq 19
ata2: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff180 irq 19
ata3: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff200 irq 19
ata4: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff280 irq 19
ata5: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff300 irq 19
ata6: SATA max UDMA/133 abar m2048@0xfe8ff000 port 0xfe8ff380 irq 19
ata1: SATA link down (SStatus 0 SControl 300)
ata2: SATA link down (SStatus 0 SControl 300)
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata5.00: ATA-8: SAMSUNG HD501LJ, CR100-12, max UDMA7
ata5.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata5.00: configured for UDMA/133
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: ATAPI: HL-DT-ST DVDRAM GH20NS10, EL00, max UDMA/100
ata6.00: configured for UDMA/100
EXT3-fs: mounted filesystem with ordered data mode.
ata6.00: exception Emask 0x10 SAct 0x0 SErr 0x400100 action 0x2 frozen
ata6.00: irq_stat 0x08000000, interface fatal error
ata6: SError: { UnrecovData Handshk }
ata6.00: cmd a0/01:00:00:fe:00/00:00:00:00:00/a0 tag 0 dma 16640 in
[...]
ata6: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xa frozen
ata6: irq_stat 0x00000040, connection status changed
ata6: SError: { CommWake DevExch }
ata6: soft resetting link
ata6: SATA link down (SStatus 1 SControl 300)
ata6: EH complete
Die letzten Zeilen wiederholen sich ständig.
Die Festplatte ist an ATA5 angeschlossen, während der Brenner an ATA6 hängt.
Leider kann ich die Belegung auch nicht umstecken, da die anderen Ports durch die Grafikkarte und deren Kühler blockiert werden.
Bisher habe ich nur herausgefunden, dass sich ähnliche Fehlermeldungen in Zusammenhang mit nVidia Karten + ICH9 + AHCI ergeben, da es dort zu einem IRQ-Konflikt kommt, aber das kann ich bei mir ausschließen, da ich sowohl eine ATI Karte habe, als auch /proc/interrupts nichts verdächtiges ausspuckt:
CPU0 CPU1
0: 51 1 IO-APIC-edge timer
1: 4957 4994 IO-APIC-edge i8042
8: 1 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
16: 0 0 IO-APIC-fasteoi uhci_hcd:usb1, uhci_hcd:usb8
17: 3288 3293 IO-APIC-fasteoi HDA Intel, eth0
18: 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb7
19: 21717 21719 IO-APIC-fasteoi ahci, uhci_hcd:usb6
21: 0 0 IO-APIC-fasteoi uhci_hcd:usb3
22: 1595 1549 IO-APIC-fasteoi HDA Intel
23: 0 2 IO-APIC-fasteoi ehci_hcd:usb4, uhci_hcd:usb5
NMI: 0 0 Non-maskable interrupts
LOC: 404366 234156 Local timer interrupts
RES: 8137 5726 Rescheduling interrupts
CAL: 221 121 function call interrupts
TLB: 2264 1919 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
Ich brauche hierbei dringend Hilfe, da ich auf den PC angewiesen bin, aber so schlecht arbeiten kann.
Vielen Dank schonmal,
Vrob