Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
DMA problem
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
SoulSe
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 134
Location: South Africa

PostPosted: Wed Jan 14, 2004 11:02 am    Post subject: DMA problem Reply with quote

I found quite a few threads with similar problems, but mine seems to be different. I have an ASUS A7V600 MoBo that I am using with an old Maxtor 40GB hdd, 5400rpm, ATA.

When I boot Gentoo, I get an error saying that the DMA on my disk is not enabled and that this could seriously retard the fsck process.

So the first thing I did was try to enable the DMA using hdparm, this informs me that I do not have permission.

Now, unlike the other posts that I have read, there does not seem to be anything missing from my kernel compilation.

My performance doesn't seem too bad, although this is a new system, so I have nothing to compare it to.

The ASUS MoBo has RAID as well.

Any ideas? :?
_________________
AMD AthlonXP 2500+
512MB RAM
Geforce FX5700
Back to top
View user's profile Send private message
SoulSe
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 134
Location: South Africa

PostPosted: Wed Jan 14, 2004 12:57 pm    Post subject: Reply with quote

Ok, hdparm -tT /dev/hda shows me a speed of around 4.8 MB/s - too slow IMO.

There must be a good reason why hdparm won't allow me to set DMA on
the drive? Can I add hdparm to my boot schedule with rc-update? Or is this the wrong way to do it?

I know I should do hdparm -d1 /dev/hda and then make it stick... but it won't do it...
_________________
AMD AthlonXP 2500+
512MB RAM
Geforce FX5700
Back to top
View user's profile Send private message
cartman|
n00b
n00b


Joined: 26 Dec 2003
Posts: 50
Location: southpark

PostPosted: Wed Jan 14, 2004 4:38 pm    Post subject: Reply with quote

