This is the old SliTaz forum - Please use the main forum.slitaz.org

Problem with DMA
  • PetePete April 2010
    Hallo,
    I just installed Slitaz 3.0 on my old pc, it runs fine, but I have a problem at startup time, namely it gets stuck on each of my hard drives with a message like the following:

    hda: cache flushes not supported
    hda: <4> hda: ide_dma_sff_timer_expiry: DMA status (0x21)

    And that a couple of times. The hardware is sth like 10 years old... So I don't know if I can enable DMA at all, if yes how, and if no, how to disable the attempt at boot-time in the kernel options (I tried to add libata.dma=0 at menu.lst...)
    I'm not too experienced with Linux (just started using it half a year ago...) So I hope somebody can help me, cause I really like Slitaz and it runs very well on my old pc. Just that the boot time would be tremendously better if it wouldn't get stuck with this dma issue...
    (besides that if I can actually correctly configure dma I'd of course appreciate it...)
  • erniaernia April 2010
    you seems to want ide-core.nodma= kernel option
    check its usage, or maybe another more useful kernel options, here:
    http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt
    you can check or set dma settings with the command hdparm, e.g.
    root@slitaz:/home/tux# hdparm /dev/hda

    /dev/hda:
    multcount = 16 (on)
    IO_support = 1 (32-bit)
    unmaskirq = 1 (on)
    using_dma = 1 (on)
    keepsettings = 0 (off)
    readonly = 0 (off)
    readahead = 256 (on)
    geometry = 19929/255/63, sectors = 320173056, start = 0

    if you run hdparm with no parameters you will see all options available.
    you may want to check hdparm -d:

    root@slitaz:/home/tux# hdparm -d /dev/hda

    /dev/hda:
    using_dma = 1 (on)
    root@slitaz:/home/tux# hdparm -d0 /dev/hda

    /dev/hda:
    setting using_dma to 0 (off)
    using_dma = 0 (off)
    root@slitaz:/home/tux# hdparm -d1 /dev/hda

    /dev/hda:
    setting using_dma to 1 (on)
    using_dma = 1 (on)
  • PetePete April 2010
    Thanks for your reply! Yes, that seems what I need, just that now I'm confused, cause:

    root@slitaz:/home/slete# 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 = 256 (on)
    geometry = 65535/16/63, sectors = 90069840, start = 0

    It already says deactivated, strange, does it do a check on every boot up and then only deactivate it, if that fails?
    How do I make those neat yellow boxes for code? (didn't find anything about that...)
    Anyway, this is a part of the boot log, maybe somebody can figure out, what it exactly does with dma and why it's shown as off :

    Uniform Multi-Platform E-IDE driver
    via82cxxx 0000:00:04.1: VIA vt82c686a (rev 22) IDE UDMA66
    via82cxxx 0000:00:04.1: IDE controller (0x1106:0x0571 rev 0x10)
    via82cxxx 0000:00:04.1: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xb800-0xb807
    ide1: BM-DMA at 0xb808-0xb80f
    Probing IDE interface ide0...
    hda: IBM-DTLA-307045, ATA DISK drive
    hdb: Maxtor 6Y120L0, ATA DISK drive
    hda: host max PIO5 wanted PIO255(auto-tune) selected PIO4
    hda: host side 80-wire cable detection failed, limiting max speed to UDMA33
    hda: UDMA/33 mode selected
    hdb: host max PIO5 wanted PIO255(auto-tune) selected PIO4
    hdb: host side 80-wire cable detection failed, limiting max speed to UDMA33
    hdb: UDMA/33 mode selected
    Probing IDE interface ide1...
    hdd: LTN526, ATAPI CD/DVD-ROM drive
    hdd: host max PIO5 wanted PIO255(auto-tune) selected PIO4
    hdd: UDMA/33 mode selected
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    ide1 at 0x170-0x177,0x376 on irq 15
    ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports
    ide-gd driver 1.18
    hda: max request size: 128KiB
    hda: 90069840 sectors (46115 MB) w/1916KiB Cache, CHS=65535/16/63
    hda: cache flushes not supported
    hda:<4>hda: ide_dma_sff_timer_expiry: DMA status (0x61)
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
    hda: possibly failed opcode: 0xc8
    hda: DMA disabled
    hdb: DMA disabled
    ide0: reset: success
    hda1 hda2 hda3
    hdb: max request size: 128KiB
    hdb: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63
    hdb: cache flushes supported
    hdb: hdb1 < hdb5 >
  • erniaernia April 2010
    if it was my pc:
    1) i would use 80 wire ide cable
    2) i would rebuild the kernel enabling this:
    http://cateee.net/lkddb/web-lkddb/PATA_VIA.html
    this is disabled in 3.0 kernel
    root@slitaz:/home/tux# zcat /proc/config.gz | grep VIA 
    # CONFIG_MVIAC3_2 is not set
    # CONFIG_MVIAC7 is not set
    # CONFIG_VIA_FIR is not set
    CONFIG_BLK_DEV_VIA82CXXX=y
    CONFIG_SATA_VIA=y
    # CONFIG_PATA_VIA is not set
    CONFIG_VIA_RHINE=y
    CONFIG_VIA_RHINE_MMIO=y
    CONFIG_VIA_VELOCITY=m
    CONFIG_HW_RANDOM_VIA=y
    # CONFIG_I2C_VIA is not set
    # CONFIG_I2C_VIAPRO is not set
    # CONFIG_SENSORS_VIA686A is not set
    CONFIG_AGP_VIA=m
    CONFIG_DRM_VIA=m
    # CONFIG_FB_VIA is not set
    CONFIG_SND_HDA_CODEC_VIA=y
    CONFIG_SND_VIA82XX=m
    CONFIG_SND_VIA82XX_MODEM=m
    root@slitaz:/home/tux#

    if you rebuild the kernel you may want to check this:
    http://forum.slitaz.org/index.php/discussion/931/solved-compiling-kernnel-with-initramfs-enabled-causes-error
    if you can live with no dma and just don't want the pause try booting with
    ide-core.nodma=0.0 ide-core.nodma=0.1 

    kernel options
    < pre >dont put spaces inside tags to have yellow box < /pre >
  • PetePete April 2010
    Thank you so much for your help :-)
    Unfortunately I don't have the time right now to play around with it longer, but as soon as I find some time I'll try to rebuild the kernel.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Apply for Membership

SliTaz Social