Solved

slow performance with sata (via) pci card, and WD drives - ubuntu 10.04 server.

Posted on 2010-09-02
8
1,213 Views
Last Modified: 2012-08-13
hi experts!

I have an old DELL 1600sc, to which I attached two sata pci card, to plug 4x 1TB WD disk on.
the drives are mounted, but it's extremely slow when transferring (4-5mo /sec ).
I went to syslog, and saw this error alot:
"Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.233761] ata6: SError: { UnrecovData Proto TrStaTrns }
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.246098] ata6.00: failed command: READ DMA EXT
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.258345] ata6.00: cmd 25/00:00:0f:04:de/00:01:28:00:00/e0 tag 0 dma 131072 in
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.258347]          res 51/84:af:0f:04:de/84:00:28:00:00/e0 Emask 0x12 (ATA bus error)
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.306902] ata6.00: status: { DRDY ERR }
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.319295] ata6.00: error: { ICRC ABRT }
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.331345] ata6: hard resetting link
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.648049] ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.665252] ata6.00: configured for UDMA/33
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.665265] ata6: EH complete
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.689224] ata6.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
Sep  2 18:45:37 ubuntu-srv1 kernel: [ 5841.702695] ata6.00: BMDMA stat 0x5
"

Open in new window


I did some reading, and it appear to be caused by the drivers of the pci cards.
but it's slow only on 3 of the 4 drivers,
after carefully checking, the faster hdd is not from the same serie.

so I'm assuming it's a "compatibility" issue between the hdd, and the cards (or the driver)
 
I saw a possible fix here http://www.spinics.net/lists/linux-ide/msg37898.html
or here
but I have no idea how to apply a patch .. or to upgrade my kernel for that matter.

thanks in advance :)


edit:  RAID bus controller: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50)
0
Comment
Question by:mistoiic
  • 5
  • 3
8 Comments
 
LVL 5

Expert Comment

by:zzx999
ID: 33590484
You may need to recompile your driver for controller.
Basics: http://www.aboutdebian.com/compile.htm

Get your kernel headers:
Make sure you have updated version
$ sudo apt-get update
Search for kernel version (optional)
$ apt-cache search linux-headers-$(uname -r)
Install linux-header package
$ sudo apt-get install linux-headers-$(uname -r)

get  drivers source.
It's in kernel drivers/ata/sata_via.c

apply path from your link:
http://www.linuxforums.org/articles/using-diff-and-patch_80.html


Compile module.  

insert it to your kernel:
$modprobe  sata_via

Should work.
0
 

Author Comment

by:mistoiic
ID: 33590872
hi, thanks for the reply,

I check into /usr/src/linux-headers-2.6.32-24-generic-pae/drivers/ata
but it contain only 2 files:  Kconfig  Makefile

when I edit Makefile, I can see "obj-$(CONFIG_SATA_VIA)          += sata_via.o"

but no sata_via.c whatsoever
0
 

Author Comment

by:mistoiic
ID: 33590885
(I forgot to check your first link, I will right away)
0
 
LVL 5

Accepted Solution

by:
zzx999 earned 500 total points
ID: 33591159
You may need to gel full kernel sources.
And in some cases (if you wont find your curent kernel sources) get newer kernel and fully recompile it.
small how to:
http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
 and check www.kernel.org.
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

by:mistoiic
ID: 33591765
I found the source code there http://lxr.free-electrons.com/source/drivers/ata/sata_via.c
is there a way I can use that ? before I start breaking my kernel :p
0
 
LVL 5

Expert Comment

by:zzx999
ID: 33591847
well, you may try. Get it. Also it may need all dependencies
#include <linux/kernel.h>
 37 #include <linux/module.h>
 38 #include <linux/pci.h>
 39 #include <linux/init.h>
 40 #include <linux/blkdev.h>
 41 #include <linux/delay.h>
 42 #include <linux/device.h>
 43 #include <scsi/scsi.h>
 44 #include <scsi/scsi_cmnd.h>
 45 #include <scsi/scsi_host.h>
 46 #include <linux/libata.h>

you will need to copy it to /<your linux kernel dir>/drivers/scsi/sata_via.c

If it fails - get kernel source and compile just that module. Without breaking your kernel ;)
0
 

Author Closing Comment

by:mistoiic
ID: 33594273
I installed kernel 2.5.35, which completely solved the problem.
0
 

Author Comment

by:mistoiic
ID: 33594280
linux-image-2.6.35-02063504-generic_2.6.35-02063504.201008271919_i386, to be exact.
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

System overheating may become a serious problem if not taken care of at the proper time. I am writing this article because I faced a similar problem. Intro All electronic devices produce heat, but computers are a special case - the processors bo…
Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now