I was wrong. The UDMA speed sensing seems to work like a charm for my
hard disk (which is UDMA33). The Pioneer DVD-ROM even just uses UDMA33,
so may guess that it SHOULD work with a 40-pin connector as well. It
doesn't though!

To further debug the issue I had the following setup:

* primary controller (ata1): attached a 80-pin wire
* secondary controller (ata2): attached a 40-pin wire

Only two (master) devices: Pioneer CD-ROM and maxtor hard disk

A) Setup 1: Maxtor HD on 40-pin: speed-sensed to UDMA25
================================================

ata1 / 80-pin on CD-ROM:
ata2 / 40-pin on maxtor:

dmesg has the following regarding general initialization:

 [    3.098979] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xa000 irq 14
 [    3.098985] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xa008 irq 15

follwed by (CD-ROM)

 [    3.540429] ata1.00: ATAPI: Pioneer DVD-ROM ATAPIModel DVD-105S 0122, 
E1.22, max UDMA/33
 [    3.556437] ata1.00: configured for UDMA/33

followed by (hard disk)

 [    3.720605] ata2.00: ATA-7: Maxtor 4R120L0, RAMB1TU0, max UDMA/133
 [    3.720612] ata2.00: 240121728 sectors, multi 16: LBA 
 [    3.720652] ata2.00: limited to UDMA/33 due to 40-wire cable
 [    3.736597] ata2.00: configured for UDMA/33 

Now, you may say that the limiting works like a charm, however, now -
after some sr* and sd* lines - we have something interesting:

 [    3.740880]  sda:<3>ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 
0x6
 [    3.832470] ata2.00: BMDMA stat 0x24
 [    3.832539] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 
in
 [    3.832542]          res 51/84:00:00:00:00/00:00:00:00:00/e0 Emask 0x10 
(ATA bus error)
 [    3.832651] ata2.00: status: { DRDY ERR }
 [    3.832698] ata2.00: error: { ICRC ABRT }
 [    3.832793] ata2: soft resetting link
 [    4.012602] ata2.00: configured for UDMA/33
 [    4.012633] ata2: EH complete
 [    4.110043] ata2.00: limiting speed to UDMA/25:PIO4
 [    4.110051] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
 [    4.110110] ata2.00: BMDMA stat 0x24
 [    4.110163] ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 
in
 [    4.110166]          res 51/84:00:00:00:00/00:00:00:00:00/e0 Emask 0x10 
(ATA bus error)
 [    4.110274] ata2.00: status: { DRDY ERR }
 [    4.110330] ata2.00: error: { ICRC ABRT }
 [    4.110419] ata2: soft resetting link
 [    4.288603] ata2.00: configured for UDMA/25
 [    4.288621] ata2: EH complete

In other words, UDMA33 doesn't seem to work properly with a 40-pin cable
in this setup even with the hard disk, and it is speed-sensed to UDMA25
with the hard disk.


A) Setup 2: Pioneer DVDon 40-pin  used silently with UDMA33
==================================================

ata1 / 80-pin on Maxtor HD:
ata2 / 40-pin on Pioneer CD-ROM:

dmesg output

* general initialization

 [    3.099423] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xa000 irq 14
 [    3.099429] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xa008 irq 15

* Maxtor HD

 [    3.260597] ata1.00: ATA-7: Maxtor 4R120L0, RAMB1TU0, max UDMA/133
 [    3.260605] ata1.00: 240121728 sectors, multi 16: LBA 
 [    3.276597] ata1.00: configured for UDMA/100

* Pioneer DVD-ROM

 [    3.448375] ata2.00: ATAPI: IOMEGA  ZIP 100       ATAPI, 05.H, max MWDMA1, 
CDB intr
 [    3.448441] ata2.01: ATAPI: Pioneer DVD-ROM ATAPIModel DVD-105S 0122, 
E1.22, max UDMA/33
 [    3.464407] ata2.00: configured for MWDMA1
 [    3.480447] ata2.01: configured for UDMA/33

Very notable: UDMA33 is NOT down-sensed to UDMA25. There is no exception
mask as in setup 1.

Another interesting aspect is that the BIOS bootup screen reports the
PIO 4 transfer mode for the 40-pin / DVD case, and UDMA33 only when an
80-pin cable is used. I will try to find out how a drive tells the
(BI-)OS and the controller what modes it supports, and whether some of
the Flags are ignored by recent Linux's - which is what I suppose.

-- 
Video DVDs: Buffer I/O errors with Pioneer DVD-105S
https://bugs.launchpad.net/bugs/459316
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to