I have the same problem. I upgraded from 2.4 to 2.6, but all the DMA specific options are turned on in the kernel config.
:((
Code:

bash-2.05b# hdparm -tT /dev/hda

/dev/hda:
 Timing buffer-cache reads:   1768 MB in  2.00 seconds = 882.81 MB/sec
 Timing buffered disk reads:   22 MB in  3.01 seconds =   7.31 MB/sec


I have no access to enable DMA

Code:

bash-2.05b# hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)


mine is a desktop computer
abit-nf7
and two udma5 / ata133 hard drives

I think it can be fixed somewhere in /etc , but I cant't remember where exactly
Back to top
View user's profile Send private message
cartman|
n00b
n00b


Joined: 26 Dec 2003
Posts: 50
Location: southpark

PostPosted: Wed Jan 14, 2004 5:38 pm    Post subject: Reply with quote

:)

I had to select my mainboard chipset in menuconfig, now everything is ok
Back to top
View user's profile Send private message
jmz2
Guru
Guru


Joined: 13 Jan 2004
Posts: 421
Location: Finland

PostPosted: Wed Jan 14, 2004 7:14 pm    Post subject: Reply with quote

SoulSe wrote:
Ok, hdparm -tT /dev/hda shows me a speed of around 4.8 MB/s - too slow IMO.


What kernel are you using? I lost DMA too when I tried the ac-series, but got it back when I switched to another kernel tree. The error message with the ac-series was similar to yours, so I think it's a kernel configuration issue.

Quote:
There must be a good reason why hdparm won't allow me to set DMA on
the drive? Can I add hdparm to my boot schedule with rc-update? Or is this the wrong way to do it?


Edit /etc/conf.d/hdparm and append
Code:
all_args="-d1 -c1"
to it. Then you can do rc-update add hdparm default.
Back to top
View user's profile Send private message
SoulSe
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 134
Location: South Africa

PostPosted: Wed Jan 14, 2004 7:48 pm    Post subject: Reply with quote

Thanks for the advice. I guess I'll compile myself a 2.6 kernel and see if that does it. I'm going to have to get as much info about this MoBo and it's chipsets as I can and make sure I do it right.

This might take a while (getting the source on dialup :? )

Will report back when done (one year, two? who knows... :P)
_________________
AMD AthlonXP 2500+
512MB RAM
Geforce FX5700
Back to top
View user's profile Send private message
langthang
Retired Dev
Retired Dev


Joined: 27 Nov 2003
Posts: 620

PostPosted: Thu Jan 15, 2004 12:03 am    Post subject: Reply with quote

jmz2 wrote:
Then you can do rc-update add hdparm default.


Someone please correct me if I am wrong but I don't think you need hdparm to turn on DMA.
Code:

local root # hdparm -i /dev/hdh

/dev/hdh:

 Model=WDC WD400BB-00AUA1, FwRev=18.20D18, SerialNo=XX-XXXXXXXXXX
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
 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
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: device does not report version:

 * signifies the current active mode

mine without add hdparm to default runlevel . ATA-100 harddrive. Promise controller.
Code:

local root # hdparm -tT /dev/hdh

/dev/hdh:
 Timing buffer-cache reads:   1452 MB in  2.00 seconds = 725.02 MB/sec
 Timing buffered disk reads:   80 MB in  3.06 seconds =  26.14 MB/sec
Back to top
View user's profile Send private message
jmz2
Guru
Guru


Joined: 13 Jan 2004
Posts: 421
Location: Finland

PostPosted: Thu Jan 15, 2004 7:46 am    Post subject: Reply with quote

langthang wrote:
jmz2 wrote:
Then you can do rc-update add hdparm default.


Someone please correct me if I am wrong but I don't think you need hdparm to turn on DMA.
Code:

local root # hdparm -i /dev/hdh

/dev/hdh:

 Model=WDC WD400BB-00AUA1, FwRev=18.20D18, SerialNo=XX-XXXXXXXXXX
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
 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
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: device does not report version:

 * signifies the current active mode


This doesn't actually tell if you have DMA enabled or not. hdparm -i lists the U/DMA capabilities of your hard disk regardless of the DMA settings. To find out if you have DMA enabled for the hdh, type:
Code:
hdparm -d /dev/hdh


Your promise controller may operate only when DMA is enabled, and thus enable it automatically. This is not the case with all integrated HD controllers.
Back to top
View user's profile Send private message
SoulSe
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2003
Posts: 134
Location: South Africa

PostPosted: Thu Jan 15, 2004 7:47 am    Post subject: Reply with quote

langthang wrote:
Someone please correct me if I am wrong but I don't think you need hdparm to turn on DMA.

You are right, the way I understand it, DMA should be enabled from the word go, hdparm is a tool which can be used to enable it (and other drive features) should there be some problem with it starting.

Has anybody compiled a kernel for an ASUS A7V600 like mine? I'd appreciate it if someone could give me some tips on which modules will get it going? I think I'll start a thread for the MoBo...
_________________
AMD AthlonXP 2500+
512MB RAM
Geforce FX5700
Back to top
View user's profile Send private message
langthang
Retired Dev
Retired Dev


Joined: 27 Nov 2003
Posts: 620

PostPosted: Thu Jan 15, 2004 5:05 pm    Post subject: Reply with quote

SoulSe wrote:

Has anybody compiled a kernel for an ASUS A7V600 like mine?


No I don't but my motherboard has VIA chipset also. May be you can try to compile VIA82CXXX chipset support into the kernel (2.6.x)

My kernel config
Code:

 Device Drivers  ---> ATA/ATAPI/MFM/RLL support  --->
<*> ATA/ATAPI/MFM/RLL support
<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
[*]     PCI IDE chipset support
[*]       Sharing PCI IDE interrupts support
[*]       Generic PCI IDE Chipset Support
[*]       Generic PCI bus-master DMA support
[*]         Use PCI DMA by default when available
<*>         VIA82CXXX chipset support


Code:

    CONFIG_BLK_DEV_VIA82CXXX:                                               
 
   This driver adds explicit support for VIA BusMastering IDE chips.
   This allows the kernel to change PIO, DMA and UDMA speeds and to       
   configure the chip to optimum performance.


it would help if you post your `lspci`.
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