Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 17
hi all. During boot my gentoo kernel reports that dma on my hard disks is set to off. When (as root) I try to set it to on, this happens: ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux Engineer
    Join Date
    Jul 2003
    Location
    Stockholm, Sweden
    Posts
    1,296

    hdparm dma 1 operation not permitted


    hi all.

    During boot my gentoo kernel reports that dma on my hard disks is set to off. When (as root) I try to set it to on, this happens:


    Code:
    hdparm -d1 /dev/hdb
    
    /dev/hdb:
     setting using_dma to 1 (on)
     HDIO_SET_DMA failed: Operation not permitted
     using_dma    =  0 (off)

  2. #2
    Linux Engineer
    Join Date
    Dec 2002
    Location
    New Zealand
    Posts
    766
    check u have it on in bios and taht ur hardware supports it. Check your kernel boot parameters for dma=off or some such, then i would suggest checkign the man pages to see if it needs soem other program/driver to run properly.

  3. #3
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Did you select IDE DMA support when compiling your kernel?

  4. #4
    Linux Engineer
    Join Date
    Jul 2003
    Location
    Stockholm, Sweden
    Posts
    1,296
    I suspected that that was the problem but I cant see the option listed. What submenu is it under?

  5. #5
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    In 2.4 kernels, it is ATA/IDE/MFM/RLL support -> IDE, ATA and ATAPI Block devices -> IDE chipset support -> PCI IDE chipset support -> Generic PCI bus-master DMA support.
    For 2.6, it's almost the same, but you have to enter Device Drivers first.
    While you're there, try and find a specific driver for your chipset as well. It's likely to boost performance many times. For me, that made IDE transfers 20 times faster.

  6. #6
    Linux Engineer
    Join Date
    Jul 2003
    Location
    Stockholm, Sweden
    Posts
    1,296
    hmm my exact chipset wasnt there (ALi M1535D+) but i selected the ali option anyway.. this is ok you think? Thanks for your help btw!

  7. #7
    Linux Engineer
    Join Date
    Jul 2003
    Location
    Stockholm, Sweden
    Posts
    1,296
    ok.. i recompiled with those options.. still no luck same error as before. the disks do support dma acess as does my chipset. I had both disks working with dma under SuSE. It does not work when trying to set dma on my dvd rom drive either (hdc) same error:


    hdparm -d1 /dev/hdb

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

  8. #8
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    That's kind of weird... Can you run "hdparm -i /dev/hdb" and post the output?

  9. #9
    Linux Engineer
    Join Date
    Jul 2003
    Location
    Stockholm, Sweden
    Posts
    1,296
    Code:
    # hdparm -i /dev/hdb
    
    /dev/hdb:
    
     Model=Maxtor 2B020H1, FwRev=WAK21R90, SerialNo=B1JZG7RE
     Config={ Fixed }
     RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
     BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
     CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40020624
     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=yes: disabled (255) WriteCache=enabled
     Drive conforms to: (null): 
    
     * signifies the current active mode
    heer is the same for hda:

    Code:
    # hdparm -i /dev/hda
    
    /dev/hda:
    
     Model=MAXTOR 6L040J2, FwRev=A93.0500, SerialNo=362220421447
     Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
     RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
     BuffType=DualPortCache, BuffSize=1819kB, MaxMultSect=16, MultSect=off
     CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78177792
     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=no WriteCache=enabled
     Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: 
    
     * signifies the current active mode
    hmm.. when I recompiled the kernel I did:

    Code:
    cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage
    by doing it that was does it overwrite the existing bzImage or does it make no changes? maby the destination should have been /boot/?

  10. #10
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    It seems to be indicating that your drive already runs on UDMA. Maybe your chipset driver simply always uses DMA and doesn't allow you to change it at all.

    The `cp' command was OK.

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
  •