Can't Enable DMA
I'm running kernel 2.6.19.1(Reiserfs) on Slackware 11. On every boot-up I get a message saying that DMA is turned off which might slow down the fsck process. I tried to enable it, but:
Code:
root@alkos333:~# hdparm -d1 /dev/hda lspci: Code:
root@alkos333:~# lspci Code:
root@alkos333:~# hdparm /dev/hda Code:
root@alkos333:~# hdparm -i /dev/hda Code:
root@alkos333:~# hdparm -tT /dev/hda lsmod output: http://alkos333.net/lsmod kernel .config: http://alkos333.net/kernel-config I read in this threadthat it could be that I'm not able to load dma because of not using initrd with Reiserfs. I currently have reiserfs compiled into the kernel and things work, except the dma. I tried compiling it as a module, ran mkinitrd -c -k 2.6.19.1 -m reiserfs, but then I get a kernel panic error. I'm not clear on this whole reiserfs issue, but maybe it has nothing to do with this at all. Update: People told me that filesystem has absolutely nothing to do with this issue. Some suggested that it was a bad hard drive and SATA didn't support DMA. Well I booted windows on the same computer, and installed HD tune. It showed that not only was my buffered read speed 47.6 or in upper 30s on average, but my sata hd supported UDMA mode5 and was currently running on it in windows. Here are the snap shots: http://alkos333.net/stat0.jpg http://alkos333.net/stat1.jpg As you can see, hdparm -i doesn't even show that my hd supports udma5 which is weird, so there is definitely something wrong with kernel config that I can't figure out. |
Check dmesg and look for lines like:
Quote:
Note: none of the solutions I've tried has worked but I haven't yet recompiled and enabled the tmpfs as it's a PITA to reconfigure my NVIDIA geForce2 GTS card each time. |
I tried searching for the things you mentioned, but didn't find anything. As far as initrd and tmpfs. What's tmpfs? I have reiserfs compiled into the kernel. I tried compiling it as a module and running initrd, but get a kernel panic ( I followed README.initrd in /boot directory). Could you please be more specific as to what tmpfs is and what I should do for intird besides what I've done already?
|
Did you compile your Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02) into the kernel or as a module? I havce read that it needs to be compiled into the kernel.
|
Take a gander at this, http://thomer.com/howtos/dma_on_sata_dvd.html , it may have your answer.
Good Luck! EDIT: I had the same problem as you did, that's how I found your post. I just recompiled my kernel with the appropriate ATA and DMA Engines and what a difference!! /dev/hda: setting using_dma to 1 (on) using_dma = 1 (on) root@JARHEAD:/home/sqdnguns# hdparm /dev/hda /dev/hda: multcount = 0 (off) IO_support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/16/63, sectors = 78140160, start = 0 root@JARHEAD:/home/sqdnguns# hdparm -i /dev/hda /dev/hda: Model=TOSHIBA MK4026GAX, FwRev=PA102D, SerialNo=25HG1735T Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=48 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=off CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 AdvancedPM=yes: unknown setting WriteCache=enabled Drive conforms to: Unspecified: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 * signifies the current active mode root@JARHEAD:/home/sqdnguns# hdparm -tT /dev/hda /dev/hda: Timing cached reads: 2008 MB in 2.00 seconds = 1004.12 MB/sec Timing buffered disk reads: 102 MB in 3.00 seconds = 33.95 MB/sec Start recompiling my friend!! |
I tried setting my BIOS to AHCI (in which case XP can't load, but it's alright) and I have everything they are mentioning built-in, including PIIX. Yet, when it loads, I get a kernel panic error. I would appreciate if you could post your kernel here as well. Here is mine: http://alkos333.net/kernel-config If you need more info, there are pastes in the first post. Thank you so much for assisting me on this issue.
|
Quote:
Off to the "Land of Smiles"............................. |
Success!!!
I have finally resolved the problem. I pulled out my Slackware 11 installation CD and loaded huge26.s (2.6.17.13) and ran fdisk -l to see if it found my hd on /dev/sda and it did. I then ran hdparm -tT /dev/sda to see the buffer disk read speed and it was 50 mb/s instead of 1.73 which proved that it could be done. I modified /etc/fstab and /etc/lilo.conf to replace hda with sda. Then I ran lilo. After that I had to recompile my kernel to disable the CONFIG_IDE support because it interfered with the SCSI controller on boot-up. For ThinkPad T60, leave the SATA Mode on Compatibility, don't change to AHCI. Then I rebooted my system and everything worked! :)
|
All times are GMT -5. The time now is 09:34 AM. |