Re: Steinberg UR44 uaudio device

2022-06-11 Thread David H. Gutteridge
On Sat, 2022-06-11 at 19:31 +0200, Eivind Nicolay Evensen wrote:
> Den Fri, 10 Jun 2022 21:25:48 -0400
> skrev "David H. Gutteridge" :
> > 
> > To add to what others have said, a general rule as I've understood
> > it
> > is that if a device offers > 24/96 for ADC/DAC, it will be expecting
> > USB Audio 2.0, at least for processing at those higher rates. Some
> > devices are switchable between 1.0 and 2.0; some actually have a
> > physical switch to select which USB Audio class should be used. I've
> > never seen a UR44, much less operated one, but a glance at the
> > manual
> > refers to a switch on the rear labelled "CC Mode". This is for
> > "Class
> > Compliant" mode, which implies it will work with generic OS drivers.
> > Have you tried flipping that switch to "on"? (The manual is a bit
> > light on specific technical details.)
> 
> Yes, this was all done with the "class compliant" switch set to "on".

Interesting, not what I would necessarily expect here. Anyway, clearly
we're missing some significant support here.

Dave



Re: Steinberg UR44 uaudio device

2022-06-11 Thread Eivind Nicolay Evensen
Den Fri, 10 Jun 2022 21:25:48 -0400
skrev "David H. Gutteridge" :

> On Thu, 9 Jun 2022 at 17:43:02 +0200, Eivind Nicolay Evensen wrote:
> > > On 6/8/22 16:50, Eivind Nicolay Evensen wrote:  
> > > > If I read that right, Martin's guess that this is a v2 device is
> > > > right.
> > > 
> > > Hi,
> > > 
> > > If you compile the kernel with "options USB_DEBUG", there will be
> > > a "sysctl hw.usb.uaudio.debug=16", which will print this in
> > > dmesg.  
> > 
> > 
> > So then, this confirms it it seems:  
> [...]
> 
> To add to what others have said, a general rule as I've understood it
> is that if a device offers > 24/96 for ADC/DAC, it will be expecting
> USB Audio 2.0, at least for processing at those higher rates. Some
> devices are switchable between 1.0 and 2.0; some actually have a
> physical switch to select which USB Audio class should be used. I've
> never seen a UR44, much less operated one, but a glance at the manual
> refers to a switch on the rear labelled "CC Mode". This is for "Class
> Compliant" mode, which implies it will work with generic OS drivers.
> Have you tried flipping that switch to "on"? (The manual is a bit
> light on specific technical details.)

Yes, this was all done with the "class compliant" switch set to "on".


> 
> Regards,
> 
> Dave
> 




-- 
Eivind Nicolay Evensen


Re: Steinberg UR44 uaudio device

2022-06-10 Thread David H. Gutteridge


On Thu, 9 Jun 2022 at 17:43:02 +0200, Eivind Nicolay Evensen wrote:
> > On 6/8/22 16:50, Eivind Nicolay Evensen wrote:
> > > If I read that right, Martin's guess that this is a v2 device is
> > > right.  
> > 
> > Hi,
> > 
> > If you compile the kernel with "options USB_DEBUG", there will be a 
> > "sysctl hw.usb.uaudio.debug=16", which will print this in dmesg.
> 
> 
> So then, this confirms it it seems:
[...]

To add to what others have said, a general rule as I've understood it
is that if a device offers > 24/96 for ADC/DAC, it will be expecting
USB Audio 2.0, at least for processing at those higher rates. Some
devices are switchable between 1.0 and 2.0; some actually have a
physical switch to select which USB Audio class should be used. I've
never seen a UR44, much less operated one, but a glance at the manual
refers to a switch on the rear labelled "CC Mode". This is for "Class
Compliant" mode, which implies it will work with generic OS drivers.
Have you tried flipping that switch to "on"? (The manual is a bit light
on specific technical details.)

Regards,

Dave



Re: Steinberg UR44 uaudio device

2022-06-09 Thread Eivind Nicolay Evensen
Den Wed, 8 Jun 2022 17:08:20 +0200
skrev Hans Petter Selasky :

