LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   IDE hard disk DMA error at boot up. (https://www.linuxquestions.org/questions/linux-hardware-18/ide-hard-disk-dma-error-at-boot-up-600209/)

patufet99 11-16-2007 02:49 PM

IDE hard disk DMA error at boot up.
 
Hello,

I have an IDE hard disk that often gives a DMA error at boot up:

Code:

[    0.000000] Linux version 2.6.20-16-generic (root@terranova) (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #2 SMP Sun Sep 23 19:50:39 UTC 2007 (Ubuntu 2.6.20-16.32-generic)
...

[  22.263363] Kernel command line: root=UUID=b72ccba1-5c78-4b9d-9c8d-7429fd3b7695 vga=794 hda=nodma ro splash
[  22.263383] ide_setup: hda=nodma -- BAD OPTION
...
[  30.130928] hda: Host Protected Area disabled.
[  30.130932] hda: 40132503 sectors (20547 MB) w/1902KiB Cache, CHS=39813/16/63, UDMA(100)
[  30.130937] hda: cache flushes not supported
[  30.130974]  hda:<5>SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB)
[  30.132551] sda: Write Protect is off
[  30.132553] sda: Mode Sense: 00 3a 00 00
[  30.132565] SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  30.132604] SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB)
[  30.132611] sda: Write Protect is off
[  30.132613] sda: Mode Sense: 00 3a 00 00
[  30.132624] SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  30.132627]  sda: hda1
[  30.146269] hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
[  30.146278] Uniform CD-ROM driver Revision: 3.20

...

[  50.129523] hda: dma_timer_expiry: dma status == 0x60
[  50.129527] hda: DMA timeout retry
[  50.129529] hda: timeout waiting for DMA
[  55.124850] hda: status timeout: status=0xd0 { Busy }
[  55.124852] ide: failed opcode was: unknown
[  55.124878] hda: drive not ready for command
[  55.221105] ide0: reset: success
[  75.232034] hda: dma_timer_expiry: dma status == 0x60
[  75.232038] hda: DMA timeout retry
[  75.232039] hda: timeout waiting for DMA
[  80.227042] hda: status timeout: status=0xd0 { Busy }
[  80.227044] ide: failed opcode was: unknown
[  80.227069] hda: drive not ready for command
[  80.275696] ide0: reset: success
[  100.282631] hda: dma_timer_expiry: dma status == 0x60
[  100.282634] hda: DMA timeout retry
[  100.282635] hda: timeout waiting for DMA
[  105.277321] hda: status timeout: status=0xd0 { Busy }
[  105.277323] ide: failed opcode was: unknown
[  105.277348] hda: drive not ready for command
[  105.326293] ide0: reset: success
[  125.337222] hda: dma_timer_expiry: dma status == 0x60
[  125.337224] hda: DMA timeout retry
[  125.337226] hda: timeout waiting for DMA
[  130.331593] hda: status timeout: status=0xd0 { Busy }
[  130.331595] ide: failed opcode was: unknown
[  130.331620] hda: drive not ready for command
[  130.380884] ide0: reset: success
[  130.494085] hda: DMA disabled

hda is a hard disk that I only use to boot to windows time to time, so I could disable DMA with no problem. I have tried to do that unsuccessfully by adding at boot hda=nodma,
but this is indicated as a bad option.


$ sudo hdparm /dev/hda

Code:

/dev/hda:
 multcount    =  0 (off)
 IO_support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly    =  0 (off)
 readahead    = 256 (on)
 geometry    = 39813/16/63, sectors = 40132503, start = 0


$ sudo hdparm -i /dev/hda

Code:

/dev/hda:

 Model=QUANTUM FIREBALLP AS20.5, FwRev=A1Y.1500, SerialNo=792119430295
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
 BuffType=DualPortCache, BuffSize=1902kB, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40130390
 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 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5

 * signifies the current active mode

The error is not very problematic and DMA is disabled after several trials, but it takes a lot of time at every boot.

Thank you for any suggestion.

Willy Gommel 11-16-2007 03:46 PM

I must confess myself to be confused by the line which reads:

"[ 30.130974] hda:<5>SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB)"

This suggests to me that the computer may be having an identity crisis with respect to its HDD #0.

Might I suggest that you recompile your kernel without support for SCSI hard disks. Hopefully this will help.

patufet99 11-20-2007 04:42 PM

Hello Willy,

Thanks for your reply.
I have build the kernel as you suggested without SCSI support for hard disks, but I cannot boot.
As it is the first time I do such a thing, I thought i had done something wrong while compiling the kernel. So I compiled it again this time with SCSI support for hard disks, and I could boot normally with the fresh compiled kernel.

This behaviour seems quite odd as sda is a sata disk and there are no SCSI hard disks ... When there is no SCSI support for hard disks it seems that sda is not recognised:

Code:

Begin: Loading essential drivers ... ...
Done
Begin: Running /scripts/init-premount ...
Done
Begin: Mounting root file system ... ...
Begin: Running /scripts/local-top ...
Done
Begin: Waiting for root file system ... ...
Done
  Check root=bootarg cat /proc/cmdline
  or missing modules, devices: cat /proc/modules ls /dev
ALERT! /dev/sda3 does not exist. Dropping to a shell!

Any ideas?

Thank you.

Willy Gommel 11-25-2007 10:13 PM

I wonder: in deleting support for SCSI HDDs, did the kernel have ATA device support installed? If not, then *of course* the system wouldn't boot.

N.B.: If you're going to change the name of your HDD, note that this will need to be installed in /etc/fstab as well.


All times are GMT -5. The time now is 12:52 AM.