HDIO_SET_DMA failed: Operation not permitted

Thomas Laubrock log-owl at laubrock.de
Wed Jul 11 00:55:18 CEST 2007


Jan 'RedBully' Seiffert schrieb:
> Thomas Laubrock wrote:
>   
> [snip]
>   
>> kieken:/data/home/thl# lspci -vvv
>> [...]
>> 0000:00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE
>> Controller (rev 01) (prog-if 8a [Master SecP PriP])
>>         Subsystem: ASRock Incorporation: Unknown device 27df
>>         Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
>> ParErr- Stepping- SERR- FastB2B-
>>         Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
>> <TAbort- <MAbort- >SERR- <PERR-
>>         Latency: 0
>>         Interrupt: pin A routed to IRQ 15
>>         Region 0: I/O ports at <unassigned>
>>         Region 1: I/O ports at <unassigned>
>>         Region 2: I/O ports at <ignored>
>>         Region 3: I/O ports at <ignored>
>>         Region 4: I/O ports at ffa0 [size=16]
>>
>>     
> [snip]
>   
>> Den dmesg-Output habe ich mal unter
>> http://www.schmu.net/dmesg-20070710.log abgelegt.
>>
>>     
> Das ist doch mal aussagekraeftig.
> Du betreibst deinen Chipsatz mit dem generischen IDE Treiber, der kann
> kein DMA:
>
> erst kommt:
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
>
> dann:
> Probing IDE interface ide0...
> hda: TSSTcorpCD/DVDW SH-S182D, ATAPI CD/DVD-ROM drive
> Probing IDE interface ide1...
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
>
> und dann irgendwann:
> ICH7: IDE controller at PCI slot 0000:00:1f.1
> ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 15 (level,
> low) -> IRQ 15
> ICH7: chipset revision 1
> ICH7: not 100% native mode: will probe irqs later
> ICH7: port 0x01f0 already claimed by ide0
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ICH7: neither IDE port enabled (BIOS)
>
> Das waere der richtige Chipsatztreiber.
>
> Scheiss initrd (oder falschen kram einkompiliert)...
>
> Schmeiss den generischen Treiber da raus, oder beschaeftige dich damit,
> wie man der initrd unter deiner Distro mitteilt, das sie den Treiber
> nicht laden soll, oder bau dir einen Kernel in dem $DAS_WICHTIGSTE drin ist.
>   
Hatte in meiner /etc/modules noch Altlasten stehen.
Jetzt wird werde in der initrd noch auf dem System selbst ide-generic 
gelanden.

Jetzt funktioniert augenscheinlich auch DMA:

kieken:~# hdparm /dev/hda

/dev/hda:
 IO_support    =  0 (default 16-bit)
 unmaskirq     =  0 (off)
 using_dma     =  1 (on)
 keepsettings  =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 HDIO_GETGEO failed: Inappropriate ioctl for device
kieken:~#

Nur sobald ich was von dem CDRom lade bekomme ich folgende Fehler in dmesg:
hda: command error: status=0x51 { DriveReady SeekComplete Error }
hda: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
ide: failed opcode was: unknown
ATAPI device hda:
  Error: Illegal request -- (Sense key=0x05)
  Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03)
  The failed "Read 10" packet command was:
  "28 00 00 00 01 40 00 00 40 00 00 00 00 00 00 00 "
end_request: I/O error, dev hda, sector 1280
Buffer I/O error on device hda, logical block 320
Buffer I/O error on device hda, logical block 321
Buffer I/O error on device hda, logical block 322
Buffer I/O error on device hda, logical block 323
Buffer I/O error on device hda, logical block 324
Buffer I/O error on device hda, logical block 325
Buffer I/O error on device hda, logical block 326
Buffer I/O error on device hda, logical block 327
Buffer I/O error on device hda, logical block 328
Buffer I/O error on device hda, logical block 329
hda: command error: status=0x51 { DriveReady SeekComplete Error }
hda: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
ide: failed opcode was: unknown
ATAPI device hda:
  Error: Illegal request -- (Sense key=0x05)
  Read of scrambled sector without authentication -- (asc=0x6f, ascq=0x03)
  The failed "Read 10" packet command was:
  "28 00 00 00 01 80 00 00 40 00 00 00 00 00 00 00 "
end_request: I/O error, dev hda, sector 1536


Diese Meldungen häufen sich schnell zu mehreren MB Logfile.
Die Datenübertragung ist auch nicht zuverlässig.

Der dmesg-output vom boot liegt an gewohnter stelle:
http://www.schmu.net/dmesg-20070710.log

kieken:~# lsmod | grep ide | grep -v video
ide_cd                 36064  0
cdrom                  32544  1 ide_cd
ide_core              110504  4 ide_cd,usb_storage,piix,generic
kieken:~#
kieken:~# lsmod | grep piix
piix                    9444  0 [permanent]
ide_core              110504  4 ide_cd,usb_storage,piix,generic
ata_piix               13576  3
libata                 89332  1 ata_piix
kieken:~#

Den gleichen Fehler bekomme ich, wenn ich libata versuche ATAPI 
beizubringen:

**"echo options libata atapi_enabled=1>/etc/modprobe.d/atapienable"**

Hat noch jemand 'ne Idee?

Gruß
 Thomas








More information about the Linux mailing list