> On 6/8/22 16:50, Eivind Nicolay Evensen wrote:
> > If I read that right, Martin's guess that this is a v2 device is
> > right.  
> 
> Hi,
> 
> If you compile the kernel with "options USB_DEBUG", there will be a 
> "sysctl hw.usb.uaudio.debug=16", which will print this in dmesg.


So then, this confirms it it seems:
uaudio_chan_fill_info_sub: Wrong number of channels
uaudio_chan_fill_info_sub: Wrong number of channels
[large amounts of above]
uaudio_attach: audio rev 2.00
uaudio_attach: 0 mixer controls
uaudio0: Play[0]: 192000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 176400 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 96000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 88200 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 48000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 44100 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 192000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 176400 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 96000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 88200 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 48000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 44100 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: MIDI sequencer.
uaudio_attach: doing child attach
umidi_bulk_read_callback: start
pcm9:  on uaudio0
uaudio_attach_sub: software controlled main volume
uaudio_mixer_init_sub: child=0
uaudio_chan_init: Worst case buffer is 36864 bytes
uaudio_chan_init: Worst case buffer is 55296 bytes
uaudio_chan_set_param_speed: Selecting alt 4
uaudio_chan_set_param_speed: Selecting alt 4
uaudio_chan_set_param_format: Selecting format 0x0041
uaudio_chan_set_param_speed: Selecting alt 4
uaudio_chan_set_param_speed: Selecting alt 4
uaudio_chan_set_param_format: Selecting format 0x0861
umidi_bulk_read_callback: actlen=512 bytes
umidi_bulk_read_callback: start
uaudio0: No HID volume keys found.
uaudio_mixer_write_cfg_callback: 
umidi_bulk_read_callback: actlen=512 bytes
umidi_bulk_read_callback: start
umidi_bulk_read_callback: actlen=512 bytes
umidi_bulk_read_callback: start

> 
> You can also do:
> 
> pkg install usbutils
> 
> and
> 
> lsusb -vvv
> 
> and look for something like this:
> 
> > Interface Descriptor:
> >   bLength 9
> >   bDescriptorType 4
> >   bInterfaceNumber2
> >   bAlternateSetting   0
> >   bNumEndpoints   0
> >   bInterfaceClass 1 Audio
> >   bInterfaceSubClass  1 Control Device
> >   bInterfaceProtocol  0 
> >   iInterface  0 
> >   AudioControl Interface Descriptor:
> > bLength 9
> > bDescriptorType36
> > bDescriptorSubtype  1 (HEADER)
> > bcdADC   1.00  
>  this one will tell
> > wTotalLength   38
> > bInCollection   1
> > baInterfaceNr( 0)   3  

As well as this:

Bus /dev/usb Device /dev/ugen0.7: ID 0499:1704 Yamaha Corp. Steinberg UR44
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass  239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize064
  idVendor   0x0499 Yamaha Corp.
  idProduct  0x1704 Steinberg UR44
  bcdDevice2.10
  iManufacturer   1 Yamaha Corporation
  iProduct2 Steinberg UR44
  iSerial 0 
  bNumConfigurations  2
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength  324
bNumInterfaces  4
bConfigurationValue 1
iConfiguration  0 
bmAttributes 0xc0
  Self Powered
MaxPower0mA
Interface Association:
  bLength 8
  bDescriptorType11
  bFirstInterface 0
  bInterfaceCount 4
  bFunctionClass  1 Audio
  bFunctionSubClass   0 
  bFunctionProtocol  32 
  iFunction   0 
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   0
  bNumEndpoints   0
  bInterfaceClass 1 Audio
  bInterfaceSubClass  1 Control Device
  bInterfaceProtocol 32 
  iInterface  0 
  AudioControl Interface Descriptor:
bLength 9
bDescriptorType36
bDescriptorSubtype  1 (HEADER)
bcdADC   2.00
bCategory   8
wTotalLength   75
 

Re: Steinberg UR44 uaudio device

2022-06-08 Thread Hans Petter Selasky

On 6/8/22 16:50, Eivind Nicolay Evensen wrote:

If I read that right, Martin's guess that this is a v2 device is right.


Hi,

