Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2010-09-02
8
1,224 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
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
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
 

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

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Why VNC doesn't work in Redhat? 11 72
How to install Ubuntu 16 in DELL venue 8 pro 20 291
AWS ELB 5 95
PHP website on Linux - server DNS address could not be found. 18 48
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Fine Tune your automatic Updates for Ubuntu / Debian
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

860 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