Re: Multiple errors with DVD drive

J.J. Berkhout
2022-09-21T10:29:12Z

[-- Attachment #1.1: Type: text/plain, Size: 3068 bytes --]

On 20-09-2022 23:08, Niklas Cassel wrote:
> Readding linux-ide to CC.
>
> On Tue, Sep 20, 2022 at 06:23:07PM +0200, J.J. Berkhout wrote:
>> Hello,
>>
>> Thanks for looking into this.
>> I do not see anything like "ASMT109x-".
>> Output of lsscsi:
>>
>> [0:0:0:0] cd/dvd PIONEER BD-RW BDR-207M 1.60 /dev/sr0 [11:0]
>
> Ok, then we can rule out the patch that adds the ASMT109x quirk.
>
>>
>> The output with the last non-working kernel is the same.
>>
>> Concerning the patch: I do not (yet) known how to apply it. Help would
>> very much be appreciated.
>
> Basically:
> git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> cd linux
>
> Try to copy the running kernel's config:
> zcat /proc/config.gz > .config
>
> If that didn't work, try copying the config file from /boot:
> cp /boot/config-$(uname -r) .config
>
> Since the patch is only one line, you can apply it manually now.
> (Note that there are three spaces between "BD-RW BDR-207M".)
>
> make olddefconfig
> make -j$(nproc)
>
> sudo make modules_install
> sudo make install
>
>
>
> Looking at the logs in the bug report, you do have a AMD Green Sardine
> AHCI controller.
>
> The commit 1527f69204fe ("ata: ahci: Add Green Sardine vendor ID as
> board_ahci_mobile") added the PCI vendor and device id to the list of
> supported AHCI controllers using the low power board version:
> { PCI_VDEVICE(AMD, 0x7901), board_ahci_low_power }, /* AMD Green Sardine */
>
> Before the commit in question, your AHCI controller relied on this
> catch-all entry:
> /* Generic, PCI class code for AHCI */
> { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
> PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
> which does not enable/allow any low power mode at all.
>
> Now, I do think that low power modes *should* work with this AHCI
> controller. Most likely, it is simply the optical drive that does
> not work well when the HBA initiates a low power mode on the link.
>
> You should be able to test this theory by adding libata.force=nolpm
> on the kernel command line on a recent (non-working) kernel, low power
> modes should then be disabled, and the drive should work again.
> (You can press 'e' in grub to temporarily add something to the kernel
> command line, and then ctrl+x to boot.)
>
> But the proper fix is probably to add a quirk for you device, either:
> + { "PIONEER BD-RW BDR-207M", NULL, ATA_HORKAGE_NOSETXFER },
> or
> + { "PIONEER BD-RW BDR-207M", NULL, ATA_HORKAGE_NOLPM },
>
>
> Kind regards,
> Niklas

I just tested the libata.force=nolpm kernel parameter on my system
running kernel 5.15.0-48-generic x86_64 (linux mint 20.3, base Ubuntu
20.04 focal). I am sorry to say, this parameter did not solve the problem.

As for your patch concerning NOSETXFER, I will try to test this shortly,
but it could take one or two days (medical stuff for me and my wife).

Thanks for your help.
With kind regards,

Jaap Berkhout