If you compile the kernel with "options USB_DEBUG", there will be a 
"sysctl hw.usb.uaudio.debug=16", which will print this in dmesg.


You can also do:

pkg install usbutils

and

lsusb -vvv

and look for something like this:


Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber2
  bAlternateSetting   0
  bNumEndpoints   0
  bInterfaceClass 1 Audio
  bInterfaceSubClass  1 Control Device
  bInterfaceProtocol  0 
  iInterface  0 
  AudioControl Interface Descriptor:

bLength 9
bDescriptorType36
bDescriptorSubtype  1 (HEADER)
bcdADC   1.00

    this one will tell

wTotalLength   38
bInCollection   1
baInterfaceNr( 0)   3


--HPS


Re: Steinberg UR44 uaudio device

2022-06-08 Thread Eivind Nicolay Evensen
Den Fri, 3 Jun 2022 15:11:35 +0200
skrev Hans Petter Selasky :

> On 6/3/22 15:00, Eivind Nicolay Evensen wrote:
> > Thanks, that is interesting to know. I haven't upgraded my FreeBSD
> > machine past 11.3. When plugging the unit into that, it was only
> > recognised as ugen. Perhaps I finally have a reason to upgrade it,
> > if only just for comparison. And it seems the driver has shared
> > some bits before, in the small chance I figure out what needs
> > doing in there.  
> 
> FreeBSD 13.1 is a good release :-)


And indeed it's supported there. At least play, I didn't test record.

ugen0.7:  at usbus0
uaudio0 on uhub9
uaudio0:  on usbus0
uaudio0: Play[0]: 192000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 176400 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 96000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 88200 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 48000 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 44100 Hz, 4 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 192000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 176400 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 96000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 88200 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 48000 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 44100 Hz, 6 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: MIDI sequencer.
pcm9:  on uaudio0
uaudio0: No HID volume keys found.

If I read that right, Martin's guess that this is a v2 device is right.



-- 
Eivind Nicolay Evensen


Re: Steinberg UR44 uaudio device

2022-06-03 Thread Eivind Nicolay Evensen
Den Fri, 3 Jun 2022 14:04:45 +0200
skrev Hans Petter Selasky :

> On 6/3/22 12:57, Martin Husemann wrote:
> > It is most likely a uaudio v2 device (not suprising for
> > 32bit/192kHz). Unfortunately NetBSD currently does not support that
> > audio class. It is not hard to add support, just needs someone with
> > some time to do it;-)  
> 
> FreeBSD has had support for USB audio v2 for some time now.
> 
> --HPS

Thanks, that is interesting to know. I haven't upgraded my FreeBSD
machine past 11.3. When plugging the unit into that, it was only
recognised as ugen. Perhaps I finally have a reason to upgrade it,
if only just for comparison. And it seems the driver has shared
some bits before, in the small chance I figure out what needs
doing in there.


-- 
Eivind Nicolay Evensen


Re: Steinberg UR44 uaudio device

2022-06-03 Thread Hans Petter Selasky

On 6/3/22 12:57, Martin Husemann wrote:

It is most likely a uaudio v2 device (not suprising for 32bit/192kHz).
Unfortunately NetBSD currently does not support that audio class. It is
not hard to add support, just needs someone with some time to do it;-)


FreeBSD has had support for USB audio v2 for some time now.

--HPS


Re: Steinberg UR44 uaudio device

2022-06-03 Thread Martin Husemann
On Fri, Jun 03, 2022 at 10:12:44AM +0200, Eivind Nicolay Evensen wrote:
> Hello.
> 
> Is there any way to get more information to understand
> what is needed to get this Steinberg UR44 to work on
> NetBSD:
> 
> [   109,152749] uaudio0 at uhub1 port 1 configuration 1 interface 0
> [   109,152749] uaudio0: Yamaha Corporation (0x0499) Steinberg UR44 (0x1704), 
> rev 2.00/2.10, addr 4
> [   109,152749] uaudio0: autoconfiguration error: audio descriptors make no 
> sense, error=4

It is most likely a uaudio v2 device (not suprising for 32bit/192kHz).
Unfortunately NetBSD currently does not support that audio class. It is
not hard to add support, just needs someone with some time to do it ;-)

Martin