Re: Multiple errors with DVD drive

Niklas Cassel
2022-09-26T15:52:24Z

On Mon, Sep 26, 2022 at 02:59:19PM +0200, J.J. Berkhout wrote:
>
> OK, I got around to testing the patch.
> I used kernel 5.19.11 (from https://cdn.kernel.org/pub).
> After solving the problem with errors with the compilation (I removed
> the NVIDIA driver and switched to the nouveau driver) and space problems
> on my /boot partition (solved by using sudo make INSTALL_MOD_STRIP=1
> modules_install) I got the following results:
>
> Try 1:
> patching libata-core.c with the lines
> /* PIONEER BD-RW BDR-207M and PIONEER BD-RW BDR-205 have broken LPM
> support */
> { "PIONEER BD-RW DVR-207M", NULL, ATA_HORKAGE_NOLPM },
> { "PIONEER BD-RW DVR-205", NULL, ATA_HORKAGE_NOLPM },
>
> resulted in
> link_power_management_policy still "med_power_with_dipm"
> problem with pioneer DOES occur

Thanks for testing!

libata-core.c has this:
if (dev->horkage & ATA_HORKAGE_NOLPM) {
ata_dev_warn(dev, "LPM support broken, forcing max_power\n");
dev->link->ap->target_lpm_policy = ATA_LPM_MAX_POWER;
}

and

libata-sata.c:ata_scsi_lpm_show() has this:
return sysfs_emit(buf, "%s\n",
ata_lpm_policy_names[ap->target_lpm_policy]);

so
/sys/class/scsi_host/hostXXX/link_power_management_policy
should definitely show "max_performance" when the quirk is applied.

My suggestion was to try:
+ { "PIONEER BD-RW BDR-207M", NULL, ATA_HORKAGE_NOLPM },
However you tested:
+ { "PIONEER BD-RW DVR-207M", NULL, ATA_HORKAGE_NOLPM },
So I think that you simply did a typo in the name.

Looking at you dmesg again however:
[ 1.043657] ata1.00: ATAPI: PIONEER BD-RW BDR-207M, 1.60, max UDMA/100
[ 1.057988] scsi 0:0:0:0: CD-ROM PIONEER BD-RW BDR-207M 1.60 PQ: 0 ANSI: 5

It seems to print two different strings:
"PIONEER BD-RW BDR-207M"
"PIONEER BD-RW BDR-207M"

So I'm actually not really sure which is correct...
I guess try both and see which one that works? :)

Kind regards,
Niklas