[alsa-devel] ALSA:usb audio Higher sample rates on usb audio no longer working.

Takashi Iwai tiwai at suse.de
Fri Jan 4 07:27:13 CET 2019


On Fri, 04 Jan 2019 00:16:42 +0100,
Con Kolivas wrote:
> 
> Hi Iwai-san.
> 
> Added some relevant CCs.
> 
> On Fri, 4 Jan 2019 at 00:23, Takashi Iwai <tiwai at suse.de> wrote:
> >
> > On Thu, 03 Jan 2019 12:43:54 +0100,
> > Con Kolivas wrote:
> > >
> > > Upon switching from 4.19.0 to 4.20.0, pulseaudio started complaining
> > > that sinks that previously worked are no longer supported.
> > >
> > > On 4.19.0 trying 24 bit 88200, 176400, and 192000 I get the following
> > > output from pulse.
> > > resampler.c: Forcing resampler 'copy', because of fixed, identical
> > > sample rates.sink-input.c: Created input 15 "Playback Stream" on
> > > alsa_output.usb-DSPeaker_Anti-Mode_X4-00.iec958-stereo with sample
> > > spec float32le 2ch 176400Hz and channel map front-left,front-right
> > >
> > > Switching to 4.20 gives me:
> > > alsa-sink.c: Sink does not support sample rate of 176400 Hz
> > > and
> > > alsa-sink.c: Sink does not support sample rate of 88200 Hz
> > > and
> > > alsa-sink.c: Sink does not support sample rate of 192000 Hz
> > >
> > > Sample rates of 44100, 48000, and 96000 work fine, but 88200, 176400,
> > > and 192000 no longer work
> > >
> > > Switching back to 4.19 immediately fixes the issue.
> > >
> > >
> > > I tried looking through the alsa changelogs but there were too many to
> > > give an obvious culprit, and haven't had time to do a git bisect. If
> > > there's an obvious choice patch to back out I'd be grateful for the
> > > heads up.
> >
> > Hm, through a quick glance, there hasn't been any relevant changes in
> > USB-audio part (sound/usb/*).  Also, the changes in sound/core/* are
> > irrelevant with your problem.
> >
> > So I have no idea what went wrong.  The bisection, or at least,
> > narrowing down the commits would be helpful.
> 
> I've done a git bisect and found the offending commit:
> 
> commit f13912d3f014a7f2fa5c35d25ee8c3f96bda6272 (refs/bisect/bad)
> Author: Saranya Gopal <saranya.gopal at intel.com>
> Date:   Wed Sep 12 08:46:26 2018 +0530
> 
>     usbcore: Select UAC3 configuration for audio if present
> 
>     USB audio class 3.0 specification introduced many significant
>     changes like
>      - new power domains, support for LPM/L1
>      - new cluster descriptor
>      - new high capability and class-specific string descriptors
>      - BADD profiles
>      - ... and many other things (check spec from link below:
>     http://www.usb.org/developers/docs/devclass_docs/USB_Audio_v3.0.zip)
> 
>     Now that UAC3 is supported in linux, choose UAC3
>     configuration for audio if the device supports it.
>     Selecting this configuration will enable the system to
>     save power by leveraging the new power domains and LPM L1
>     capability and also support new codec types and data formats
>     for consumer audio applications.
> 
>     Signed-off-by: Saranya Gopal <saranya.gopal at intel.com>
>     Reviewed-by: Felipe Balbi <felipe.balbi at linux.intel.com>
>     Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> 
> Reverting this patch fixes the problem for me.

[ Adding linux-usb ML to Cc, as it's a core USB issue ]

So the device seems incorrectly advertising as if it were supporting
UAC3 -- assuming the device is still not UAC3-capable.

IOW, it's a buggy firmware.  We need some blacklisting, or revert the
commit for now, unless any real UAC3 device comes up to the market.


thanks,

Takashi


More information about the Alsa-devel mailing list