Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Promise SATA150 TX2+ or buggy seagate hdd -> no DMA?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Sun May 07, 2006 4:29 pm    Post subject: Promise SATA150 TX2+ or buggy seagate hdd -> no DMA? Reply with quote

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
View user's profile Send private message
I.C.Wiener
Tux's lil' helper
Tux's lil' helper


Joined: 25 Jul 2004
Posts: 115
Location: Furtwangen (Germany)

PostPosted: Sun May 07, 2006 10:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Mon May 08, 2006 5:55 am    Post subject: Reply with quote

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
View user's profile Send private message
simeli
Apprentice
Apprentice


Joined: 15 Jun 2005
Posts: 193
Location: Switzerland, Zurich

PostPosted: Mon May 08, 2006 9:51 am    Post subject: Reply with quote

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
View user's profile Send private message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Mon May 08, 2006 10:04 am    Post subject: Reply with quote

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
View user's profile Send private message
Paapaa
l33t
l33t


Joined: 14 Aug 2005
Posts: 955
Location: Finland

PostPosted: Mon May 08, 2006 11:08 am    Post subject: Reply with quote

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
View user's profile Send private message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Mon May 08, 2006 11:17 am    Post subject: Reply with quote

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
View user's profile Send private message
I.C.Wiener
Tux's lil' helper
Tux's lil' helper


Joined: 25 Jul 2004
Posts: 115
Location: Furtwangen (Germany)

PostPosted: Mon May 08, 2006 11:51 am    Post subject: Reply with quote

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
View user's profile Send private message
Paapaa
l33t
l33t


Joined: 14 Aug 2005
Posts: 955
Location: Finland

PostPosted: Mon May 08, 2006 11:56 am    Post subject: Reply with quote

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
View user's profile Send private message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Mon May 08, 2006 12:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
Paapaa
l33t
l33t


Joined: 14 Aug 2005
Posts: 955
Location: Finland

PostPosted: Mon May 08, 2006 12:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
eNTi
Veteran
Veteran


Joined: 20 Oct 2002
Posts: 1011
Location: Salzburg, Austria

PostPosted: Mon May 08, 2006 12:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
I.C.Wiener
Tux's lil' helper
Tux's lil' helper


Joined: 25 Jul 2004
Posts: 115
Location: Furtwangen (Germany)

PostPosted: Mon May 08, 2006 6:16 pm    Post subject: Reply with quote

This will give you a list which irq is used by what device(s):
Code:

cat /proc/interrupts
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
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