Re: Steinberg UR44 uaudio device
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
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
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
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
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
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
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 :-) --HPS
Re: Steinberg UR44 uaudio device
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
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
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
Steinberg UR44 uaudio device
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 [ 109,152749] umidi0 at uhub1 port 1 configuration 1 interface 1 [ 109,152749] umidi0: Yamaha Corporation (0x0499) Steinberg UR44 (0x1704), rev 2.00/2.10, addr 4 [ 109,152749] umidi0: (Yamaha Specific) [ 109,152749] umidi0: autoconfiguration error: alloc_all_endpoints failed. (err=4) [ 109,152749] umidi0: autoconfiguration error: disabled. [ 109,152749] umidi1 at uhub1 port 1 configuration 1 interface 2 [ 109,152749] umidi1: Yamaha Corporation (0x0499) Steinberg UR44 (0x1704), rev 2.00/2.10, addr 4 [ 109,152749] umidi1: (Yamaha Specific) [ 109,152749] umidi1: autoconfiguration error: alloc_all_endpoints failed. (err=4) [ 109,152749] umidi1: autoconfiguration error: disabled. [ 109,152749] umidi2 at uhub1 port 1 configuration 1 interface 3 [ 109,152749] umidi2: Yamaha Corporation (0x0499) Steinberg UR44 (0x1704), rev 2.00/2.10, addr 4 [ 109,152749] umidi2: (Yamaha Specific) [ 109,152749] umidi2: out=4, in=4 [ 109,152749] midi1 at umidi2: <0 >0 on umidi2 [ 109,152749] midi2 at umidi2: <1 >1 on umidi2 [ 109,152749] midi3 at umidi2: <2 >2 on umidi2 [ 109,152749] midi4 at umidi2: <3 >3 on umidi2 [ 111,132749] ehci1: handing over full speed device on port 1 to ohci1 [ 121,612748] uhub3: autoconfiguration error: device problem, disabling port 1 I briefly poked around in uaudio.c and it seems there's a #define UAUDIO_DEBUG, I'll try that next week when given time. However, this is a very new field to me, so I don't know what, if any, progress I'll make. Full dmesg appended below signature in case anything else in there is important to the issue. Regards -- Eivind Nicolay Evensen [ 1,00] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, [ 1,00] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, [ 1,00] 2018, 2019, 2020, 2021, 2022 [ 1,00] The NetBSD Foundation, Inc. All rights reserved. [ 1,00] Copyright (c) 1982, 1986, 1989, 1991, 1993 [ 1,00] The Regents of the University of California. All rights reserved. [ 1,00] NetBSD 9.99.97 (GENERIC) #0: Wed Jun 1 21:02:50 CEST 2022 [ 1,00] ene@bever.stigaas.lokalnett:/home/ene/midlertidig/nbsd/src/sys/arch/amd64/compile/obj/GENERIC [ 1,00] total memory = 11883 MB [ 1,00] avail memory = 11489 MB [ 1,00] timecounter: Timecounters tick every 10.000 msec [ 1,00] Kernelized RAIDframe activated [ 1,00] timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100 [ 1,03] mainbus0 (root) [ 1,03] ACPI: RSDP 0x000F0450 24 (v02 _ASUS_) [ 1,03] ACPI: XSDT 0xA79E8070 5C (v01 _ASUS_ Notebook 01072009 AMI 00010013) [ 1,03] ACPI: FACP 0xA79F3C90 F4 (v04 _ASUS_ Notebook 01072009 AMI 00010013) [ 1,03] Firmware Warning (ACPI): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x/0x1 (20211217/tbfadt-688) [ 1,03] ACPI: DSDT 0xA79E8158 00BB31 (v02 _ASUS_ Notebook 0216 INTL 20091112) [ 1,03] ACPI: FACS 0xA7A43F80 40 [ 1,03] ACPI: APIC 0xA79F3D88 62 (v03 _ASUS_ Notebook 01072009 AMI 00010013) [ 1,03] ACPI: MCFG 0xA79F3DF0 3C (v01 _ASUS_ Notebook 01072009 MSFT 00010013) [ 1,03] ACPI: HPET 0xA79F3E30 38 (v01 _ASUS_ Notebook 01072009 AMI 0004) [ 1,03] ACPI: SSDT 0xA79F3E68 0003EB (v01 AMDPOWERNOW 0001 AMD 0001) [ 1,03] ACPI: SSDT 0xA79F4258 00168E (v02 AMDALIB 0001 MSFT 0400) [ 1,03] ACPI: SLIC 0xA79F58E8 000176 (v01 _ASUS_ Notebook 01072009 ASUS 0001) [ 1,03] ACPI: 3 ACPI AML tables successfully acquired and loaded [ 1,03] ioapic0 at mainbus0 apid 3: pa 0xfec0, version 0x21, 24 pins [ 1,03] cpu0 at mainbus0 apid 0 [ 1,03] cpu0: Use mfence to serialize rdtsc [ 1,03] cpu0: AMD E-450 APU with Radeon(tm) HD Graphics, id 0x500f20 [ 1,03] cpu0: node 0, package 0, core 0, smt 0 [ 1,03] cpu1 at mainbus0 apid 1 [ 1,03] cpu1: AMD E-450 APU with Radeon(tm) HD Graphics, id 0x500f20 [ 1,03] cpu1: node 0, package 0, core 1, smt 0 [ 1,03] acpi0 at mainbus0: Intel ACPICA 20211217 [ 1,03] acpi0: X/RSDT: OemId <_ASUS_,Notebook,01072009>, AslId [ 1,03] acpi0: MCFG: segment 0, bus 0-255, address 0xe000 [ 1,03] acpi0: SCI interrupting at int 9 [ 1,03] acpi0: fixed powe