View previous topic :: View next topic |
Author |
Message |
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Sun May 07, 2006 4:29 pm Post subject: Promise SATA150 TX2+ or buggy seagate hdd -> no DMA? |
|
|
so i've finnally come behind the weird slowdowns of my network and copying. i obiously got no DMA on my 3rd disc, which is connected to a pci promise sata controler.
my hdparm -tT test results of all 3 hdd's:
Code: | /dev/sda:
Timing cached reads: 4168 MB in 2.00 seconds = 2084.31 MB/sec
Timing buffered disk reads: 158 MB in 3.01 seconds = 52.50 MB/sec
|
Code: | /dev/sdb:
Timing cached reads: 3588 MB in 2.00 seconds = 1794.32 MB/sec
Timing buffered disk reads: 182 MB in 3.01 seconds = 60.51 MB/sec
|
Code: | /dev/sdc:
Timing cached reads: 4184 MB in 2.00 seconds = 2092.23 MB/sec
Timing buffered disk reads: 4 MB in 3.92 seconds = 1.02 MB/sec
|
my problem now, is that i don't know what to do with my /dev/sdc. it's a 200GB disc within my lvm storage, so it's not easyily replaced or just thrown out and besides, i still want to use that controler. there must be a solution to this, but i can't think of a way to force the sata_promise module to force DMA. also, if i compile the module into the kernel, it will be loaded first, and thus my kernel can't find the "real" bootpartition any longer. i think because the disk is getting the A place, while it's not even bootable. i could ignore all that, if just DMA would work with this disk.
Code: | root@enti $ hdparm -I /dev/sdc
/dev/sdc:
ATA device, with non-removable media
Model Number: ST3200822AS
Serial Number: 5LJ0V7LT
Firmware Revision: 3.01
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 390721968
device size with M = 1024*1024: 190782 MBytes
device size with M = 1000*1000: 200049 MBytes (200 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = ?
Recommended acoustic management value: 254, current value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Checksum: correct |
is there anything i can do about this. please help me. i'm having that for over a year now and just realized that my 3rd disk got no dma or is otherwise damaged. _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4
Last edited by eNTi on Mon May 08, 2006 6:02 am; edited 1 time in total |
|
Back to top |
|
|
I.C.Wiener Tux's lil' helper
Joined: 25 Jul 2004 Posts: 115 Location: Furtwangen (Germany)
|
Posted: Sun May 07, 2006 10:58 pm Post subject: |
|
|
How did you manage to plug 3 drives into a 2 port sata controller?
May I assume you are using another controller for the 3rd drive? A Sil3112 (Silicon Image) maybe? Your Seagate drive came with a buggy firmware which caused data corruption when used together with certain silicon image controllers and was thus added to a blacklist (since kernel 2.6.9). As a result writing performance suffers badly (< 15MB sec.) while reading shouldn't be affected at all (at least on a recent kernel >=2.6.13).
I suggest you check dmesg and grep for something like "seagate errata fix" or "quirk_mod15write" |
|
Back to top |
|
|
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Mon May 08, 2006 5:55 am Post subject: |
|
|
yeah that's right. i've got 2 drives on my onboard via controller and 1 drive is connected to the onboard Promise controller. i was relativly sure, that my promise controller was to blame for the slowdown and now you tell me that's the drive? damn. i'm not even sure which drive is connected to which controller any more, i guess i would have found out, if i'd remove one from the lvm and realized, that it wouldn't matter which drive was connected to which controller. well good to know, that it might be my hdd. thx.
so you say my hdd got a buggy firmware? how can i FIX that?
the other two drivers are connected to a:
Code: | 00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: ABIT Computer Corp. Unknown device 1415
Flags: bus master, medium devsel, latency 32, IRQ 177
I/O ports at e200 [size=8]
I/O ports at e300 [size=4]
I/O ports at e400 [size=8]
I/O ports at e500 [size=4]
I/O ports at e600 [size=16]
I/O ports at d400 [size=256]
Capabilities: [c0] Power Management version 2
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: ABIT Computer Corp. Unknown device 1415
Flags: bus master, medium devsel, latency 32, IRQ 177
I/O ports at e800 [size=16]
Capabilities: [c0] Power Management version 2
|
and this is my promise controller:
Code: | 00:0c.0 Mass storage controller: Promise Technology, Inc. PDC20375 (SATA150 TX2plus) (rev 02)
Subsystem: Promise Technology, Inc. PDC20375 (SATA150 TX2plus)
Flags: bus master, 66MHz, medium devsel, latency 96, IRQ 177
I/O ports at ed00 [size=64]
I/O ports at ee00 [size=16]
I/O ports at e000 [size=128]
Memory at fb047000 (32-bit, non-prefetchable) [size=4K]
Memory at fb000000 (32-bit, non-prefetchable) [size=128K]
[virtual] Expansion ROM at 40020000 [disabled] [size=16K]
Capabilities: [60] Power Management version 2
|
well dmesg doesn't really say anything about a seagate errat fix or any quirk_mod15write or anything else for that matter. dmesg does say this:
Code: | PCI-DMA: Disabling IOMMU.
PCI: Bridge: 0000:00:01.0
IO window: disabled.
MEM window: f8000000-faffffff
PREFETCH window: e0000000-efffffff
...
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:0f.1
ACPI: PCI Interrupt Link [ALKA] enabled at IRQ 20
GSI 17 sharing vector 0xB1 and IRQ 17
ACPI: PCI Interrupt 0000:00:0f.1[A] -> Link [ALKA] -> GSI 20 (level, low) -> IRQ 177
PCI: Via IRQ fixup for 0000:00:0f.1, from 255 to 1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1
ide0: BM-DMA at 0xe800-0xe807, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xe808-0xe80f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: TSSTcorpDVD-ROM TS-H352A, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
hda: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
libata version 1.20 loaded.
sata_via 0000:00:0f.0: version 1.1
ACPI: PCI Interrupt 0000:00:0f.0[B] -> Link [ALKA] -> GSI 20 (level, low) -> IRQ 177
PCI: Via IRQ fixup for 0000:00:0f.0, from 11 to 1
sata_via 0000:00:0f.0: routed to hard irq line 1
ata1: SATA max UDMA/133 cmd 0xE200 ctl 0xE302 bmdma 0xE600 irq 177
ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE502 bmdma 0xE608 irq 177
ata1: SATA link up 1.5 Gbps (SStatus 113)
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:407f
ata1: dev 0 ATA-6, max UDMA/133, 312581808 sectors: LBA48
ata1: dev 0 configured for UDMA/133
scsi0 : sata_via
ata2: SATA link up 1.5 Gbps (SStatus 113)
ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 87:4063 88:407f
ata2: dev 0 ATA-7, max UDMA/133, 398297088 sectors: LBA48
ata2: dev 0 configured for UDMA/133
scsi1 : sata_via
Vendor: ATA Model: ST3160023AS Rev: 3.18
Type: Direct-Access ANSI SCSI revision: 05
Vendor: ATA Model: Maxtor 6B200M0 Rev: BANC
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 sda4
sd 0:0:0:0: Attached scsi disk sda
SCSI device sdb: 398297088 512-byte hdwr sectors (203928 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
SCSI device sdb: 398297088 512-byte hdwr sectors (203928 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
sdb: sdb1 sdb2 < sdb5 sdb6 >
sd 1:0:0:0: Attached scsi disk sdb
GSI 18 sharing vector 0xB9 and IRQ 18
ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 185
PCI: Via IRQ fixup for 0000:00:10.4, from 10 to 9
...
sata_promise 0000:00:0c.0: version 1.03
ACPI: PCI Interrupt 0000:00:0c.0[A] -> GSI 20 (level, low) -> IRQ 177
sata_promise PATA port found
ata3: SATA max PIO4 cmd 0xFFFFC2000004E200 ctl 0xFFFFC2000004E238 bmdma 0x0 irq 177
ata4: SATA max PIO4 cmd 0xFFFFC2000004E280 ctl 0xFFFFC2000004E2B8 bmdma 0x0 irq 177
ata5: PATA max PIO4 cmd 0xFFFFC2000004E300 ctl 0xFFFFC2000004E338 bmdma 0x0 irq 177
ata3: SATA link up 1.5 Gbps (SStatus 113)
ata3: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:407f
ata3: dev 0 ATA-6, max UDMA/133, 390721968 sectors: LBA48
ata3: dev 0 configured for PIO4
scsi2 : sata_promise
nvidia: module license 'NVIDIA' taints kernel.
ata4: SATA link down (SStatus 0)
scsi3 : sata_promise
ATA: abnormal status 0x8 on port 0xFFFFC2000004E31C
ata5: disabling port
scsi4 : sata_promise
Vendor: ATA Model: ST3200822AS Rev: 3.01
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sdc: 390721968 512-byte hdwr sectors (200050 MB)
sdc: Write Protect is off
sdc: Mode Sense: 00 3a 00 00
SCSI device sdc: drive cache: write back
SCSI device sdc: 390721968 512-byte hdwr sectors (200050 MB)
sdc: Write Protect is off
sdc: Mode Sense: 00 3a 00 00
SCSI device sdc: drive cache: write back
sdc: sdc1
sd 2:0:0:0: Attached scsi disk sdc
GSI 20 sharing vector 0xC9 and IRQ 20
ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 19 (level, low) -> IRQ 201
... |
thx for you help. _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4 |
|
Back to top |
|
|
simeli Apprentice
Joined: 15 Jun 2005 Posts: 193 Location: Switzerland, Zurich
|
Posted: Mon May 08, 2006 9:51 am Post subject: |
|
|
DMA is always enabled on sata disks. You don't have to do that manually. _________________ Pentium M 740 on MSI 915GM SPEEDSTER-FA4, 2x512MB Corsair XMS2 DDR2 667 Memory, Zalman CNPS7000B AlCu, Samsung SpinPoint P120 250GB SATAII, Hauppauge WinTV PVR-500, Enermaxx Liberty 400, Antec P180
Husaberg FS650e Force Edition [http://www.husaberg.se] |
|
Back to top |
|
|
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Mon May 08, 2006 10:04 am Post subject: |
|
|
I.C.Wiener wrote: | How did you manage to plug 3 drives into a 2 port sata controller?
May I assume you are using another controller for the 3rd drive? A Sil3112 (Silicon Image) maybe? Your Seagate drive came with a buggy firmware which caused data corruption when used together with certain silicon image controllers and was thus added to a blacklist (since kernel 2.6.9). As a result writing performance suffers badly (< 15MB sec.) while reading shouldn't be affected at all (at least on a recent kernel >=2.6.13).
I suggest you check dmesg and grep for something like "seagate errata fix" or "quirk_mod15write" |
as i said, dmesg does not report anything like that, BUT both of my sata disk are on the sli_blacklist. so...
another strange thing is, that even though both discs are on the blacklist, only one shows the slowdown. _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4 |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Mon May 08, 2006 11:08 am Post subject: |
|
|
1. First make sure it is the drive, not the controller. So if the slow one is now connected to the onboard controller, connect it to external and vice versa.
2. I believe "dmesg" doesn't show messages from modules. Do you have your SATA stuff built into the kernel or as modules? If modules, you have to search the errors elsewhere (I don't know where) or you could built them into kernel to see the messages with dmesg. In both ways you should see the messages during boot. |
|
Back to top |
|
|
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Mon May 08, 2006 11:17 am Post subject: |
|
|
it's the controller.
i have to load the controller as a module, otherwise it will be first loaded up before the via controller and i can't boot any more. _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4 |
|
Back to top |
|
|
I.C.Wiener Tux's lil' helper
Joined: 25 Jul 2004 Posts: 115 Location: Furtwangen (Germany)
|
Posted: Mon May 08, 2006 11:51 am Post subject: |
|
|
Ok, seems this hasn't anything to do with the blacklist. This should only affect sil-controllers.
Have you already tried another pci-slot for the promise controller? Might be just an irq-conflict or something.
I have the very same seagte hdd with even the same firmware revision and it works great with a promise SataII TX4 but it had severe problems with my onboard sil3112. |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Mon May 08, 2006 11:56 am Post subject: |
|
|
eNTi wrote: | i have to load the controller as a module, otherwise it will be first loaded up before the via controller and i can't boot any more. |
Really, why does the load order matter if they are both built in? Just curious. |
|
Back to top |
|
|
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Mon May 08, 2006 12:10 pm Post subject: |
|
|
the promise controller is not built in. it's a pci card. _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4 |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Mon May 08, 2006 12:12 pm Post subject: |
|
|
eNTi wrote: | the promise controller is not built in. it's a pci card. |
No, I meant driver built into kernel as opposed being a module So in that regard: why does the order matter? Do they get mapped to wrong place in /dev?
The reason I'm asking is that then you could see the possible error messages and also possibly solve this problem.
Last edited by Paapaa on Mon May 08, 2006 12:32 pm; edited 1 time in total |
|
Back to top |
|
|
eNTi Veteran
Joined: 20 Oct 2002 Posts: 1011 Location: Salzburg, Austria
|
Posted: Mon May 08, 2006 12:14 pm Post subject: |
|
|
I.C.Wiener wrote: | Ok, seems this hasn't anything to do with the blacklist. This should only affect sil-controllers.
Have you already tried another pci-slot for the promise controller? Might be just an irq-conflict or something.
I have the very same seagte hdd with even the same firmware revision and it works great with a promise SataII TX4 but it had severe problems with my onboard sil3112. |
as a matter of fact, i've changed from the pci-slot before my sound card to the one after my soundcard (which is the last one). maybe i should try to reserve an irq in the bios. any idea what irq is used, or how i find that out? _________________ If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-- John Sheridan - Babylon 5, Season 4 |
|
Back to top |
|
|
I.C.Wiener Tux's lil' helper
Joined: 25 Jul 2004 Posts: 115 Location: Furtwangen (Germany)
|
Posted: Mon May 08, 2006 6:16 pm Post subject: |
|
|
This will give you a list which irq is used by what device(s):
Code: |
cat /proc/interrupts
|
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|