Re: PROBLEM: kernel 2.6.22.6 pata_pdc202xx_old.c limiting to UDMA/33 instead of UDMA/100 (UPDATED 2.6.22.6)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear n:

Please do *not* follow-up to a completely inderended thread. Start your own, please. :-/

Update with kernel 2.6.22.6 i am getting this error now
ata2.00: ATA-6: ST3120026A, 3.06, max UDMA/100

Gathering courage and reply to libata bug report -- I'm more of the drivers/ide/ guy with some SCSI background too... :-)


here is the new error.
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd ca/00:00:25:9c:fc/00:00:00:00:00/f6 tag 0 cdb 0x0 data

   That was an attempt to read 1 sector from LBA 0xfc9c25 of rhe drive #1...

131072 out
        res 40/00:00:3f:00:00/00:00:00:00:00/f0 Emask 0x4 (timeout)
ata2: port is slow to respond, please be patient (Status 0xfe)
ata2: device not ready (errno=-16), forcing hardreset
ata2: soft resetting port
ata2.01: configured for UDMA/25

    Whee! :-)

ata2: EH complete

here is dmseg output
[...]
parport_pc: Current parallel port base: 0x378
parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE]
parport_pc: VIA parallel port: io=0x378, irq=7
r8169 Gigabit Ethernet driver 2.2LK-NAPI loaded
ACPI: PCI Interrupt 0000:00:0f.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
eth0: RTL8169sb/8110sb at 0xe882c000, 00:14:d1:38:5e:25, IRQ 11
8139too Fast Ethernet driver 0.9.28
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [LNKD] -> GSI 5 (level, low) -> IRQ 5
eth1: RealTek RTL8139 at 0x8800, 00:40:05:3a:15:c4, IRQ 5
eth1:  Identified 8139 chip type 'RTL-8100B/8139D'

   RTL8139 are PoS chips (unless it's 8139D probably)... :-)

via686a 0000:00:04.4: base address not set - upgrade BIOS or use force_addr=0xaddr

    Hmmm, I'd assume that after that DMA wouldn't be possible but...

Adding 390560k swap on /dev/sdc1.  Priority:-1 extents:1 across:390560k
XFS mounting filesystem sdc3
Ending clean XFS mount for filesystem: sdc3
XFS mounting filesystem sdc4
Ending clean XFS mount for filesystem: sdc4
XFS mounting filesystem sdd1
Ending clean XFS mount for filesystem: sdd1
XFS mounting filesystem sde1
Ending clean XFS mount for filesystem: sde1
XFS mounting filesystem sdf1
Ending clean XFS mount for filesystem: sdf1
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)

ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out

   That was an attempt to read the 1st sector from LBA 0x3f of the drive...

        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

   ... which failed miserably, with UltraDMA CRC error. Hmmm...

ata2: soft resetting port
ata2.01: configured for UDMA/33
ata2: EH complete
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)
ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

    ... same sh!t happened again at UDNA/33 presumbly...

ata2: soft resetting port
ata2.01: configured for UDMA/33
ata2: EH complete
sd 1:0:1:0: [sdb] 234441648 512-byte hardware sectors (120034 MB)
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)
ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

   But the DMA write failed again with the same CRC error...

ata2: soft resetting port
ata2.01: configured for UDMA/33
ata2: EH complete
sd 1:0:1:0: [sdb] Write Protect is off
sd 1:0:1:0: [sdb] Mode Sense: 00 3a 00 00
ata2.01: limiting speed to UDMA/25:PIO4
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)
ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

   ... and again.

ata2: soft resetting port
ata2.01: configured for UDMA/25
ata2: EH complete
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)
ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

   ... and again, even with UDMA 25.

ata2: soft resetting port
ata2.01: configured for UDMA/25
ata2: EH complete
sd 1:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.01: (BMDMA stat 0x4)
ata2.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/f0 Emask 0x10 (ATA bus error)

   Bug is quite persistent... something's up!

ata2: soft resetting port
ata2.01: configured for UDMA/25
sd 1:0:1:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08
sd 1:0:1:0: [sdb] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
       72 0b 47 00 00 00 00 0c 00 0a 80 00 00 00 00 00
       00 00 00 3f
sd 1:0:1:0: [sdb] ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sdb, sector 63

   Yeah, 63 == 0x3f.

ata2: EH complete
sd 1:0:1:0: [sdb] 234441648 512-byte hardware sectors (120034 MB)
Filesystem "sdb1": Disabling barriers, trial barrier write failed
sd 1:0:1:0: [sdb] Write Protect is off
sd 1:0:1:0: [sdb] Mode Sense: 00 3a 00 00
XFS mounting filesystem sdb1
sd 1:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:1:0: [sdb] 234441648 512-byte hardware sectors (120034 MB)
sd 1:0:1:0: [sdb] Write Protect is off
sd 1:0:1:0: [sdb] Mode Sense: 00 3a 00 00
sd 1:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd ca/00:00:25:9c:fc/00:00:00:00:00/f6 tag 0 cdb 0x0 data 131072 out

   Thrying to DMA write 0 sectors at 0xc9c25.

        res 40/00:00:3f:00:00/00:00:00:00:00/f0 Emask 0x4 (timeout)

Hm, 0x40 is not normal a status value... usually, it's 0x50. But it's alright anyway.

ata2: port is slow to respond, please be patient (Status 0xfe)
ata2: device not ready (errno=-16), forcing hardreset

   Hm...

ata2: soft resetting port
ata2.01: configured for UDMA/25
ata2: EH complete
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd ca/00:00:25:9c:fc/00:00:00:00:00/f6 tag 0 cdb 0x0 data 131072 out
        res 40/00:00:3f:00:00/00:00:00:00:00/f0 Emask 0x4 (timeout)

   Same here.

ata2: port is slow to respond, please be patient (Status 0xfe)
ata2: device not ready (errno=-16), forcing hardreset
ata2: soft resetting port
ata2.01: configured for UDMA/25
ata2: EH complete
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd ca/00:00:25:9c:fc/00:00:00:00:00/f6 tag 0 cdb 0x0 data 131072 out
        res 40/00:00:3f:00:00/00:00:00:00:00/f0 Emask 0x4 (timeout)

   Again strange status after writinng 0 sectors the same LBA.

[The same us repeating over and over again...]

sd 1:0:1:0: [sdb] Result: hostbyte=0x00 driverbyte=0x08
sd 1:0:1:0: [sdb] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
       72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00

   Hm, never seen sense format 0x72... :-)
   The 2nd byte is prolly a sense key ABORTED COMMAND?

       00 00 00 3f

Aha, 0x3f again, this time in the SCSI sense... I've looked thru the SCSI spacs and found nought aboutthis format. :-(

sd 1:0:1:0: [sdb] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sdb, sector 117218341
ata2: EH complete
ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd ca/00:00:25:9d:fc/00:00:00:00:00/f6 tag 0 cdb 0x0 data 131072 out
        res 40/00:00:3f:00:00/00:00:00:00:00/f0 Emask 0x4 (timeout)

   Then everything happily continues in the same vein but t UDMA/25 mode.
[...]

Here is my previous post
(not sure if anyone read it im new to mailing lists also ata1 below is ata2 above since i changed it to port 2 so its the same seagate drive.)

hello, with kernel 2.6.22.5 using the new pata_pdc202xx_old  driver it
doesn't
detect the cable right on this seagate drive (i tried switching ports /
cables ...etc)

Probably host side detecton is borked. The drived is residing alone on that cable?

it detects the maxtor drive fine no matter what port its on, the seagate
doesnt detect correctly on either port

Hrm, then maybe it's indeed device side problem (but IIRC, libata used to ignore device side reporting)./

