HD Speed

Hi,

how to resolve this?

Model=SAMSUNG SP0411N , FwRev=TW100-13, SerialNo=S01JJ20L336006
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78242976
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5 udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0: ATA/ATAPI-1,2,3,4,5,6,7

sda:<7>sata_nv 0000:00:08.0: version 3.5
sata_nv 0000:00:08.0: PCI INT A -> Link[APSI] -> GSI 23 (level, low) -> IRQ 23
sata_nv 0000:00:08.0: setting latency timer to 64
scsi2 : sata_nv
scsi3 : sata_nv
ata3: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
ata4: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

#hdparm -X70 /dev/sda

/dev/sda:
setting xfermode to 70 (UltraDMA mode6)
HDIO_DRIVE_CMD(setxfermode) failed: Invalid exchange

nvidia 6100

udma2 ???

hdparm can not set speeds on sata devices.

You could have a look at sdparm and see if it will accomplish what you are looking for.

sdparm(8) - Linux man page

Nothing

hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 1272 MB in 2.00 seconds = 636.00 MB/sec
Timing buffered disk reads: 86 MB in 3.01 seconds = 28.60 MB/sec

HD is IDE udma6, motherboard udma/133

how to adjust for udma6 on opensuse 11.2 M2

Hi, see log boot, I found “<4> 1.373435] ata1.00: limited to UDMA/33 due to 40-wire cable”, but cable is 80, what is wrong?

libata version 3.00 loaded.
<7> 1.210260] pata_amd 0000:00:06.0: version 0.4.1
<7> 1.210315] pata_amd 0000:00:06.0: setting latency timer to 64
<6> 1.210417] scsi0 : pata_amd
<6> 1.210544] scsi1 : pata_amd
<6> 1.211451] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xf000 irq 14
<6> 1.211454] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xf008 irq 15
<6> 1.373399] ata1.00: ATA-7: SAMSUNG SP0411N, TW100-13, max UDMA/133
<6> 1.373404] ata1.00: 78242976 sectors, multi 16: LBA48
<7> 1.373429] ata1: nv_mode_filter: 0x7f39f&0x7f01f->0x7f01f, BIOS=0x7f000 (0xc7000000) ACPI=0x7f01f (15:600:0x13)
<4> 1.373435] ata1.00: limited to UDMA/33 due to 40-wire cable
<6> 1.381333] ata1.00: configured for UDMA/33
<5> 1.381463] scsi 0:0:0:0: Direct-Access ATA SAMSUNG SP0411N TW10 PQ: 0 ANSI: 5
<5> 1.381677] sd 0:0:0:0: [sda] 78242976 512-byte hardware sectors: (40.0 GB/37.3 GiB)
<5> 1.381695] sd 0:0:0:0: [sda] Write Protect is off
<7> 1.381698] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
<5> 1.381723] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
<6> 1.381821] sda:<7>ata2: port disabled. ignoring.
<4> 1.387799] sda1 sda2
<5> 1.387939] sd 0:0:0:0: [sda] Attached SCSI disk
<6> 1.390533] BIOS EDD facility v0.16 2004-Jun-25, 1 devices found

Hi,

This is possibly a known problem. I have experience similar thing when running kernel 2.6.30-rc7 and asked on LKML a few days ago LKML: Grozdan: Kernel 2.6.30rc7 limits IDE to UDMA33

Still no response from Alan Cox

btw, which kernel are you using?

uname -a

?

Linux linux-6n6w 2.6.30-rc6-git3-4-default #1 SMP 2009-05-25 14:11:59 +0200 i686 athlon i386 GNU/Linux

Opensuse 11.2 M2

I will report back this to Alan, just so he knows I’m not the only one with this problem when using kernel 2.6.30

Got reply back from Alan. You may need to patch the kernel-source to fix the problem & recompile it

LKML: Alan Cox: Re: Kernel 2.6.30rc7 limits IDE to UDMA33

where is the patch?

is how?

the patch is in the reply, the “Get diff” at the left - http://lkml.org/lkml/diff/2009/6/5/172/1

save it to a file, say kernel.diff
copy it to /usr/src/linux
cd to /usr/src/linux
apply the patch: patch -p1 < kernel.diff
configure/compile the kernel - make sure in general setup you change the local version -default to -somethingcustom

Alternatively, if you do not want to compile the kernel, you can force 80-wire cables with a boot parameter

libata.force=80c

to make it permament, add the above to /boot/grub/menu.lst

something like

title openSUSE 11.1 - 2.6.30-rc7-git4 Neutrino
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.30-rc7-git4-neutrino root=/dev/sda1 resume=/dev/sda3 splash=silent elevator=as **libata.force=80c** showopts vga=0x317
    initrd /boot/initrd-2.6.30-rc7-git4-neutrino

libata.force=80c on menu.lst

/dev/sda:
Timing cached reads: 1252 MB in 2.00 seconds = 625.98 MB/sec
Timing buffered disk reads: 160 MB in 3.02 seconds = 53.06 MB/sec

thanks very very much