Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 15
Hi I have really bad time with hard drives this spring. Now I have a brand new 80GB Seagate SATA disk but I cant switch the DMA on. I am ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2006
    Posts
    51

    A DMA problem with SATA hard drive


    Hi
    I have really bad time with hard drives this spring. Now I have a brand new 80GB Seagate SATA disk but I cant switch the DMA on. I am worried about that because the disk is vary slow - allways thinking and the system is not working smoothly. I have a P4/3Ghz with Gigabyte 915 motherboard and 512Mb RAM and the computer is slow. for example it takes more then 25 minutes to check a 9GB partition with 'badblocks' while on a AMD/1,7Ghz it takes 3minutes!! I read I have to compile a kernel to turn the DMA on but it is vary complex and difficult for me. Is there any other way to solve the problem?
    Thanks

  2. #2
    Linux Guru antidrugue's Avatar
    Join Date
    Oct 2005
    Location
    Montreal, Canada
    Posts
    3,211
    What is the kernel you are using?
    Code:
    uname -a
    What is the output of
    Code:
    hdparm /dev/sda
    or whichever is your drive letter...

    If you properly configured the drive as SATA, you don't even need to worry about DMA.
    "To express yourself in freedom, you must die to everything of yesterday. From the 'old', you derive security; from the 'new', you gain the flow."

    -Bruce Lee

  3. #3
    Just Joined!
    Join Date
    Feb 2006
    Posts
    51
    uname -a
    Linux anelia 2.4.31 #6 Sun Jun 5 19:04:47 PDT 2005 i686 unknown unknown GNU/Linux

    hdparm /dev/sda
    /dev/sda: No such device or address -
    I know that is strange but my disk is hda instead of sda. A friend told me motherboard is "emulating" something so the drive is hda. I am sure I have a SATA disk because I pluged it myself

  4. #4
    Linux Guru antidrugue's Avatar
    Join Date
    Oct 2005
    Location
    Montreal, Canada
    Posts
    3,211
    Quote Originally Posted by Igi_BG
    uname -a
    Linux anelia 2.4.31 #6 Sun Jun 5 19:04:47 PDT 2005 i686 unknown unknown GNU/Linux
    2.4 kernels in general are somewhat less SATA friendly.

    Quote Originally Posted by Igi_BG
    hdparm /dev/sda
    /dev/sda: No such device or address -
    I know that is strange but my disk is hda instead of sda. A friend told me motherboard is "emulating" something so the drive is hda.
    Yes, that is possible, you may want to take a look in the BIOS and see how your SATA controller is set : either "Legacy Mode" or "Enhanced Mode" (or something similar).

    So if your hard drive isn't recognized as /dev/sda, then try
    Code:
    fdisk -l
    To make sure which drive letter it is. It's probably /dev/hda, so then try
    Code:
    hdparm /dev/hda
    Then, please post the output of
    Code:
    lspci | grep -i ide
    and of
    Code:
    lspci | grep -i sata
    "To express yourself in freedom, you must die to everything of yesterday. From the 'old', you derive security; from the 'new', you gain the flow."

    -Bruce Lee

  5. #5
    Just Joined!
    Join Date
    Feb 2006
    Posts
    51
    root@anelia:~# hdparm /dev/hda

    /dev/hda:
    multcount = 16 (on)
    IO_support = 0 (default 16-bit)
    unmaskirq = 0 (off)
    using_dma = 0 (off)
    keepsettings = 0 (off)
    readonly = 0 (off)
    readahead = 8 (on)
    geometry = 9728/255/63, sectors = 156295279, start = 0

    lspci | grep -i ide
    00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)

    lspci | grep -i sata
    00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)

    I dont know if this helps there is a message before the lilo's screen :
    Master drive SMART capability disabled.

    I looked in the BIOS but found nothing about this. Do you have any idea?
    Thanks for the help

  6. #6
    Linux Guru antidrugue's Avatar
    Join Date
    Oct 2005
    Location
    Montreal, Canada
    Posts
    3,211
    Quote Originally Posted by Igi_BG
    00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)
    The module typically associated with this controller is called "ata_piix". I don't think it is present in 2.4 kernels though.

    You can try to enable DMA manualy and see if it works (which I don't think it will on a SATA drive) :
    Code:
    hdparm -d1 /dev/hda
    Upgrading to a 2.6 kernel would be a good idea.

    More info here :
    http://mandrivausers.org/lofiversion...hp?t29534.html
    "To express yourself in freedom, you must die to everything of yesterday. From the 'old', you derive security; from the 'new', you gain the flow."

    -Bruce Lee

  7. #7
    Just Joined!
    Join Date
    Feb 2006
    Posts
    51
    Hi again
    I tried to follow your advise and started upgrading to 2.6 kernel. And now the only way to boot Slack is from the installdisk.....

    First I installed kernel-generic and kernel-modules. Then I used

    mkinitrd -c -k 2.6.13 -m reiserfs:ata_piix

    to load the modules: the first is my root fs.

    I edit lilo.conf to boot with initrd.

    When I reboot I get the message:

    RAMDISK: Couldn't find valid RAM disk image starting at 0.
    VFS: Cannot open root device "302" or unknown-block(3,2)
    Please append a correct "root=" boot option
    kernel panic - not syncing:VFS: Unable to mount root fs on unknown-block(3,2)

    the files are:
    rootdev: /dev/hda2
    rootfs: reiserfs

    both are correct and I dont know what is wrong with the options. Help please?

  8. #8
    Just Joined!
    Join Date
    Jun 2006
    Posts
    12

    How did you compile the kernel?

    Could be that you did not get a vmlinuz in the right place. If you compiled from somewhere other than usr/src it might have put the kernel in the wrong place! Did you do a make menuconfig, make, make install or did you intentionally blow away your old config? Check what you have in /boot ....the way I upgrade my slackware kernel is to unzip the source to usr/src and then go through a make menuconfig and the rest. With slackware 10.2 it just updates lilo for you then uses the existing init in /boot I just make sure that all the right hardware is compiled in as modules and that dma is turned on. I have not had any trouble with doing my compile this way, it does not seem to fail. I can boot either 2.4 or the latest 2.6 or even some custom kernels that I have for 2 sound card audio work.

  9. #9
    Just Joined!
    Join Date
    Feb 2006
    Posts
    51
    Hm i didn't compile the 2.6 kernel because the first time I upgraded 2.4 on another pc it ran perfectly just installing the packages and making initrd. But the pc didn't have a SATA disk....
    So you suggest I compile the kernel. Is there default options for the things I don't want to change because if I am to decide for everything I will surely mess up somewhere?
    Thanks for the help

  10. #10
    Linux Guru antidrugue's Avatar
    Join Date
    Oct 2005
    Location
    Montreal, Canada
    Posts
    3,211
    Quote Originally Posted by Igi_BG
    RAMDISK: Couldn't find valid RAM disk image starting at 0.
    VFS: Cannot open root device "302" or unknown-block(3,2)
    Please append a correct "root=" boot option
    kernel panic - not syncing:VFS: Unable to mount root fs on unknown-block(3,2)

    the files are:
    rootdev: /dev/hda2
    rootfs: reiserfs

    both are correct and I dont know what is wrong with the options. Help please?
    Well, now that you have a 2.6 kernel, your hard drive is being detected as /dev/sda and not /dev/hda as it was before. You have to change your lilo/grub configuration accordingly.
    "To express yourself in freedom, you must die to everything of yesterday. From the 'old', you derive security; from the 'new', you gain the flow."

    -Bruce Lee

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •