All of lore.kernel.org
 help / color / mirror / Atom feed
* Steinberg UR22 Crackling and Clicks
@ 2020-12-08 10:15 meschi
  2020-12-08 10:34 ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-08 10:15 UTC (permalink / raw)
  To: alsa-devel

Hi,

I am using a Steinberg UR22 audio interface. Since installing Ubuntu 
20.04 on my workstation I have slight crackling in audio playback. It 
doesn't matter if the audio gets routed through pulse, jack or played 
straight to alsa. When running jack, the crackling is not showing any 
xruns. It's not possible to get any glitch-free playback in the system. 
The onboard intel audio works fine.

My system:

alsa info: 
alsa-project.org/db/?f=8b821b17a8c83fa5db866f34a5b4dfe74d640a32

Processor: Intel Xeon X5687

$ uname -a

Linux WorkStation-T5500 5.4.0-56-lowlatency #62-Ubuntu SMP PREEMPT Mon 
Nov 23 20:19:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux



I have tried:

5.4.0-56-generic and -lowlatency

5.8.0-31-generic and -lowlatency

setting cpu governor to performance

using nouveau driver over nvidia



When playing a file with aplay like this:

systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio.service
aplay -D plughw:CARD=UR22 ./test.wav



slight crackling can be heard every 5-10 seconds. It also appears, that 
the clicks heard are not always on both channels, sometimes the left 
stereo channel clicks, sometimes the right, sometimes both.



Plugging the Interface into different USB-ports doesn't help. The only 
external devices connected via USB are my mouse and my keyboard. On 
Wndows the same setup on the same machine works fine.

To make things even weirder, using the same audio interface on my 
Thinkpad x220 (Core i5-2540M) with ubuntu 20.04 and 5.4.0.56-lowlatency 
does not show this problem.



Running dmesg seems to show nothing audio driver related after:

[ 22.425520] usbcore: registered new interface driver snd-usb-audio



I have found a similar issue showcasing the problem on manjaro with a 
differend soundcard. Therefore I suspect the problem is caused by ALSA 
interacting with the hardware.

https://forum.manjaro.org/t/pops-clicks-on-audio-interface/40129



Here is another occurence on ubuntu on yet another audio interface.

https://askubuntu.com/questions/1256787/ubuntu-2004-novation-xiosynth-external-usb-audio-interface-producing-popping



If I can supply more information I'm happy to help. I couldn't find a 
similar issue in this mailing list, so if this is already fixed I 
apologize in advance.



Kilian



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 10:15 Steinberg UR22 Crackling and Clicks meschi
@ 2020-12-08 10:34 ` Takashi Iwai
  2020-12-08 14:50   ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-08 10:34 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Tue, 08 Dec 2020 11:15:08 +0100,
meschi@posteo.de wrote:
> 
> Hi,
> 
> I am using a Steinberg UR22 audio interface. Since installing Ubuntu
> 20.04 on my workstation I have slight crackling in audio playback. It
> doesn't matter if the audio gets routed through pulse, jack or played
> straight to alsa. When running jack, the crackling is not showing any
> xruns. It's not possible to get any glitch-free playback in the
> system. The onboard intel audio works fine.
> 
> My system:
> 
> alsa info:
> alsa-project.org/db/?f=8b821b17a8c83fa5db866f34a5b4dfe74d640a32
> 
> Processor: Intel Xeon X5687
> 
> $ uname -a
> 
> Linux WorkStation-T5500 5.4.0-56-lowlatency #62-Ubuntu SMP PREEMPT Mon
> Nov 23 20:19:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
> 
> 
> 
> I have tried:
> 
> 5.4.0-56-generic and -lowlatency
> 
> 5.8.0-31-generic and -lowlatency
> 
> setting cpu governor to performance
> 
> using nouveau driver over nvidia
> 
> 
> 
> When playing a file with aplay like this:
> 
> systemctl --user stop pulseaudio.socket
> systemctl --user stop pulseaudio.service
> aplay -D plughw:CARD=UR22 ./test.wav
> 
> 
> 
> slight crackling can be heard every 5-10 seconds. It also appears,
> that the clicks heard are not always on both channels, sometimes the
> left stereo channel clicks, sometimes the right, sometimes both.
> 
> 
> 
> Plugging the Interface into different USB-ports doesn't help. The only
> external devices connected via USB are my mouse and my keyboard. On
> Wndows the same setup on the same machine works fine.
> 
> To make things even weirder, using the same audio interface on my
> Thinkpad x220 (Core i5-2540M) with ubuntu 20.04 and
> 5.4.0.56-lowlatency does not show this problem.
> 
> 
> 
> Running dmesg seems to show nothing audio driver related after:
> 
> [ 22.425520] usbcore: registered new interface driver snd-usb-audio
> 
> 
> 
> I have found a similar issue showcasing the problem on manjaro with a
> differend soundcard. Therefore I suspect the problem is caused by ALSA
> interacting with the hardware.
> 
> https://forum.manjaro.org/t/pops-clicks-on-audio-interface/40129
> 
> 
> 
> Here is another occurence on ubuntu on yet another audio interface.
> 
> https://askubuntu.com/questions/1256787/ubuntu-2004-novation-xiosynth-external-usb-audio-interface-producing-popping
> 
> 
> 
> If I can supply more information I'm happy to help. I couldn't find a
> similar issue in this mailing list, so if this is already fixed I
> apologize in advance.

It's likely the issues with the implicit feedback.

The latest development tree (either linux-next tree or
topic/usb-audio-refactoring branch of my sound.git tree) contains the
improvements of the implicit feedback mode.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 10:34 ` Takashi Iwai
@ 2020-12-08 14:50   ` meschi
  2020-12-08 14:57     ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-08 14:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

> It's likely the issues with the implicit feedback.
> 
> The latest development tree (either linux-next tree or
> topic/usb-audio-refactoring branch of my sound.git tree) contains the
> improvements of the implicit feedback mode.
> 
> 
> Takashi

Here is the cropped lsusb -v output:
I also have dmesg output with debug boot flag enabled.

Bus 001 Device 003: ID 0499:1509 Yamaha Corp. Steinberg UR22
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass         0
   bDeviceProtocol       255
   bMaxPacketSize0        64
   idVendor           0x0499 Yamaha Corp.
   idProduct          0x1509
   bcdDevice            1.00
   iManufacturer           1
   iProduct                2
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength       0x01ba
     bNumInterfaces          5
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0xc0
       Self Powered
     MaxPower              500mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      1
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  0a 24 01 00 01 34 00 02 01 02
       ** UNRECOGNIZED:  0c 24 02 01 01 01 00 02 03 00 00 00
       ** UNRECOGNIZED:  09 24 03 02 01 03 00 01 00
       ** UNRECOGNIZED:  0c 24 02 03 03 06 00 02 03 00 00 00
       ** UNRECOGNIZED:  09 24 03 04 01 01 00 03 00
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       1
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 01 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 44 ac 00 80 bb 00
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x07  EP 7 OUT
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x002a  1x 42 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       2
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 01 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 88 58 01 00 77 01
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x07  EP 7 OUT
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x004e  1x 78 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        1
       bAlternateSetting       3
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 01 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 10 b1 02 00 ee 02
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x07  EP 7 OUT
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x0096  1x 150 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        2
       bAlternateSetting       0
       bNumEndpoints           0
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        2
       bAlternateSetting       1
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 04 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 44 ac 00 80 bb 00
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x86  EP 6 IN
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x002a  1x 42 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        2
       bAlternateSetting       2
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 04 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 88 58 01 00 77 01
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x86  EP 6 IN
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x004e  1x 78 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        2
       bAlternateSetting       3
       bNumEndpoints           1
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      2
       bInterfaceProtocol      0
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 04 01 01 00
       ** UNRECOGNIZED:  0e 24 02 01 02 03 18 02 10 b1 02 00 ee 02
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x86  EP 6 IN
         bmAttributes            5
           Transfer Type            Isochronous
           Synch Type               Asynchronous
           Usage Type               Data
         wMaxPacketSize     0x0096  1x 150 bytes
         bInterval               1
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        3
       bAlternateSetting       0
       bNumEndpoints           2
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      3
       bInterfaceProtocol    255
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 00 01 24 00
       ** UNRECOGNIZED:  06 24 02 02 01 00
       ** UNRECOGNIZED:  09 24 03 02 01 01 01 01 00
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x01  EP 1 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x82  EP 2 IN
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        4
       bAlternateSetting       0
       bNumEndpoints           2
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass    255 Vendor Specific Subclass
       bInterfaceProtocol    255 Vendor Specific Protocol
       iInterface              0
       ** UNRECOGNIZED:  07 24 01 00 01 24 00
       ** UNRECOGNIZED:  06 24 02 02 01 00
       ** UNRECOGNIZED:  09 24 03 02 01 01 01 01 00
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x03  EP 3 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x84  EP 4 IN
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass            9 Hub
   bDeviceSubClass         0
   bDeviceProtocol         0 Full speed (or root) hub
   bMaxPacketSize0        64
   idVendor           0x1d6b Linux Foundation
   idProduct          0x0002 2.0 root hub
   bcdDevice            5.10
   iManufacturer           3
   iProduct                2
   iSerial                 1
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength       0x0019
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0xe0
       Self Powered
       Remote Wakeup
     MaxPower                0mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           1
       bInterfaceClass         9 Hub
       bInterfaceSubClass      0
       bInterfaceProtocol      0 Full speed (or root) hub
       iInterface              0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0004  1x 4 bytes
         bInterval              12



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 14:50   ` meschi
@ 2020-12-08 14:57     ` Takashi Iwai
  2020-12-08 19:41       ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-08 14:57 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Tue, 08 Dec 2020 15:50:28 +0100,
meschi@posteo.de wrote:
> 
> > It's likely the issues with the implicit feedback.
> >
> > The latest development tree (either linux-next tree or
> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
> > improvements of the implicit feedback mode.
> >
> >
> > Takashi
> 
> Here is the cropped lsusb -v output:
> I also have dmesg output with debug boot flag enabled.
> 
> Bus 001 Device 003: ID 0499:1509 Yamaha Corp. Steinberg UR22

OK, so it's a different device than UR22C.

Try to pass the module option quirk_alias=04991509:0499172f to
snd-usb-audio.  This will make the device compatible with UR22C.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 14:57     ` Takashi Iwai
@ 2020-12-08 19:41       ` meschi
  2020-12-08 20:23         ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-08 19:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel



Am 08.12.2020 15:57 schrieb Takashi Iwai:
> On Tue, 08 Dec 2020 15:50:28 +0100,
> meschi@posteo.de wrote:
>> 
>> > It's likely the issues with the implicit feedback.
>> >
>> > The latest development tree (either linux-next tree or
>> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
>> > improvements of the implicit feedback mode.
>> >
>> >
>> > Takashi
>> 
>> Here is the cropped lsusb -v output:
>> I also have dmesg output with debug boot flag enabled.
>> 
>> Bus 001 Device 003: ID 0499:1509 Yamaha Corp. Steinberg UR22
> 
> OK, so it's a different device than UR22C.
> 
> Try to pass the module option quirk_alias=04991509:0499172f to
> snd-usb-audio.  This will make the device compatible with UR22C.
> 
> 
> Takashi

I removed snd_usb_audio and reloaded it with modprobe with the 
parameters.
$ modprobe snd_usb_audio quirk_alias=04991509:0499172f

When I try to play a file now this happens:
$ aplay -D plughw:CARD=UR22 ./file.wav
Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, 
Stereo
aplay: set_params:1407: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (125011 125012)
PERIOD_SIZE: 5513
PERIOD_BYTES: 22052
PERIODS: (3 4)
BUFFER_TIME: 500000
BUFFER_SIZE: 22050
BUFFER_BYTES: 88200
TICK_TIME: 0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 19:41       ` meschi
@ 2020-12-08 20:23         ` Takashi Iwai
  2020-12-08 20:53           ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-08 20:23 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Tue, 08 Dec 2020 20:41:33 +0100,
meschi@posteo.de wrote:
> 
> 
> 
> Am 08.12.2020 15:57 schrieb Takashi Iwai:
> > On Tue, 08 Dec 2020 15:50:28 +0100,
> > meschi@posteo.de wrote:
> >>
> >> > It's likely the issues with the implicit feedback.
> >> >
> >> > The latest development tree (either linux-next tree or
> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
> >> > improvements of the implicit feedback mode.
> >> >
> >> >
> >> > Takashi
> >>
> >> Here is the cropped lsusb -v output:
> >> I also have dmesg output with debug boot flag enabled.
> >>
> >> Bus 001 Device 003: ID 0499:1509 Yamaha Corp. Steinberg UR22
> >
> > OK, so it's a different device than UR22C.
> >
> > Try to pass the module option quirk_alias=04991509:0499172f to
> > snd-usb-audio.  This will make the device compatible with UR22C.
> >
> >
> > Takashi
> 
> I removed snd_usb_audio and reloaded it with modprobe with the
> parameters.
> $ modprobe snd_usb_audio quirk_alias=04991509:0499172f
> 
> When I try to play a file now this happens:
> $ aplay -D plughw:CARD=UR22 ./file.wav
> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
> Hz, Stereo
> aplay: set_params:1407: Unable to install hw params:

It's a known side-effect of the implicit feedback mode, and the latest
patchset I mentioned earlier addresses the issue.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 20:23         ` Takashi Iwai
@ 2020-12-08 20:53           ` meschi
  2020-12-08 21:29             ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-08 20:53 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel



Am 08.12.2020 21:23 schrieb Takashi Iwai:
> On Tue, 08 Dec 2020 20:41:33 +0100,
> meschi@posteo.de wrote:
>> 
>> 
>> 
>> Am 08.12.2020 15:57 schrieb Takashi Iwai:
>> > On Tue, 08 Dec 2020 15:50:28 +0100,
>> > meschi@posteo.de wrote:
>> >>
>> >> > It's likely the issues with the implicit feedback.
>> >> >
>> >> > The latest development tree (either linux-next tree or
>> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
>> >> > improvements of the implicit feedback mode.
>> >> >
>> >> >
>> >> > Takashi
>> When I try to play a file now this happens:
>> $ aplay -D plughw:CARD=UR22 ./file.wav
>> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
>> Hz, Stereo
>> aplay: set_params:1407: Unable to install hw params:
> 
> It's a known side-effect of the implicit feedback mode, and the latest
> patchset I mentioned earlier addresses the issue.
> 
> 
> Takashi

I'm already running the kernel built from the linux-next tree...
I built next-20201208 from 
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Is there another patch set that I'm missing?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 20:53           ` meschi
@ 2020-12-08 21:29             ` Takashi Iwai
  2020-12-08 22:14               ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-08 21:29 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Tue, 08 Dec 2020 21:53:14 +0100,
meschi@posteo.de wrote:
> 
> 
> 
> Am 08.12.2020 21:23 schrieb Takashi Iwai:
> > On Tue, 08 Dec 2020 20:41:33 +0100,
> > meschi@posteo.de wrote:
> >>
> >>
> >>
> >> Am 08.12.2020 15:57 schrieb Takashi Iwai:
> >> > On Tue, 08 Dec 2020 15:50:28 +0100,
> >> > meschi@posteo.de wrote:
> >> >>
> >> >> > It's likely the issues with the implicit feedback.
> >> >> >
> >> >> > The latest development tree (either linux-next tree or
> >> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
> >> >> > improvements of the implicit feedback mode.
> >> >> >
> >> >> >
> >> >> > Takashi
> >> When I try to play a file now this happens:
> >> $ aplay -D plughw:CARD=UR22 ./file.wav
> >> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
> >> Hz, Stereo
> >> aplay: set_params:1407: Unable to install hw params:
> >
> > It's a known side-effect of the implicit feedback mode, and the latest
> > patchset I mentioned earlier addresses the issue.
> >
> >
> > Takashi
> 
> I'm already running the kernel built from the linux-next tree...
> I built next-20201208 from
> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> Is there another patch set that I'm missing?

Hm, strange.

Please check the contents of /proc/asound/card*/stream* file.  With
the latest patches and the implicit feedback mode, you should see the
lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 21:29             ` Takashi Iwai
@ 2020-12-08 22:14               ` meschi
  2020-12-09  6:58                 ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-08 22:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

>> >> >> > It's likely the issues with the implicit feedback.
>> >> >> >
>> >> >> > The latest development tree (either linux-next tree or
>> >> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
>> >> >> > improvements of the implicit feedback mode.
>> >> >> >
>> >> >> >
>> >> >> > Takashi
>> >> When I try to play a file now this happens:
>> >> $ aplay -D plughw:CARD=UR22 ./file.wav
>> >> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
>> >> Hz, Stereo
>> >> aplay: set_params:1407: Unable to install hw params:
>> >
>> > It's a known side-effect of the implicit feedback mode, and the latest
>> > patchset I mentioned earlier addresses the issue.
>> >
>> >
>> > Takashi
>> 
>> I'm already running the kernel built from the linux-next tree...
>> I built next-20201208 from
>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>> Is there another patch set that I'm missing?
> 
> Hm, strange.
> 
> Please check the contents of /proc/asound/card*/stream* file.  With
> the latest patches and the implicit feedback mode, you should see the
> lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".
> 
> 
> Takashi

Yes, I see this:

Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed : 
USB Audio

Playback:
   Status: Stop
   Interface 1
     Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 44100, 48000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
     Sync Endpoint: 0x81 (1 IN)
     Sync EP Interface: 2
     Sync EP Altset: 1
     Implicit Feedback Mode: Yes
   Interface 1
     Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 88200, 96000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
     Sync Endpoint: 0x81 (1 IN)
     Sync EP Interface: 2
     Sync EP Altset: 1
     Implicit Feedback Mode: Yes
   Interface 1
     Altset 3
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 176400, 192000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
     Sync Endpoint: 0x81 (1 IN)
     Sync EP Interface: 2
     Sync EP Altset: 1
     Implicit Feedback Mode: Yes

Capture:
   Status: Stop
   Interface 2
     Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 44100, 48000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 2
     Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 88200, 96000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 2
     Altset 3
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 176400, 192000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-08 22:14               ` meschi
@ 2020-12-09  6:58                 ` Takashi Iwai
  2020-12-09 11:56                   ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-09  6:58 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Tue, 08 Dec 2020 23:14:41 +0100,
meschi@posteo.de wrote:
> 
> >> >> >> > It's likely the issues with the implicit feedback.
> >> >> >> >
> >> >> >> > The latest development tree (either linux-next tree or
> >> >> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
> >> >> >> > improvements of the implicit feedback mode.
> >> >> >> >
> >> >> >> >
> >> >> >> > Takashi
> >> >> When I try to play a file now this happens:
> >> >> $ aplay -D plughw:CARD=UR22 ./file.wav
> >> >> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
> >> >> Hz, Stereo
> >> >> aplay: set_params:1407: Unable to install hw params:
> >> >
> >> > It's a known side-effect of the implicit feedback mode, and the latest
> >> > patchset I mentioned earlier addresses the issue.
> >> >
> >> >
> >> > Takashi
> >>
> >> I'm already running the kernel built from the linux-next tree...
> >> I built next-20201208 from
> >> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >> Is there another patch set that I'm missing?
> >
> > Hm, strange.
> >
> > Please check the contents of /proc/asound/card*/stream* file.  With
> > the latest patches and the implicit feedback mode, you should see the
> > lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".
> >
> >
> > Takashi
> 
> Yes, I see this:
> 
> Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed :
> USB Audio
> 
> Playback:
>   Status: Stop
>   Interface 1
>     Altset 1
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x07 (7 OUT) (ASYNC)
>     Rates: 44100, 48000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR
>     Sync Endpoint: 0x81 (1 IN)
>     Sync EP Interface: 2
>     Sync EP Altset: 1
>     Implicit Feedback Mode: Yes
>   Interface 1
>     Altset 2
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x07 (7 OUT) (ASYNC)
>     Rates: 88200, 96000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR
>     Sync Endpoint: 0x81 (1 IN)
>     Sync EP Interface: 2
>     Sync EP Altset: 1
>     Implicit Feedback Mode: Yes
>   Interface 1
>     Altset 3
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x07 (7 OUT) (ASYNC)
>     Rates: 176400, 192000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR
>     Sync Endpoint: 0x81 (1 IN)
>     Sync EP Interface: 2
>     Sync EP Altset: 1
>     Implicit Feedback Mode: Yes
> 
> Capture:
>   Status: Stop
>   Interface 2
>     Altset 1
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x86 (6 IN) (ASYNC)
>     Rates: 44100, 48000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR
>   Interface 2
>     Altset 2
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x86 (6 IN) (ASYNC)
>     Rates: 88200, 96000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR
>   Interface 2
>     Altset 3
>     Format: S24_3LE
>     Channels: 2
>     Endpoint: 0x86 (6 IN) (ASYNC)
>     Rates: 176400, 192000
>     Data packet interval: 125 us
>     Bits: 24
>     Channel map: FL FR

OK, then it means that your device isn't compatible with UR22C.
It has a different endpoint assignment.

What happens if you run this kernel without quirk_alias option?
Is the implicit feedback still set?


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09  6:58                 ` Takashi Iwai
@ 2020-12-09 11:56                   ` meschi
  2020-12-09 12:00                     ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-09 11:56 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

>> >> >> >> > It's likely the issues with the implicit feedback.
>> >> >> >> >
>> >> >> >> > The latest development tree (either linux-next tree or
>> >> >> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
>> >> >> >> > improvements of the implicit feedback mode.
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > Takashi
>> >> >> When I try to play a file now this happens:
>> >> >> $ aplay -D plughw:CARD=UR22 ./file.wav
>> >> >> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
>> >> >> Hz, Stereo
>> >> >> aplay: set_params:1407: Unable to install hw params:
>> >> >
>> >> > It's a known side-effect of the implicit feedback mode, and the latest
>> >> > patchset I mentioned earlier addresses the issue.
>> >> >
>> >> >
>> >> > Takashi
>> >>
>> >> I'm already running the kernel built from the linux-next tree...
>> >> I built next-20201208 from
>> >> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>> >> Is there another patch set that I'm missing?
>> >
>> > Hm, strange.
>> >
>> > Please check the contents of /proc/asound/card*/stream* file.  With
>> > the latest patches and the implicit feedback mode, you should see the
>> > lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".
>> >
>> >
>> > Takashi
>> 
>> Yes, I see this:
>> 
>> Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed :
>> USB Audio
>> 
>> Playback:
>>   Status: Stop
>>   Interface 1
>>     Altset 1
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x07 (7 OUT) (ASYNC)
>>     Rates: 44100, 48000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
>>     Sync Endpoint: 0x81 (1 IN)
>>     Sync EP Interface: 2
>>     Sync EP Altset: 1
>>     Implicit Feedback Mode: Yes
>>   Interface 1
>>     Altset 2
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x07 (7 OUT) (ASYNC)
>>     Rates: 88200, 96000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
>>     Sync Endpoint: 0x81 (1 IN)
>>     Sync EP Interface: 2
>>     Sync EP Altset: 1
>>     Implicit Feedback Mode: Yes
>>   Interface 1
>>     Altset 3
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x07 (7 OUT) (ASYNC)
>>     Rates: 176400, 192000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
>>     Sync Endpoint: 0x81 (1 IN)
>>     Sync EP Interface: 2
>>     Sync EP Altset: 1
>>     Implicit Feedback Mode: Yes
>> 
>> Capture:
>>   Status: Stop
>>   Interface 2
>>     Altset 1
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x86 (6 IN) (ASYNC)
>>     Rates: 44100, 48000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
>>   Interface 2
>>     Altset 2
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x86 (6 IN) (ASYNC)
>>     Rates: 88200, 96000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
>>   Interface 2
>>     Altset 3
>>     Format: S24_3LE
>>     Channels: 2
>>     Endpoint: 0x86 (6 IN) (ASYNC)
>>     Rates: 176400, 192000
>>     Data packet interval: 125 us
>>     Bits: 24
>>     Channel map: FL FR
> 
> OK, then it means that your device isn't compatible with UR22C.
> It has a different endpoint assignment.
> 
> What happens if you run this kernel without quirk_alias option?
> Is the implicit feedback still set?
> 
> 
> Takashi

When running it without the quirk_alias option implicit feedback isn't 
set. I have appended the output at the end of this mail. Does this mean 
the card runs with explicit feedback, or with no feedback at all? I've 
tested this on other linux distros (Fedora 33, Kernel 5.8 and Ubuntu 
14.04.6 LTS Kernel 4.4 or 4.6, don't remember exactly), problem still 
exists, so this doesn't look like a regression to me.
Just to be sure: the last commits to pcm.c and implicit.h in my tree are 
from Nov. 23. Is that correct? I don't find the 
topic/usb-audio-refactoring branch on the public git mirrors of 
tiwai/sound, so not sure I'm running the latest changes.

Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed : 
USB Audio

Playback:
   Status: Stop
   Interface 1
     Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 44100, 48000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 1
     Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 88200, 96000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 1
     Altset 3
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x07 (7 OUT) (ASYNC)
     Rates: 176400, 192000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR

Capture:
   Status: Stop
   Interface 2
     Altset 1
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 44100, 48000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 2
     Altset 2
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 88200, 96000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR
   Interface 2
     Altset 3
     Format: S24_3LE
     Channels: 2
     Endpoint: 0x86 (6 IN) (ASYNC)
     Rates: 176400, 192000
     Data packet interval: 125 us
     Bits: 24
     Channel map: FL FR



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09 11:56                   ` meschi
@ 2020-12-09 12:00                     ` Takashi Iwai
  2020-12-09 12:10                       ` meschi
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-09 12:00 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Wed, 09 Dec 2020 12:56:55 +0100,
meschi@posteo.de wrote:
> 
> >> >> >> >> > It's likely the issues with the implicit feedback.
> >> >> >> >> >
> >> >> >> >> > The latest development tree (either linux-next tree or
> >> >> >> >> > topic/usb-audio-refactoring branch of my sound.git tree) contains the
> >> >> >> >> > improvements of the implicit feedback mode.
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > Takashi
> >> >> >> When I try to play a file now this happens:
> >> >> >> $ aplay -D plughw:CARD=UR22 ./file.wav
> >> >> >> Playing WAVE './file.wav' : Signed 16 bit Little Endian, Rate 44100
> >> >> >> Hz, Stereo
> >> >> >> aplay: set_params:1407: Unable to install hw params:
> >> >> >
> >> >> > It's a known side-effect of the implicit feedback mode, and the latest
> >> >> > patchset I mentioned earlier addresses the issue.
> >> >> >
> >> >> >
> >> >> > Takashi
> >> >>
> >> >> I'm already running the kernel built from the linux-next tree...
> >> >> I built next-20201208 from
> >> >> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >> >> Is there another patch set that I'm missing?
> >> >
> >> > Hm, strange.
> >> >
> >> > Please check the contents of /proc/asound/card*/stream* file.  With
> >> > the latest patches and the implicit feedback mode, you should see the
> >> > lines like "Sync Endpoint: 0x...." and "Implicit Feedback Mode: yes".
> >> >
> >> >
> >> > Takashi
> >>
> >> Yes, I see this:
> >>
> >> Yamaha Corporation Steinberg UR22 at usb-0000:00:1a.7-3, high speed :
> >> USB Audio
> >>
> >> Playback:
> >>   Status: Stop
> >>   Interface 1
> >>     Altset 1
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x07 (7 OUT) (ASYNC)
> >>     Rates: 44100, 48000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >>     Sync Endpoint: 0x81 (1 IN)
> >>     Sync EP Interface: 2
> >>     Sync EP Altset: 1
> >>     Implicit Feedback Mode: Yes
> >>   Interface 1
> >>     Altset 2
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x07 (7 OUT) (ASYNC)
> >>     Rates: 88200, 96000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >>     Sync Endpoint: 0x81 (1 IN)
> >>     Sync EP Interface: 2
> >>     Sync EP Altset: 1
> >>     Implicit Feedback Mode: Yes
> >>   Interface 1
> >>     Altset 3
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x07 (7 OUT) (ASYNC)
> >>     Rates: 176400, 192000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >>     Sync Endpoint: 0x81 (1 IN)
> >>     Sync EP Interface: 2
> >>     Sync EP Altset: 1
> >>     Implicit Feedback Mode: Yes
> >>
> >> Capture:
> >>   Status: Stop
> >>   Interface 2
> >>     Altset 1
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x86 (6 IN) (ASYNC)
> >>     Rates: 44100, 48000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >>   Interface 2
> >>     Altset 2
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x86 (6 IN) (ASYNC)
> >>     Rates: 88200, 96000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >>   Interface 2
> >>     Altset 3
> >>     Format: S24_3LE
> >>     Channels: 2
> >>     Endpoint: 0x86 (6 IN) (ASYNC)
> >>     Rates: 176400, 192000
> >>     Data packet interval: 125 us
> >>     Bits: 24
> >>     Channel map: FL FR
> >
> > OK, then it means that your device isn't compatible with UR22C.
> > It has a different endpoint assignment.
> >
> > What happens if you run this kernel without quirk_alias option?
> > Is the implicit feedback still set?
> >
> >
> > Takashi
> 
> When running it without the quirk_alias option implicit feedback isn't
> set.

Then try to pass implicit_fb=1 option to snd-usb-audio module.
It's a new option that was added recently.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09 12:00                     ` Takashi Iwai
@ 2020-12-09 12:10                       ` meschi
  2020-12-09 12:13                         ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: meschi @ 2020-12-09 12:10 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

> Then try to pass implicit_fb=1 option to snd-usb-audio module.
> It's a new option that was added recently.
> 
> 
> Takashi

Nice, that did the trick. there was a small glitch on first playback but 
I can not reproduce it now. Playback seems glitch-free now. I will test 
it with pulseaudio in the gui if I can. It's not quite easy to test, 
because the system locks up after a while with the new kernel and gnome 
3. I will also test concurrent playback and recording, too. Thank you 
very much, that was a huge help!

Kilian

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09 12:10                       ` meschi
@ 2020-12-09 12:13                         ` Takashi Iwai
  2020-12-09 16:07                           ` Kilian
  0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2020-12-09 12:13 UTC (permalink / raw)
  To: meschi; +Cc: alsa-devel

On Wed, 09 Dec 2020 13:10:17 +0100,
meschi@posteo.de wrote:
> 
> > Then try to pass implicit_fb=1 option to snd-usb-audio module.
> > It's a new option that was added recently.
> >
> >
> > Takashi
> 
> Nice, that did the trick. there was a small glitch on first playback
> but I can not reproduce it now. Playback seems glitch-free now. I will
> test it with pulseaudio in the gui if I can. It's not quite easy to
> test, because the system locks up after a while with the new kernel
> and gnome 3. I will also test concurrent playback and recording,
> too. Thank you very much, that was a huge help!

Good to hear.  If the implicit_fb option works, we can add a static
quirk table entry easily.  Just add IMPLICIT_FB_GENERIC_DEV() with the
device ID to playback_implicit_fb_quirks[] table in
sound/usb/implicit.c.


Takashi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09 12:13                         ` Takashi Iwai
@ 2020-12-09 16:07                           ` Kilian
  2020-12-09 16:09                             ` Takashi Iwai
  0 siblings, 1 reply; 17+ messages in thread
From: Kilian @ 2020-12-09 16:07 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

>> > Then try to pass implicit_fb=1 option to snd-usb-audio module.
>> > It's a new option that was added recently.
>> >
>> >
>> > Takashi
>> 
>> Nice, that did the trick. there was a small glitch on first playback
>> but I can not reproduce it now. Playback seems glitch-free now. I will
>> test it with pulseaudio in the gui if I can. It's not quite easy to
>> test, because the system locks up after a while with the new kernel
>> and gnome 3. I will also test concurrent playback and recording,
>> too. Thank you very much, that was a huge help!
> 
> Good to hear.  If the implicit_fb option works, we can add a static
> quirk table entry easily.  Just add IMPLICIT_FB_GENERIC_DEV() with the
> device ID to playback_implicit_fb_quirks[] table in
> sound/usb/implicit.c.
> 
> 
> Takashi

Still having problems with the nouveau driver, so i couldn't thest this 
with pulseaudio. Recording with arecord works parallel to playing back 
with aplay. so here is my patch for implicit.c

diff --git a/sound/usb/implicit.c b/sound/usb/implicit.c
index 386198b36b87..c729ff634b9d 100644
--- a/sound/usb/implicit.c
+++ b/sound/usb/implicit.c
@@ -46,6 +46,7 @@ static const struct snd_usb_implicit_fb_match 
playback_implicit_fb_quirks[] = {
         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2081), /* M-Audio FastTrack 
Ultra */
         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2030), /* M-Audio Fast Track 
C400 */
         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2031), /* M-Audio Fast Track 
C600 */
+       IMPLICIT_FB_GENERIC_DEV(0x0499, 0x1509), /* Steinberg UR22 */

         /* Fixed EP */
         /* FIXME: check the availability of generic matching */

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
  2020-12-09 16:07                           ` Kilian
@ 2020-12-09 16:09                             ` Takashi Iwai
  0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2020-12-09 16:09 UTC (permalink / raw)
  To: Kilian; +Cc: alsa-devel

On Wed, 09 Dec 2020 17:07:53 +0100,
Kilian wrote:
> 
> >> > Then try to pass implicit_fb=1 option to snd-usb-audio module.
> >> > It's a new option that was added recently.
> >> >
> >> >
> >> > Takashi
> >>
> >> Nice, that did the trick. there was a small glitch on first playback
> >> but I can not reproduce it now. Playback seems glitch-free now. I will
> >> test it with pulseaudio in the gui if I can. It's not quite easy to
> >> test, because the system locks up after a while with the new kernel
> >> and gnome 3. I will also test concurrent playback and recording,
> >> too. Thank you very much, that was a huge help!
> >
> > Good to hear.  If the implicit_fb option works, we can add a static
> > quirk table entry easily.  Just add IMPLICIT_FB_GENERIC_DEV() with the
> > device ID to playback_implicit_fb_quirks[] table in
> > sound/usb/implicit.c.
> >
> >
> > Takashi
> 
> Still having problems with the nouveau driver, so i couldn't thest
> this with pulseaudio. Recording with arecord works parallel to playing
> back with aplay. so here is my patch for implicit.c

OK, I'll cook up the proper patch and submit for 5.11 merge.


thanks,

Takashi

> diff --git a/sound/usb/implicit.c b/sound/usb/implicit.c
> index 386198b36b87..c729ff634b9d 100644
> --- a/sound/usb/implicit.c
> +++ b/sound/usb/implicit.c
> @@ -46,6 +46,7 @@ static const struct snd_usb_implicit_fb_match
> playback_implicit_fb_quirks[] = {
>         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2081), /* M-Audio FastTrack
> Ultra */
>         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2030), /* M-Audio Fast Track
> C400 */
>         IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2031), /* M-Audio Fast Track
> C600 */
> +       IMPLICIT_FB_GENERIC_DEV(0x0499, 0x1509), /* Steinberg UR22 */
> 
>         /* Fixed EP */
>         /* FIXME: check the availability of generic matching */
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Steinberg UR22 Crackling and Clicks
@ 2020-12-08 14:00 meschi
  0 siblings, 0 replies; 17+ messages in thread
From: meschi @ 2020-12-08 14:00 UTC (permalink / raw)
  To: Alsa devel



-------- Originalnachricht --------
Betreff: Re: Steinberg UR22 Crackling and Clicks
Datum: 08.12.2020 14:58
Von: meschi@posteo.de
An: Takashi Iwai <tiwai@suse.de>

> It's likely the issues with the implicit feedback.
> 
> The latest development tree (either linux-next tree or
> topic/usb-audio-refactoring branch of my sound.git tree) contains the
> improvements of the implicit feedback mode.
> 
> 
> Takashi

I've compiled a kernel from 
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
uname -a is "Linux meschi-Precision-WorkStation-T5500 
5.10.0-rc7-next-20201208 #1 SMP PREEMPT Tue Dec 8 12:28:39 CET 2020 
x86_64 x86_64 x86_64 GNU/Linux"
The problem is still there. Is it possible to fallback to explicit 
feedback mode for the device from user space?
I'd like to learn more about these feedback modes, is there a place 
where this is explained?
I'm curious how this device is working on another machine. I'm not quite 
proficient with the alsa kernel subsystem to debug this myself,
but I would be happy to test patches and learn along the way if somebody 
is interested in debugging this.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2020-12-09 16:10 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-08 10:15 Steinberg UR22 Crackling and Clicks meschi
2020-12-08 10:34 ` Takashi Iwai
2020-12-08 14:50   ` meschi
2020-12-08 14:57     ` Takashi Iwai
2020-12-08 19:41       ` meschi
2020-12-08 20:23         ` Takashi Iwai
2020-12-08 20:53           ` meschi
2020-12-08 21:29             ` Takashi Iwai
2020-12-08 22:14               ` meschi
2020-12-09  6:58                 ` Takashi Iwai
2020-12-09 11:56                   ` meschi
2020-12-09 12:00                     ` Takashi Iwai
2020-12-09 12:10                       ` meschi
2020-12-09 12:13                         ` Takashi Iwai
2020-12-09 16:07                           ` Kilian
2020-12-09 16:09                             ` Takashi Iwai
2020-12-08 14:00 meschi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.