Sound broken (first couple of seconds play looping) on Sony Vaio VPX11S1E (HDA, ALC262)

Hans de Goede hdegoede at redhat.com
Sat Oct 1 15:36:01 CEST 2022


Hi,

On 9/29/22 11:38, Takashi Iwai wrote:
> On Thu, 29 Sep 2022 11:05:47 +0200,
> Hans de Goede wrote:
>>
>> Hi,
>>
>> On 9/29/22 08:10, Takashi Iwai wrote:
>>> On Wed, 28 Sep 2022 18:33:55 +0200,
>>> Hans de Goede wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 9/11/22 09:05, Takashi Iwai wrote:
>>>>> On Sun, 11 Sep 2022 08:15:59 +0200,
>>>>> Takashi Iwai wrote:
>>>>>>
>>>>>> On Sat, 10 Sep 2022 19:52:36 +0200,
>>>>>> Hans de Goede wrote:
>>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> To test some kernel work (backlight refactor) which I have been doing
>>>>>>> I have booted Debian Testing with a 6.0 kernel on a Sony Vaio VPX11S1E
>>>>>>> (which is ancient).
>>>>>>>
>>>>>>> I noticed that when tab-completing something in a terminal the
>>>>>>> terminal bell sound would keep repeating and playing another longer
>>>>>>> sound sample gets stuck with the first couple of seconds of that
>>>>>>> sample looping.
>>>>>>>
>>>>>>> This is under GNOME3 with pulseaudio as sound server.
>>>>>>>
>>>>>>> I accidentally found an interesting workaround if I run:
>>>>>>>
>>>>>>> aplay -Dplughw:CARD=MID,DEV=0 /usr/share/sounds/alsa/Front_Left.wav
>>>>>>>
>>>>>>> once, then that works properly and after that the problem is gone...
>>>>>>>
>>>>>>> Note that this laptop does have only 1 speaker AFAICT.
>>>>>>>
>>>>>>> alsa-info output below.
>>>>>>>
>>>>>>> I would be happy to test any patches / module-options which might
>>>>>>> fix this.
>>>>>>
>>>>>> Could you check the very latest Linus tree (6.0-rc5)?
>>>>>> There has been a regression fix for HD-audio, and possibly this might
>>>>>> be your case.
>>>>>
>>>>> And if this doesn't change the behavior, try snoop=0 option for
>>>>> snd-hda-intel module.
>>>>
>>>> Thanks, I've just tried with 6.0-rc6 both with and without snoop=0
>>>> and neither helps I'm afraid.
>>>
>>> Then one another thing could be position_fix option of snd-hda-intel.
>>> Otherwise we need bisection -- supposing it worked well in the past.
>>
>> Thanks, position_fix=1 does the trick (I did not try any of
>> the other possible values).
>>
>> I see there is a snd_pci_quirk position_fix_list, so I guess
>> I should prepare a patch adding a quirk for this?
> 
> I guess this is rather controller issue, so I'd patch for Poulsbo like
> below.  Let me know if it works, then I'll cook a proper patch.
> 
>> Or are some other position_fix values preferred and should
>> I try those first?
> 
> LPIB should suffice, so no further test about the option needed.
> 
> 
> thanks,
> 
> Takashi
> 
> -- 8< --
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -2547,7 +2547,8 @@ static const struct pci_device_id azx_ids[] = {
>  	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM },
>  	/* Poulsbo */
>  	{ PCI_DEVICE(0x8086, 0x811b),
> -	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE },
> +	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE |
> +	  AZX_DCAPS_POSFIX_LPIB },
>  	/* Oaktrail */
>  	{ PCI_DEVICE(0x8086, 0x080a),
>  	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE },
> 


I can confirm that this does the trick, thanks:

Reported-and-tested-by: Hans de Goede <hdegoede at redhat.com>

Regards,

Hans



More information about the Alsa-devel mailing list