ata1.00: ATA-6: ST3120026A, 3.06, max UDMA/100
ata1.00: 234441648 sectors, multi 16: LBA48
ata1.00: limited to UDMA/33 due to 40-wire cable
ata1.00: configured for UDMA/33
ata2.00: ATA-7: Maxtor 6B200R0, max UDMA/133
ata2.00: 398297088 sectors, multi 16: LBA48
ata2.00: configured for UDMA/100

i was searching goolge and i found other uses with the same problem and had
seagate drives (maybe the cable detect code is differnt in seagate?)

   Hardly so...

btw only devices sda and sdb are on the pata_pdc202xx_old card.

   Not on the same cable?

i also get this error about 50 of them
(dmsg cut top output where it had info about the cable error) anyways if you
scroll down you will see errors like this
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:01:3f:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)

Write of single sector 63 fails miserably with UltraDMA CRC... although, if you're not using UltraDMA at this moment, 0x84 may mean something different: bad/uncortrectable sector.

ata1: soft resetting port
ata1.00: configured for UDMA/33
ata1: EH complete ..etc

.... Ends up here

ata1: EH complete
ata1.00: limiting speed to PIO4
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9d:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9d:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)

Hmmm, the driver had just lied to you saying that it downgraded to PIO4 -- it still issues WRITE DMA command which failed as usual...

ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:01:3f:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/33
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:01:3f:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 512 out
        res 51/84:00:3f:00:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)

   "Then it strted all over again..."

ata1: soft resetting port
ata1.00: configured for UDMA/25
sd 0:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
       72 0b 47 00 00 00 00 0c 00 0a 80 00 00 00 00 00
       00 00 00 3f
sd 0:0:0:0: [sda] ASC=0x47 ASCQ=0x0

Hh, SCSI msgs cleared the forat up for me: byte 1 is a sense key, byte 2 is ASQ (0x47 means SCSI parity error)...

end_request: I/O error, dev sda, sector 63
ata1: EH complete
sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
Filesystem "sda1": Disabling barriers, trial barrier write failed
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
XFS mounting filesystem sda1
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA
sd 0:0:0:0: [sda] 234441648 512-byte hardware sectors (120034 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support
DPO or FUA
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)

   Again failinig DMA write of 0 sectors at LBA 826401...

ata1: soft resetting port
ata1.00: configured for UDMA/25
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/25
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/25
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/25
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)

  It means that IDE DMA has signalled an interrupt

ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/25
ata1: EH complete
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata1.00: (BMDMA stat 0x4)
ata1.00: cmd ca/00:00:21:9c:fc/00:00:00:00:00/e6 tag 0 cdb 0x0 data 131072
out
        res 51/84:00:21:9c:fc/00:00:00:00:00/e6 Emask 0x10 (ATA bus error)
ata1: soft resetting port
ata1.00: configured for UDMA/25
sd 0:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 0:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
       72 0b 47 00 00 00 00 0c 00 0a 80 00 00 00 00 00
       06 fc 9c 21

   Aha, those last 4 bytes a big-endian address of a requested LBA to write to

after the kernel finnishes booting i can mount that drive fine (also all the xfs_check xfs_repair ..etc say there is no errors) but i think the drive is
in pio4 by the time its done.

From looking at the logs I got a feeling that the speed downgraded didn't work all the way to PIO...

the ide old driver seemed to work ok with this drive also the system
mainboard ide ports work too.

   Aha, thanks! :-)

i tried changing the drive jumpers around and that also didnt help

just to add i tried switching my drives around i moved a wd drive to port 2
of the pdc controller and it worked fine so if a maxtor and a wd drive is
hooked up it detects as udma100, this seems to be a error with seagate
drives only, and i should also note i tried the seagate on the mainboard
chipset (uses the pata_via.c driver) and it detected the seagate fine and
set udma 100 on it.

   Yeah, all that is very confusing...

MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux