Re: [opensuse] HEADS UP: Your devices' UDMA may not be set correctly!



On 06/04/11 14:52, Basil Chupin wrote:
A bug in the kernel has reappeared after being reported as fixed way back in 2009. It concerns the UDMA of your device/(s) not being set to the maximum limit because the kernel thinks that the device(s) is/are connected with a 40-wire cable when, in fact, an 80-wire cable is in place.

This is my setup:

IDE #1 connector-

ata1.00 HDD with UDMA 133
ata1.01 CDROM with UDMA 33

IDE #2 connector-

ata2.00 HDD with UDMA 100
ata2.01 DVDRW with UDMA 100

however the devices on line #2 are being configured for UDMA 33 because it is "limited to UDMA/33 due to 40-wire cable". Devices on line #1 are correctly configured (133 and 33 UDMA, respectively).

There is a work around to this but I sincerely hope that someone who has access to the kernel maintainers can "hard code" this into the kernel rather than have this "workaround" inserted in the grub menu on boot time.

The work around is this:

add this to the boot parameters in the grub message: libata.force=X:=80c

where X is the IDE line number (for example 1 or 2); in my case the problem is with devices on line #2 so I have added "libata.force=2:80c" and now these devices are both being correctly set to UDMA 100 - which makes a damn big difference to the transfer rates on these devices!

ADDENDUM. The above fix is applicable when the libata is statically embedded in the kernel - and this is the case with the kernel in openSUSE 11.4 (2.6.37.1-1.2) - but when it isn't embedded then use "force=X:80c".

(For those interested you can find discussion on this if you google or you can go to this bug report on another distrubution (Ubuntu) here: https://bugs.launchpad.net/ubuntu/+bug/195221 .


BC

A follow-up to the above.

Before I installed openSUSE 11.4 a few days ago I thought that I would alter the setting in my BIOS to read that my HDDs are to be treated by the BIOS as "LBA" devices and not configured by BIOS by its "Auto" option.

After installing 11.4 I went to check to what the UDMA for each devices was set.

The devices on channel #1 were not set to maximum although close enough (HDD was set to 100 while the CDROM on the same channel was set correctly to UDMA 33).

However, on ATA controller #2 (as mentioned in my OP) the HDD which has max UDMA 133 and its companion with max UDMA 100 were set to UDMA #25! and (?)#25, respectively.

WTF! I thought.

Well, after fiddling around for a bit I realised that I had set the BIOS to accept the devices on the ATA controllers #1 and #2 as being "LBA" devices.

After I changed this setting in the BIOS back to "Auto" all the devices on both controllers were configured correctly to (1) channel #1: UDMA 133 and 33; channel #2: UDMA 133 and 100.

FYI.

BC

--
"My sister's expecting a baby, and I don't know if I am going to be an uncle or an aunt."
Chuck Nevitt

--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx