Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
DMA just wont work.
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
pyrobob
n00b
n00b


Joined: 30 Jun 2003
Posts: 8
Location: Atlanta, GA

PostPosted: Mon Jun 30, 2003 10:11 pm    Post subject: DMA just wont work. Reply with quote

I cannot for the life of me to get DMA working on my new hard drive. here is my setup:

-an old P2-450MHz with 128 MB of ram and a small hard drive with my system on it on the onboard IDE controller.

-new Maxtor Ultra ATA/133 160GB harddrive (for my /home directory)
formatted with one ext3 partition that fills up the entire drive.
-new Maxtor Ultra ATA/133 PCI card (Says for windows only, but is a promise PDC20269 chipset so it should work fine)
-new Extreme IO AP-1680 ATA133 IDE RAID PCI controller (says works in linux, CMD680 chipset so it should work fine)
-new IDE cable marked for "ATA 133" (under 18 inches so that shouldnt be the problem)
-several old unmarked IDE cables

Support for both cards is compiled into the kernel
(v2.4.20-gentoo-r5 kernel)

[*] Generic PCI IDE chipset support
[*] Sharing PCI IDE interrupts support
[*] Generic PCI bus-master DMA support

[*] CMD64X and CMD680 chipset support
[*] CMD680 chipset tuning support

[*] Promise PDC202{46|62|65|67:69:70} support

I have tried to use:
[*] Use PCI DMA by default when avaliable
however, booth hangs at "Checking partitions" for the new drive (it handles the old drive with the onboard IDE controller fine in this partition check) and the only way I can get it to boot up is with the kernel paramater "ide=nodma"

using hdparm, I can turn on DMA for hda(my old drive) fine and everything works, however with the new drive:
-when not mounted, when i enable DMA for the drive when it is plugged into either card, it will then not mount
-when mounted, when i enable DMA for the drive when it is plugged into either card, it will work for a minute or so but when i try to do "ls" in a large directory, run fsck, or use "hdparm -tT /dev/hd.." it will lock up and not respond to ^C or let me kill the process.

at various times my dmesg gets filled with "invalidate: busy buffer"

as long as DMA is off, everything works properly but transfer speed for the new hard drive is around 90MB/s for buffer-cache reads of 128 MB and for buffered disk reads is around 2 MB/S for 64 MB. This is a little slow for an 7200 Ultra133 Hard drive on either Ultra133 controller card.

no combination of the new drive, the controllers, and the cables seems to work. any help would be greatly appreciated. thanks!
Back to top
View user's profile Send private message
pyrobob
n00b
n00b


Joined: 30 Jun 2003
Posts: 8
Location: Atlanta, GA

PostPosted: Mon Jun 30, 2003 10:49 pm    Post subject: Reply with quote

well, I am new to this hdparm thing. Looking through the man page for it i found out about the -X option.

here is the info for my drive:

/dev/hdi:

Model=Maxtor 6Y160P0, FwRev=YAR41BW0, SerialNo=Y41KJVZE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,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=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null): 1 2 3 4 5 6 7

i still dont know what to do but this may help someone out there figure out how to help me. thanks.
Back to top
View user's profile Send private message
Petyr
Guru
Guru


Joined: 08 Jan 2003
Posts: 471
Location: San Diego, CA, USA

PostPosted: Tue Jul 01, 2003 7:15 am    Post subject: Reply with quote

Also you might want to check around in your BIOS. Especially the BIOS's for those cards
There might be a setting in there that's mucking with stuff.
Failing that if you've tried a lot of possible software fixes (and it sounds like that's the case) you might want to try removing one or the other IDE card. It's a long shot, but one of them might be conflicting with the other in some arcane way *shrug*

Petyr Rahl
Back to top
View user's profile Send private message
pyrobob
n00b
n00b


Joined: 30 Jun 2003
Posts: 8
Location: Atlanta, GA

PostPosted: Tue Jul 01, 2003 2:45 pm    Post subject: Some more info... Reply with quote

So I booted up off of the 1.4_rc4 cd and it was able to enable DMA on the drive. The performance is still awful, but DMA is on. So I looked at lsmod and dmesg after booting up the cd and figured out what modules it was loading and compiled all of those (for raid, lvm, evms) into my kernel. Now the kernel boots fine but the system will hang right after starting metalog or apache (seems to randomly pick on). sshd does not get started and I dont know how to see what is going on with my system at that point.

So, I am back to using the "ide=nodma" kernel paramater and I am back where I started. (works fine and slow with no dma).

I tried to figure out how to get into the bios for the two cards but could not figure out how to get into either one of them.

I got everything booted up with no dma and tried:
Code:
hdparm -X udma6 -d1 /dev/hdi

which worked, and i could cd around a bit and then list the contents of a large directory, but shortly after that the system froze and I could not ssh in or switch to another virtual console.

I am off to try other kernel sources besides the gentoo one...
Back to top
View user's profile Send private message
paranode
l33t
l33t


Joined: 06 Mar 2003
Posts: 679
Location: Texas

PostPosted: Tue Jul 01, 2003 3:37 pm    Post subject: Reply with quote

Yeah you might try ac-sources or gs-sources. Usually they have better exotic hardware support.
_________________
Meh.
Back to top
View user's profile Send private message
pyrobob
n00b
n00b


Joined: 30 Jun 2003
Posts: 8
Location: Atlanta, GA

PostPosted: Tue Jul 01, 2003 3:47 pm    Post subject: kernel-sources Reply with quote

I tried the 1.4_rc4 CD which seemed to work, however, using xfs-sources and my own compile, it still hangs after apache/metalog with DMA, then with ide=nodma, will boot fine. I am going to try gc-sources and then ac-sources, but if xfs works on the cd (for the most part) I am thinking that something else is wrong. Ill check back once the kernel has recompiled a few more times.
Back to top
View user's profile Send private message
pyrobob
n00b
n00b


Joined: 30 Jun 2003
Posts: 8
Location: Atlanta, GA

PostPosted: Tue Jul 01, 2003 4:25 pm    Post subject: another try Reply with quote

I looked in this thread and found the following:
Code:
hdparm -d1 -A1 -m16 -u1 -a64 /dev/hd_
this seemed to work, but when i remounted the drive, the whole system froze (ironically i was compiling gs-sources with this and it stopped on "dma.c"

Does DMA need to be enabled at boot to be able to use hdparm this way? do i need to do
Code:
hdparm -X umda6 -d1 -A1 -m16 -u1 -a64 /dev/hd_
instead?
Back to top
View user's profile Send private message
ckdake
l33t
l33t


Joined: 10 Apr 2003
Posts: 889
Location: Atlanta, GA

PostPosted: Thu Jul 10, 2003 12:48 am    Post subject: solution.. sorta Reply with quote

(different screen name, same me)

So now i have DMA off in the kernel by default
i pass ide3=dma to my kernel from grub

then i have
Code:
disc1_args="-c3 -d1 -m16 -X70"

in /etc/conf.d/hdparm and hdparm on runlevel default.

None of that worked and I upgraded to mm-sources-2.5.74 and set up my kernel with all of the same options and everything just kinda worked.

now:
Code:

#hdparm -tT /dev/hdi

/dev/hdi:
 Timing buffer-cache reads:      128 MB in  1.15 seconds = 111.61 MB/sec
 Timing buffered disk reads:     64 MB in   1.54 seconds = 41.59 MB/sec


which is much better than the 2.something MB/sec values I was getting originally. The speed of my file server and my web server is much much faster, thanks for everyones input.
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