Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 17
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. $spacer_open
    $spacer_close
  5. #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?

  6. #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.

  7. #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!

  8. #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)

  9. #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?

  10. #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/?

  11. #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.

Posting Permissions

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