Re: snd-usb-audio : issue sending "set sample freq"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.04.2013 14:40, Torstein Hegge wrote:
> On Mon, Apr 22, 2013 at 23:45:49 +0200, Daniel Mack wrote:
>> On 22.04.2013 21:23, Torstein Hegge wrote:
>>> Even if this is against the specification, devices that does this is out
>>> there. I have seen the same thing on a Sennheiser BTD-500, but that only
>>> supports one frequency, so I didn't hit this problem.
>>
>> Yes, if that's the case, we should patch both lsusb and the snd-usb
>> driver. Let's see who provides a patch first :)
> 
> I think the lsusb patch should look something like this. Unless you have
> objections, I'll try to poke Greg KH via the linux-usb mailing list.

Looks good to me, but I can't test it.

You can also send Greg pull requests on GitHub, he'll pick them from there.

  https://github.com/gregkh/usbutils


Best,
Daniel


> 
> -- >8 --
> Subject: [PATCH] lsusb: Parse misplaced UAC1 AudioControl Endpoint Descriptor
> 
> Some UAC devices (Sennheiser BTD-500 and some firmware revisions of
> Plantronics USB headsets) has the class specific endpoint descriptor in
> front of the standard endpoint descriptor. Print the "AudioControl
> Endpoint Descriptor" where it appears, instead of showing
> "UNRECOGNIZED".
> ---
>  lsusb.c |   16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/lsusb.c b/lsusb.c
> index 5118114..470146c 100644
> --- a/lsusb.c
> +++ b/lsusb.c
> @@ -586,6 +586,22 @@ static void dump_altsetting(libusb_device_handle *dev, const struct libusb_inter
>  						goto dump;
>  					}
>  					break;
> +				case LIBUSB_CLASS_AUDIO:
> +					switch (buf[1]) {
> +					/* MISPLACED DESCRIPTOR */
> +					case USB_DT_CS_ENDPOINT:
> +						switch (interface->bInterfaceSubClass) {
> +						case 2:
> +							dump_audiostreaming_endpoint(buf, interface->bInterfaceProtocol);
> +							break;
> +						default:
> +							goto dump;
> +						}
> +						break;
> +					default:
> +						goto dump;
> +					}
> +					break;
>  				default:
>  					/* ... not everything is class-specific */
>  					switch (buf[1]) {
> 


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux