LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-13-2006, 02:06 AM   #1
b0nd
Senior Member
 
Registered: Jan 2005
Distribution: Slackware, BackTrack, Windows XP
Posts: 1,020

Rep: Reputation: 45
Enabling DMA in 10.2 default kernel


Hello all,
few days back i found DMA issue in my 10.0. As i had to upgrade to 10.2, so without finding the solution for that i installed 10.2.
But still facing the DMA error reports during boot up.

Quote:
root@bond:/boot# hdparm -i /dev/hda

/dev/hda:

Model=ST340014A, FwRev=8.01, SerialNo=4MW09917
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=17475/15/63, CurSects=16513875, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,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
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode
Quote:
root@bond:/boot# hdparm -d1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)
Quote:
root@bond:/boot# hdparm -i /dev/hda

/dev/hda:

Model=ST340014A, FwRev=8.01, SerialNo=4MW09917
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=17475/15/63, CurSects=16513875, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,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
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode
Still * is pointing no where....???

Quote:
root@bond:/boot# /sbin/lspci | grep -i ide
00:1f.1 IDE interface: Intel Corporation 82801AA IDE (rev 02)
Quote:
root@bond:/boot# cat config | grep DMA
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA100=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_SCSI_EATA_DMA=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
CONFIG_DMASCC=m
CONFIG_SOUND_ALI5455_CODECSPDIFOUT_CODECINDEPENDENTDMA=y
CONFIG_SOUND_ALI5455_CONTROLLERSPDIFOUT_CONTROLLERINDEPENDENTDMA=y
# CONFIG_SOUND_DMAP is not set
i haven't compiled the kernel. Its the default one 2.4.31.

What shoud i do now ??? Actually the picture is still not clear to me that whats going on.

regards
 
Old 08-13-2006, 02:10 AM   #2
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware15.0 64-Bit Desktop, Debian 11 non-free Toshiba Satellite Notebook
Posts: 4,167

Rep: Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373Reputation: 1373
Thats a strange issue, usually you should not have to recompile your stock kernel for DMA, it should already be enabled by DEFAULT.

Edit

I just missed your attempt at enabling dma already, thats my own fault sorry....now I am racking my own brain as to what could be the issue. Still, you should not have to recompile your kernel, it probably is something with your bios settings maybe?

Last edited by Jeebizz; 08-13-2006 at 02:13 AM.
 
Old 08-13-2006, 02:18 AM   #3
b0nd
Senior Member
 
Registered: Jan 2005
Distribution: Slackware, BackTrack, Windows XP
Posts: 1,020

Original Poster
Rep: Reputation: 45
Quote:
Originally Posted by Jeebizz
Thats a strange issue, usually you should not have to recompile your stock kernel for DMA, it should already be enabled by DEFAULT.

Edit

I just missed your attempt at enabling dma already, thats my own fault sorry....now I am racking my own brain as to what could be the issue. Still, you should not have to recompile your kernel, it probably is something with your bios settings maybe?
ya, it seems to be something with bios. B'coz my XP too is running slow.
I tried looking for DMA in bios but didn't find as i haven't faced such problem earlier.
Let me check it again.

regards
 
Old 08-13-2006, 02:41 AM   #4
b0nd
Senior Member
 
Registered: Jan 2005
Distribution: Slackware, BackTrack, Windows XP
Posts: 1,020

Original Poster
Rep: Reputation: 45
hi,
i just checked the BIOS settings. There i found the following:
DMA Channel 0
DMA Channel 1
DMA Channel 3
DMA Channel 5
DMA Channel 6
DMA Channel 7

And in front of each line "PnP" is written, which could be replaced with ISA/EISA.

Can anyone please explain what all these indicates and is here any problem ???

regards
 
Old 08-13-2006, 09:37 AM   #5
PingFloyd
Member
 
Registered: Jun 2006
Posts: 94

Rep: Reputation: 16
Those are different than having to do with your hard drives. What you're looking at is to with PnP. I'll explain what that is and why there are those settings. A bit of history first.

Way back before Plug and Play for the PC you used to have set what resources an expansion card used by setting jumpers on them. Those were the old days of legacy ISA cards.

Take for example Sound Blaster 16 sound cards. The usual configuration for them was to use a 220 Base Memory address, IRQ 5, high DMA 5 and low DMA 1. This was determined by the jumper settings on the SB16 card. They came by default with the above settings. Sometimes you would have to change those jumpers settings if you had another expansion card that required the any of those resources. Say you had another card that required IRQ 5. You would then set the SB16 to use IRQ7 by changing what jumpers you had set for setting it's IRQ, or you would change the other cards jumpers. The point was that you couldn't have two pieces of hardware using the same IRQ or there would be conflict if you tried to use them at the same time.

Later on in time through the course of the PC's development came the early Plug and Play cards that used the ISA bus. Then even later on came PCI cards (which are plug and play also). The reason you have those setting, that you're talking about, was so that you could reserve those resources to prevent a conflict in a case where you had a mixture of PnP and non-PnP cards. So for instance, say you had an old legacy non-PnP SB16 in your system along with a bunch of other PnP cards. You would reserve those settings (eg IRQ 5, Base 220, DMA 1, and DMA 5) in the BIOS where you are looking at. That way the BIOS know not to assign those to your PnP cards and possibly create a conflict.

Earlier BIOS didn't have those settings that you're talking about unfortunately. It wasn't uncommon to get migrains when it came you had a mixture of PnP and non-PnP cards in the same system back then and didn't have a BIOS with such handy settings. That's how it Plug Play adopted the nick name Plug and Pray. Because of the configuration hell you had to go through back then.

You're probably now wondering what a person did if they had the scenario where they had a mixture of PnP and non-PnP cards but had a BIOS that didn't have setting to reserves resources. That's where ICU/ICM came in. Stands for Intel Configuration Utility/Intel Configuration Manager (or was it's ISA configuration. I could swear mine was name the former back then). That a was a nice little program that used was very terse and confusing and very poorly documented. Basically you would load it up and create hardware profiles to store setting for reserving the configuration resources. Then after you saved it, it would keep the settings in file that would be read at boot time as an extension to the BIOS.

I believe with Linux that isapnptools is to do the equivilent of what ICU/ICM used to be used for. Except, I'm sure isapnptools is much more flexible and featureful.

Moral of the story is that if you're using strictly PnP cards only, or stickly non-PnP cards, you shouldn't need to worry about those settings. The setting "PnP" means that the BIOS can go ahead and allocate them to PnP cards. In otherwords you want them all PnP in most cases if all of your cards are PnP cards. Most systems don't have non-PnP cards. Non-PnP cards pretty much died off around 10 years ago.
 
Old 08-13-2006, 09:37 AM   #6
b0nd
Senior Member
 
Registered: Jan 2005
Distribution: Slackware, BackTrack, Windows XP
Posts: 1,020

Original Poster
Rep: Reputation: 45
any idea to get through it?

edit: sorry i posted it before checking the last post

Last edited by b0nd; 08-13-2006 at 09:40 AM.
 
Old 08-13-2006, 12:00 PM   #7
b0nd
Senior Member
 
Registered: Jan 2005
Distribution: Slackware, BackTrack, Windows XP
Posts: 1,020

Original Poster
Rep: Reputation: 45
Thanks PingFloyd for explaing the things and taking pain in writing so much.

Here is the content in /var/log/messages during last boot

Quote:
root@bond:~# cat /var/log/messages | grep DMA

Aug 13 22:21:50 bond kernel: ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda: DMA, hdb: DMA
Aug 13 22:21:50 bond kernel: ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc: pio, hdd: pio
Aug 13 22:21:50 bond kernel: hda: 78165360 sectors (40021 MB) w/2048KiB Cache, CHS=4865/255/63, UDMA(66)
Aug 13 22:21:50 bond kernel: hdb: ATAPI 52X CD-ROM drive, 128kB Cache, DMA
Aug 13 22:21:50 bond kernel: hdb: DMA disabled
root@bond:~#
regards

Last edited by b0nd; 08-13-2006 at 12:04 PM.
 
Old 08-13-2006, 03:39 PM   #8
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
One clue is here:

DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
. . .
* signifies the current active mode

Notice that none of the modes are active. On my systems the asterisk appears next to UDMA2:

DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
. . .
* signifies the current active mode

Here is the spec sheet for the drive you are using:

ST340014A

I use Seagate drives ST340016A and the instructions are similar. The instructions say:

Set CMOS hard drive setup to Auto-Detect with LBA mode enabled.

In my ASUS motherboards BIOS setup, I select Standard CMOS Setup and set the drive types to Auto.

In the BIOS I next select the Chipset Features Setup option. In that section I set the following to Auto:

IDE Ultra DMA Mode
IDE0 Master DMA/PIO Mode
IDE0 Slave DMA/PIO Mode
IDE1 Master DMA/PIO Mode
IDE1 Slave DMA/PIO Mode

In Slackware I do not set hdparm to configure the drive for DMA.

There is a utility for Windows NT4 called dmacheck.exe to ensure Windows is using DMA. As far as I know, you can use this utility in XP to verify the DMA status. Essentially the utility sets some registry settings. I am not familiar with XP as I am with NT4, so ask around if there are other XP built-in tools to configure DMA.

I hope this helps.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Enabling DMA in 2.6.9-1.667 kernel on a GA-8TRS350MT mobo with ATI RS350 chipset rylan76 Linux - Hardware 1 07-05-2005 04:49 AM
DMA works but not by default (despite "use DMA by default" kernel) mehlkelm Linux - Hardware 7 04-11-2005 03:29 PM
Enabling DMA DeadlyMuffin Slackware 4 07-19-2004 09:24 PM
problems enabling dma in kernel 2.6-test11 snoble Linux - Hardware 10 12-09-2003 01:20 PM
Enabling DMA bizzikid Linux - Newbie 4 08-06-2003 05:56 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 03:12 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration