exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen - "dead" harddisc until reboot
Hello Jeff, hello linux-ide-team,
I encounter here sometimes a strange problem - I hope you do not bother me that I write direct to you.
I use following hardware: VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) as PATA-controller (so I use the pata_via module - 1106:0571), on the secondary channel as master a Compact Flash card, as slave a 2.5" WDC 320GB harddisc. The harddisc is only able to speak UDMA3 (caused by the cable), the Compact Flash Card is able to speak UDMA4. So I force this values with the kernel command line (libata.force=2.00:udma4,2.01:udma3). I am using ext3 on the FlashCard and ext4 on the harddisc, splitted in 4 partitions. I use linux 2.6.31.4, my config is attached.
Since 2.6.30 I use libata instead of legacy IDE.
After a not reproduceable time my machine is not able to handle my harddisk any more. There are always the same logs:
[1036724.000131] ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[1036724.000256] ata2.01: cmd c8/00:08:0b:72:04/00:00:00:00:00/fa tag 0 dma 4096 in
[1036724.000262] res 40/00:00:00:78:00/00:00:00:00:00/10 Emask 0x4 (timeout)
[1036724.000432] ata2.01: status: { DRDY }
[1036729.044064] ata2: link is slow to respond, please be patient (ready=0)
[1036734.028105] ata2: device not ready (errno=-16), forcing hardreset
[1036734.028193] ata2: soft resetting link
[1036739.240090] ata2.01: qc timeout (cmd 0xec)
[1036739.240172] ata2.01: failed to IDENTIFY (I/O error, err_mask=0x4)
[1036739.240228] ata2.01: revalidation failed (errno=-5)
[1036744.280084] ata2: link is slow to respond, please be patient (ready=0)
[1036749.265498] ata2: device not ready (errno=-16), forcing hardreset
[1036749.265571] ata2: soft resetting link
[1036759.476081] ata2.01: qc timeout (cmd 0xec)
[1036759.476149] ata2.01: failed to IDENTIFY (I/O error, err_mask=0x4)
[1036759.476205] ata2.01: revalidation failed (errno=-5)
[1036764.516326] ata2: link is slow to respond, please be patient (ready=0)
[1036769.504059] ata2: device not ready (errno=-16), forcing hardreset
[1036769.504134] ata2: soft resetting link
[1036799.716082] ata2.01: qc timeout (cmd 0xec)
[1036799.716163] ata2.01: failed to IDENTIFY (I/O error, err_mask=0x4)
[1036799.716218] ata2.01: revalidation failed (errno=-5)
[1036799.716270] ata2.01: disabled
[1036799.716330] ata2.00: failed to IDENTIFY (I/O error, err_mask=0x40)
[1036799.716384] ata2.00: revalidation failed (errno=-5)
[1036800.220063] ata2: soft resetting link
[1036800.392545] ata2.00: FORCE: xfer_mask set to udma4
[1036800.408386] ata2.00: configured for UDMA/66
[1036800.408457] ata2.01: device reported invalid CHS sector 0
[1036800.416356] ata2.00: FORCE: xfer_mask set to udma4
[1036800.424469] ata2.00: configured for UDMA/66
[1036800.424560] ata2: EH completeafter this "EH complete" the kernel means that there are defect sectors and remounts the partitions in ro-mode:
[1036800.424671] sd 1:0:1:0: [sdb] Unhandled error code [1036800.424722] sd 1:0:1:0: [sdb] Result: hostbyte=0x04 driverbyte=0x00 [1036800.424780] end_request: I/O error, dev sdb, sector 168063499 [1036800.428484] sd 1:0:1:0: [sdb] Unhandled error code [1036800.428548] sd 1:0:1:0: [sdb] Result: hostbyte=0x04 driverbyte=0x00 [1036800.428606] end_request: I/O error, dev sdb, sector 168063515 [1036800.428701] sd 1:0:1:0: [sdb] Unhandled error code
at this time the only workaround is a reboot - i did not find any way yet to reanimate the harddisc in this state. after the reboot everything works well for a while, until the problem occurs again.
I can definitely except a hardware failure - I have several times checked the harddisc and the cabeling. The flashcard is never affected by this problem.
badblocks -v /dev/sdb
Checking blocks 0 to 312571223
Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks found.
(I also did already read/write test, there are definitely no bad blocks!)
If I do not use libata but legacy IDE in my kernel the problem never occurs.
Are there any hints what I can try?
I am able to apply patches and compile the kernel, but I am not familiar with programming. :-/
Thanks in advance!
kind regards, Alois
Quoted 23 lines · [email protected] writes:
Hello Jeff, hello linux-ide-team,
I encounter here sometimes a strange problem - I hope you do not bother me that I write direct to you.
I use following hardware: VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) as PATA-controller (so I use thepata_viamodule - 1106:0571), on the secondary channel as master a Compact Flash card, as slave a 2.5" WDC 320GB harddisc. The harddisc is only able to speak UDMA3 (caused by the cable), the Compact Flash Card is able to speak UDMA4. So I force this values with the kernel command line (libata.force=2.00:udma4,2.01:udma3). I am using ext3 on the FlashCard and ext4 on the harddisc, splitted in 4 partitions.
I use linux 2.6.31.4, my config is attached.
Since 2.6.30 I use libata instead of legacy IDE.
After a not reproduceable time my machine is not able to handle my harddisk any more. There are always the same logs:[1036724.000131] ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [1036724.000256] ata2.01: cmd c8/00:08:0b:72:04/00:00:00:00:00/fa tag 0 dma 4096 in [1036724.000262] res 40/00:00:00:78:00/00:00:00:00:00/10 Emask
0x4(timeout)
...
Quoted 2 lines
at this time the only workaround is a reboot - i did not find any way yet to reanimate the harddisc in this state.
Two suggestions:
1. don't use libata.force
2. put the CF card and the PATA disk on separate channels with separate cables
Hi Mikael,
thanks for your response.
to 1.) If I stop limiting the harddisk to UDMA3 it will try to speak every time UDMA4 - this does not work flawless and so there are a lot of hard resets of the IDE-channel.
Is there another possibility to limit the drive to UDMA3? With legacy-IDE I did this always with hdparm, but this does not work with libata. :-/
to 2.) I cannot separate the two devices - the CF-port is soldered onto the mainboard and is connected to the secodary master, the 2.5" harddisc has a 44pin connector to the 44pin-connector on the mainbaord. :-/
kind regards, Alois
Quoted 34 lines · Mikael Pettersson
Quoted 23 lines · [email protected] writes:
Hello Jeff, hello linux-ide-team,
I encounter here sometimes a strange problem - I hope you do not bother me that I write direct to you.
I use following hardware: VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) as PATA-controller (so I use thepata_viamodule - 1106:0571), on the secondary channel as master a Compact Flash card, as slave a 2.5" WDC 320GB harddisc. The harddisc is only able to speak UDMA3 (caused by the cable), the Compact Flash Card is able to speak UDMA4. So I force this values with the kernel command line (libata.force=2.00:udma4,2.01:udma3). I am using ext3 on the FlashCard and ext4 on the harddisc, splitted in 4 partitions.
I use linux 2.6.31.4, my config is attached.
Since 2.6.30 I use libata instead of legacy IDE.
After a not reproduceable time my machine is not able to handle my harddisk any more. There are always the same logs:[1036724.000131] ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [1036724.000256] ata2.01: cmd c8/00:08:0b:72:04/00:00:00:00:00/fa tag 0 dma 4096 in [1036724.000262] res 40/00:00:00:78:00/00:00:00:00:00/10 Emask
0x4(timeout)...
Quoted 2 lines
at this time the only workaround is a reboot - i did not find any way yet to reanimate the harddisc in this state.
Two suggestions:
1. don't use libata.force
2. put the CF card and the PATA disk on separate channels with separate cables