Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IDE/DMA error codes

0 views
Skip to first unread message

Wolfgang Karall

unread,
Nov 4, 2005, 3:31:35 PM11/4/05
to
Hallo,

kann mir jemand vielleicht einen Hint Richtung Dokumentation bez. IDE
error codes, speziell was die Funktionen dma_intr, dma_timer_expiry usw.
da via Syslog melden? V.a. zwecks Eingrenzung der Fehlerquelle.

Anlass der Frage ist ein System mit seltsamen Abstuerzen des 2.
IDE-Bus eines Servers mit RAID1 (gemuetlicher Fileserver ohne viel
Stress bei der Arbeit) bei dem schon die Platte getauscht wurde, jetzt
aber die neue Platte zum 2. Mal hintereinander abends waehrend eines
BackupPC-Laufs vom Bus faellt.


Aktuelle Fehlermeldungen:

Nov 4 20:27:47 neptun kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Nov 4 20:27:47 neptun kernel: hdc: dma_intr: error=0x40 { UncorrectableError }, LBAsect=80339, high=0, low=80339, sector=80328
Nov 4 20:27:47 neptun kernel: end_request: I/O error, dev hdc, sector 80328
Nov 4 20:28:07 neptun kernel: hdc: dma_timer_expiry: dma status == 0x61 Nov 4 20:28:08 neptun kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Nov 4 20:28:08 neptun kernel: hdc: dma_intr: error=0x40 { UncorrectableError }, LBAsect=80339, high=0, low=80339, sector=80336
Nov 4 20:28:08 neptun kernel: end_request: I/O error, dev hdc, sector 80336

Gestern und heute inhaltlich (anderer Sektor, sonst selbe Statuscodes
etc) und vom Zeitpunkt her (waehrend des Backups, einziger Zeitpunkt mit
etwas mehr I/O im System) fast komplett gleich. Re-Sync des RAIDs heute
morgen von hda->hdc hingegen kein Problem.

Vor einiger Zeit im Log: (damals noch mit einer anderen Platte)

#v+
Oct 20 21:15:59 neptun kernel: hdc: dma_timer_expiry: dma status == 0x61
Oct 20 21:16:09 neptun kernel: hdc: DMA timeout error
Oct 20 21:16:09 neptun kernel: hdc: dma timeout error: status=0xd0 { Busy }
Oct 20 21:16:09 neptun kernel:
Oct 20 21:16:09 neptun kernel: ide: failed opcode was: unknown
Oct 20 21:16:09 neptun kernel: hdc: DMA disabled
Oct 20 21:16:09 neptun kernel: hdd: DMA disabled
Oct 20 21:16:44 neptun kernel: ide1: reset timed-out, status=0x80
Oct 20 21:16:44 neptun kernel: hdc: status timeout: status=0x80 { Busy }
Oct 20 21:16:44 neptun kernel:
Oct 20 21:16:44 neptun kernel: ide: failed opcode was: unknown
Oct 20 21:16:44 neptun kernel: hdc: drive not ready for command
Oct 20 21:17:14 neptun kernel: ide1: reset timed-out, status=0x80
Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480207
Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480215
Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480223
Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480231
Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480239

Damals war nach einem Neustart die Platte komplett weg und auch in
anderen Geraeten nicht mehr zur Mitarbeit zu bewegen. Sie wurde deswegen
kurzfristig getauscht und danach da gab es auch keine Probleme mit der
Ersatzplatte.

Allerdings, gestern wurden sowohl hda als auch hdc durch groessere
Platten ersetzt und die Daten umgezogen, und seit dem macht der Rechner
wieder Schwierigkeiten.

Kann irgendjemand anhand der Fehlermeldung feststellen oder auch
ausschliessen ob es
1.) am Controller
2.) an der Platte
3.) am (nicht benutzten) CD-ROM als hdd
liegt?

Natuerlich ist mir v.a. die Loesung des aktuellen Problems ein Anliegen,
allerdings waere ich eben auch ueber einen Link zu mehr Infos auch sehr
recht, leider kommt sowas ja nicht so selten vor.

Danke im voraus fuer jegliche Infos oder Tip(p)s.

lg
WK
--
______________________________________________________________________
Wolfgang Karall mailto: wolfgan...@spiney.org GPG: 0x172CC057
GPGKey fingerprint: F11F 50F8 96B7 C8B5 6D25 AEDE BA1C 0955 172C C057
- Student of Computer Science at the Vienna University of Technology -

Michael Prokop

