lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 19 Aug 2007 10:33:49 +0200
From:	Zoltan Boszormenyi <zboszor@...aweb.hu>
To:	7eggert@....de
Cc:	Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
	linux-kernel <linux-kernel@...r.kernel.org>,
	IDE/ATA development list <linux-ide@...r.kernel.org>
Subject: Re: Bad CD disk disables IDE DMA

Zoltan Boszormenyi írta:
> Bodo Eggert írta:
>> Michal Piotrowski <michal.k.k.piotrowski@...il.com> wrote:
>>  
>>> On 15/08/07, Zoltan Boszormenyi <zboszor@...aweb.hu> wrote:
>>>     
>>
>>  
>>>> I noticed that a bad CD of mine makes DMA disabled:
>>>>       
>>
>> [...]
>>  
>>>> hda: cdrom_decode_status: error=0x40 { LastFailedSense=0x04 }
>>>> ide: failed opcode was: unknown
>>>> hda: DMA disabled
>>>> hda: ide_intr: huh? expected NULL handler on exit
>>>> hda: ATAPI reset complete
>>>>
>>>> Every time I put the said CD into to drive and DMA is on, I get the
>>>> above messages.
>>>>       
>>> This might be intended.
>>>     
>>
>> Maybe, and maybe only a certain effect might be intended. And maybe I 
>> can
>> help by asking these questions:
>>
>> 1) Does disabling DMA fix the seek errors, or does it hide them by 
>> the PIO
>>    interfce not printing them?
>>   
>
> With DMA off no seek error occurs. When the transfer rate is
> limited to UDMA3 I get this:
>
> hda: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hda: drive_cmd: error=0x04 { AbortedCommand }
> ide: failed opcode was: 0xec
>
> Note the difference: the error code is different and
> it knows the failed opcode as well. But DMA remains on.
> Can it be a bad 80w cable? I don't think so, considering that
> it doesn't occur for DVDs when using UDMA4...
>
>> 2) If it does hide them, would filtering for seek errors be a sane 
>> thing to
>>    do, or does the DMA engine (or HDD) behave badly on these errors, or
>>    do bad-DMA devices report seek errors, too?
>>
>> 3) If it does not hide them, would re-enabling DMA on disk change be a
>>    feasable workaround?
>>    (proposed interface: use hdparm -d $num where $num =
>>      0, 1: as before
>>      3: DMA on, if switched off automatically, will be set to 2
>>      2: DMA off, will be turned on (set to 3) on disk change)
>>   
>
> The automatic DMA re-enabling would be a good solution.
>
>> 4) Does libata work well enough for making all effort put into that old
>>    IDE layer be a waste of time?
>>   
>
> Unfortunately libata (or pata_amd) doesn't work very well on this 
> machine,
> I tried to switch to libata for the CD drive but it lost the 
> DVD-playing capability.
> It seems the error was that libdvdcss couldn't get the keys via the 
> scd device.
> This is the main obstacle that stops me switching to Fedora 7 from FC6.
> I reported it some time ago but got no answer. Look for subject
> "DVD-playing, ide-cd vs scsi-cd drivers".

Forget about this last comment. I just installed F7 on a similar machine,
motherboard is ABit KN9S instead of KN9SLI (mine), both have the same
MCP55 IDE rev a1 and MCP55 SATA rev a2. This new machine
plays DVDs nicely, so the difference is in the userspace. Although
both my FC6 and F7 has the same libdvdcss-1.2.9-4.lvn6. Its src.rpm
doesn't have any patches, just the mainstream libdvdcss sources.
Now explain that. :-)

> Best regards,
> Zoltán Böszörményi


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