[LAU] Sound Devices USBPre2, UAC2 status

shal at free.fr shal at free.fr
Thu Jan 10 21:30:40 UTC 2013



----- Mail original -----
> De: "Hans Wilmers" <hanswil at notam02.no>
> À: linux-audio-user at lists.linuxaudio.org
> Envoyé: Jeudi 10 Janvier 2013 22:10:41
> Objet: Re: [LAU] Sound Devices USBPre2, UAC2 status
> 
> On 01/10/2013 06:08 PM, shal at free.fr wrote:
> >
> >
> > ----- Mail original -----
> >> De: "Hans Wilmers" <hanswil at notam02.no>
> >> À: linux-audio-user at lists.linuxaudio.org
> >> Envoyé: Jeudi 10 Janvier 2013 13:23:57
> >> Objet: Re: [LAU] Sound Devices USBPre2, UAC2 status
> >>
> >> On 01/07/2013 08:25 PM, shal at free.fr wrote:
> >>>
> >>> ----- Mail original -----
> >>>> De: "alexander" <axeldenstore at gmail.com>
> >>>> À: linux-audio-user at lists.linuxaudio.org
> >>>> Envoyé: Lundi 7 Janvier 2013 18:27:42
> >>>> Objet: Re: [LAU] Sound Devices USBPre2, UAC2 status
> >>>> I also own this interface, recently it has started to work in
> >>>> uac2
> >>>> mode,
> >>>> I still cant raise the samplerate, but it runs.. however, It
> >>>> still
> >>>> runs
> >>>> alot better in uac1.. when in uac2 jack mysteriously shuts down
> >>>> for
> >>>> no
> >>>> appearant reason. I run archlinux, allways uptodated with
> >>>> vanilla
> >>>> kernel.
> >>>>
> >>>> This is when I connect it without pressing 1. eg, uac2
> >>>> http://pastebin.com/BFJTwXnJ
> >>>> And as with pressing 1. http://pastebin.com/ZJ1jbPUK
> >>>
> >>>
> >>> Hi,
> >>>
> >>> In my understanding, you are not in UAC2 , you are in high-speed
> >>> mode but the usb audio protocol remains UAC1.
> >>>
> >>>
> >>> In the kernel source in the file include/uapi/linux/usb/audio.h
> >>> is
> >>> defined two values:
> >>> /* bInterfaceProtocol values to denote the version of the
> >>> standard
> >>> used */
> >>> #define UAC_VERSION_1			0x00
> >>> #define UAC_VERSION_2			0x20
> >>>
> >>> So if the card is in UAC2 , you should see bInterfaceProtocol at
> >>> 32
> >>> (or 0x20)
> >>> By example, now the RME babyface is recognize as UAC2 device, you
> >>> can view its "lsub -v" here  : http://minilien.fr/a0m3kc
> >>>
> >>> But for the usbPre2 device with ou without pressing the "1"
> >>> button,
> >>>   we have bInterfaceProtocol = 0. So we stays in UAC1, even the
> >>> speed increase to high-speed.
> >>>
> >>
> >> I was also surprised to see that the USBPre2 now works duplex
> >> without
> >> pressing the "1" button while connecting.
> >>
> >> This was tested on Fedora 17 with stock kernel 3.6.6-1.fc17.
> >> Jack was set to 512 Frames/period and 3 periods/buffer, and in a
> >> 24h
> >> recording I got no xruns.
> >> I did not manage to choose a sample rate unlike 48000, though.
> >>
> >> With lsusb, I can see 2 configurations for the same device, and
> >> the
> >> second one has bInterfaceProtocol = 32 for all interfaces except
> >> HID:
> >> http://pastebin.com/zwq0VVbM
> >
> >
> > Hi Hans,
> >
> > Thank you for provided information.
> >
> > So, some usbPre2 have bNumConfigurations=2 when "1" is not pressed
> > but not all usbPre2 (mine or alexander devices have only one
> > "Configuration Descriptor").  Your device descriptor contains a
> > UAC2 configuration descriptor, This sound good.
> >
> > Perhaps there is different firmware ?
> > I have the 1.03 firmware. Can you provide your firmware level ?
> 
> Hmmm, same firmware 1.03 version here.
> Which kernel are you running?
> 
> > Can you test 192khz value in jackd ?
> >
> 
> No luck with this either - fastest one I get is 48000. This
> corresponds
> to the output of lsusb, which does not list samplerates over 48000
> for
> this device.


I have tried different kernel, 3.2 to 3.7.1, vanilla or ubuntu kernel.

The lsusb does not means that you are limited to 48000.

The lsusb provides the "devices descriptor" and a devices descriptors has one or more "configuration descriptor". The kernel chooses one of the "configuration descriptor".
In your device descriptor (provided directly by the device) there is two possibles configuration descriptons (the bNumConfigurations=2). The first one corresponds to the UAC1 mode in high-speed (this is my one configuration) and so limited to 48000. The second one is the UAC2 mode (the expected mode).

Perhaps the kernel choose the fist good one, so UAC1  .

Can you send the result of  cat /proc/asound/USBPre2/stream0  ?

Olivier


More information about the Linux-audio-user mailing list