unread,
Nov 4, 2005, 6:18:52 PM11/4/05
to
begin 1 followup to Wolfgang Karall <wolfgan...@spiney.org>:

> kann mir jemand vielleicht einen Hint Richtung Dokumentation bez. IDE
> error codes, speziell was die Funktionen dma_intr, dma_timer_expiry usw.
> da via Syslog melden? V.a. zwecks Eingrenzung der Fehlerquelle.

> Anlass der Frage ist ein System mit seltsamen Abstuerzen des 2.
> IDE-Bus eines Servers mit RAID1 (gemuetlicher Fileserver ohne viel
> Stress bei der Arbeit) bei dem schon die Platte getauscht wurde, jetzt
> aber die neue Platte zum 2. Mal hintereinander abends waehrend eines
> BackupPC-Laufs vom Bus faellt.

> Aktuelle Fehlermeldungen:

> Nov 4 20:27:47 neptun kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> Nov 4 20:27:47 neptun kernel: hdc: dma_intr: error=0x40 { UncorrectableError }, LBAsect=80339, high=0, low=80339, sector=80328
> Nov 4 20:27:47 neptun kernel: end_request: I/O error, dev hdc, sector 80328
> Nov 4 20:28:07 neptun kernel: hdc: dma_timer_expiry: dma status == 0x61 Nov 4 20:28:08 neptun kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> Nov 4 20:28:08 neptun kernel: hdc: dma_intr: error=0x40 { UncorrectableError }, LBAsect=80339, high=0, low=80339, sector=80336
> Nov 4 20:28:08 neptun kernel: end_request: I/O error, dev hdc, sector 80336

0x40 ist ein "Uncorrectable ECC error" - siehe
/usr/src/linux/include/linux/hdreg.h

ECC := Error Code Correction ->
http://de.wikipedia.org/wiki/Error-correcting_code

,---- [ http://www.tecchannel.de/server/hardware/402181/index4.html ]
| ECC-Verfahren
|
| Neben der einfachen Fehlererkennung gibt es in der Elektronik eine
| Vielzahl von Fehlerkorrektur-Algorithmen. Einer, der sich speziell
| für das Überprüfen und Korrigieren von Ein-Bit-Soft-Errors in
| großen Speicherfeldern eignet, ist der Hamming-Code. Der Code kann
| zudem Zwei-Bit-Fehler erkennen, aber nicht korrigieren. Dieses
| ECC-Verfahren benötigt bei 32 Bit breiten Daten zusätzliche sieben
| Check-Bits. Bei 64 Bit breiten DIMMs sind für die Fehlerkorrektur
| acht Bit nötig. ECC-fähige DIMMs haben deshalb eine Datenbreite von
| insgesamt 72 Bit. Der Datenbus zwischen DIMM und Chipsatz ist
| ebenfalls 72 Bit breit.
| [...]
`----

[...]


> Vor einiger Zeit im Log: (damals noch mit einer anderen Platte)

> #v+
> Oct 20 21:15:59 neptun kernel: hdc: dma_timer_expiry: dma status == 0x61
> Oct 20 21:16:09 neptun kernel: hdc: DMA timeout error
> Oct 20 21:16:09 neptun kernel: hdc: dma timeout error: status=0xd0 { Busy }
> Oct 20 21:16:09 neptun kernel:
> Oct 20 21:16:09 neptun kernel: ide: failed opcode was: unknown
> Oct 20 21:16:09 neptun kernel: hdc: DMA disabled
> Oct 20 21:16:09 neptun kernel: hdd: DMA disabled
> Oct 20 21:16:44 neptun kernel: ide1: reset timed-out, status=0x80
> Oct 20 21:16:44 neptun kernel: hdc: status timeout: status=0x80 { Busy }
> Oct 20 21:16:44 neptun kernel:
> Oct 20 21:16:44 neptun kernel: ide: failed opcode was: unknown
> Oct 20 21:16:44 neptun kernel: hdc: drive not ready for command
> Oct 20 21:17:14 neptun kernel: ide1: reset timed-out, status=0x80
> Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480207
> Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480215
> Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480223
> Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480231
> Oct 20 21:17:14 neptun kernel: end_request: I/O error, dev hdc, sector 82480239

Ich schenk dir mal ein:
> #v-
;)

> Damals war nach einem Neustart die Platte komplett weg und auch in
> anderen Geraeten nicht mehr zur Mitarbeit zu bewegen. Sie wurde deswegen
> kurzfristig getauscht und danach da gab es auch keine Probleme mit der
> Ersatzplatte.

> Allerdings, gestern wurden sowohl hda als auch hdc durch groessere
> Platten ersetzt und die Daten umgezogen, und seit dem macht der Rechner
> wieder Schwierigkeiten.

> Kann irgendjemand anhand der Fehlermeldung feststellen oder auch
> ausschliessen ob es
> 1.) am Controller
> 2.) an der Platte
> 3.) am (nicht benutzten) CD-ROM als hdd
> liegt?

Was meint denn ein 'smartctl --all /dev/...' für die Platte? Häng
die Platte testweise auch mal an ein anderes Motherboard, mit einem
anderen Kabel (auch beim SMART-Werte auslesen verschiedene
Kombinationen probieren!). Und schau dann vor allem auf den Werte
von Reallocated_Sector_Ct und beachte den Trend von
Hardware_ECC_Recovered.

HTH && mfg,
-mika-
--
,'"`. http://www.michael-prokop.at/
( grml.org -» Linux for texttool-users and sysadmins
`._,' http://www.grml.org/

Paul Eigner

unread,
Nov 5, 2005, 4:23:56 AM11/5/05
to
Wolfgang Karall <wolfgan...@spiney.org> wrote:

Servus,

> Nov 4 20:27:47 neptun kernel: hdc: dma_intr: status=0x51 { DriveReady
> SeekComplete Error }

> Oct 20 21:15:59 neptun kernel: hdc: dma_timer_expiry: dma status == 0x61
> Oct 20 21:16:09 neptun kernel: hdc: DMA timeout error

> Natuerlich ist mir v.a. die Loesung des aktuellen Problems ein Anliegen,


> allerdings waere ich eben auch ueber einen Link zu mehr Infos auch sehr
> recht, leider kommt sowas ja nicht so selten vor.

Wenn im System eine der Platten eine Samsung SpinPoint ist, so könnte die
Lösung im UDMA Mode dieser einen Platten liegen. Siehe
http://www.samsung.com/Products/HardDiskDrive/support/faqs/faqs_20030723_0000007938.htm
bzw.
http://wiki.kanotix.net/CoMa.php?CoMa=SamsungSP1614N

Ich hatte hier auch solche Fehler auf hde bzw. hdf[1]. Beide Platten
getauscht, eine Zeitlang ging dann alles gut. nur kamen dann wieder die
Fehler bzw. kam es zu einem kompletten Freeze des Systems ohne Logeinträge.
Ich hab mich dann mit dem Tool hutil.exe gespielt und seither keinen
Absturz bzw. Freeze mehr gehabt.


mfg. p.
hda und hdb sind SpinPoints (120 u. 160GB)
hdc und hdd cd- und dvd-Writer
hde und hdf waren Samsungs (keine Ahnung was genau, aber je 250GB)
und jetzige hde ist eine WD mit 320GB.

--
Dass die Finsternis schwarz sei, ist eine
abgedroschene, im Westen erfundene Behauptung.

Wolfgang Karall

unread,
Nov 5, 2005, 6:01:25 AM11/5/05
to
On 2005-11-05 09:23:56, Paul Eigner <pa...@fido.homelinux.org> wrote:
> Wenn im System eine der Platten eine Samsung SpinPoint ist, so könnte
> die Lösung im UDMA Mode dieser einen Platten liegen.

Nein, die Platten sind im Moment alle Maxtor 6B300R0 bzw. 6L300R0.

Trotzdem danke fuer den Hinweis, um SpinPoints mach ich damit in
naechster Zeit eher einen grossen Bogen.

Wolfgang Karall

unread,
Nov 5, 2005, 6:24:13 AM11/5/05
to
On 2005-11-04 23:18:52, Michael Prokop <dev...@michael-prokop.at> wrote:
> 0x40 ist ein "Uncorrectable ECC error" - siehe
> /usr/src/linux/include/linux/hdreg.h

Ah ja. Ich hab manchmal einfach kein Talent das passende Header-File
aufzustoebern.

[ECC description snipped]


> Ich schenk dir mal ein:
>> #v-
> ;)

Danke. Man sieht wieder mal, gesellschaftliche Verpflichtungen und der
damit verbundene zeitliche Stress sind mit sinnvollen Newsgroup-Postings
nicht vereinbar. ;)

> Was meint denn ein 'smartctl --all /dev/...' für die Platte? Häng
> die Platte testweise auch mal an ein anderes Motherboard, mit einem
> anderen Kabel (auch beim SMART-Werte auslesen verschiedene
> Kombinationen probieren!). Und schau dann vor allem auf den Werte
> von Reallocated_Sector_Ct und beachte den Trend von
> Hardware_ECC_Recovered.

Der smartd hat bisher noch nie angeschlagen, die beiden Werte aktuell:

#v+
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
[..]
5 Reallocated_Sector_Ct 0x0033 224 224 063 Pre-fail Always - 296
[..]
195 Hardware_ECC_Recovered 0x000a 253 252 000 Old_age Always - 9154
#v-

Ich lass jetzt mal einen offline selftest laufen und melde mich wenn das
Ergebnis da ist. (ETA Sat Nov 5 12:52:59 2005)

Wolfgang Karall

unread,
Nov 5, 2005, 7:56:31 AM11/5/05
to
On 2005-11-05 11:24:13, Wolfgang Karall <wolfgan...@spiney.org> wrote:
> Ich lass jetzt mal einen offline selftest laufen und melde mich wenn das
> Ergebnis da ist. (ETA Sat Nov 5 12:52:59 2005)

Ok, das Ergebnis:

#v+
neptun:~# smartctl -l selftest /dev/hdc
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 40% 916 80339
#v-

und das Error-Log:

#v+
neptun:~# smartctl -l error /dev/hdc
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 222 (device log contains only the most recent five
errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 222 occurred at disk power-on lifetime: 821 hours (34 days + 5 hours)
When the command that caused the error occurred, the device was in an unknown state.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 20 f8 1b 01 e0 Error: UNC 32 sectors at LBA = 0x00011bf8 = 72696

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 00 20 f8 1b 01 e0 00 12:02:28.859 READ DMA EXT
25 00 28 f0 1b 01 e0 00 12:02:25.990 READ DMA EXT
25 00 28 c8 1b 01 e0 00 12:02:25.193 READ DMA EXT
25 00 28 a0 1b 01 e0 00 12:02:25.192 READ DMA EXT
25 00 28 78 1b 01 e0 00 12:02:25.191 READ DMA EXT

Error 221 occurred at disk power-on lifetime: 3 hours (0 days + 3 hours)
When the command that caused the error occurred, the device was in an unknown state.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
00 58 08 5f 4c 2b e0 8 sectors at LBA = 0x002b4c5f = 2837599

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
35 03 08 5f 4c 2b e0 00 03:35:53.829 WRITE DMA EXT
25 03 08 9f 8b 00 e0 00 03:35:52.288 READ DMA EXT
35 03 08 97 95 77 e0 00 03:35:52.288 WRITE DMA EXT
25 03 08 9f 8b 00 e0 00 03:35:50.746 READ DMA EXT
35 03 08 57 df 78 e0 00 03:35:50.746 WRITE DMA EXT
#v-

Interessant find ich a) dass mir der smartd die Fehler nicht gemeldet
hat und b) dass der eine power-on lifetime Wert ueberraschend hoch ist
fuer eine neue Platte.

Platte also doch hinueber.

Klaus Maria Pfeiffer

unread,
Nov 6, 2005, 7:47:33 AM11/6/05
to
Wolfgang Karall wrote:

> 5 Reallocated_Sector_Ct 0x0033 224 224 063 Pre-fail Always -
> 296

oje, 196 reallozierte sektoren, die platte wird bald ganz defekt sein.

so sieht eine platte aus, die gut ist:
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always
- 0
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always
- 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always
- 0

btw, der smartd schreit erst dann, wenn VALUE <(=?) THRESH ist. ich hätte
ihn auch lieber bei mindestens einem reallocated sector melden.

greetings, Klaus

Klaus Maria Pfeiffer

unread,
Nov 6, 2005, 7:49:35 AM11/6/05
to
Wolfgang Karall wrote:

> Num Test_Description Status Remaining LifeTime(hours)

> # 1 Extended offline Completed: read failure 40% 916

> hat und b) dass der eine power-on lifetime Wert ueberraschend hoch ist
> fuer eine neue Platte.

916 stunden sind 38 tage. was verstehst Du unter neu?

greetings, Klaus


Wolfgang Karall

unread,
Nov 6, 2005, 12:07:39 PM11/6/05
to
On 2005-11-06 12:49:35, Klaus Maria Pfeiffer <kmp+u...@kmp.or.at> wrote:
> 916 stunden sind 38 tage. was verstehst Du unter neu?

Nicht mal ne Woche alt. Allerdings, laut smartmontools FAQ haben da
Maxtor-Platten (alt wie neu) diverse Eigenarten beim Zurueckliefern der
Werte.

0 new messages