On Mon, 13 Feb 2023 08:57:19 +0100, Florian Hänel wrote: > > I have this USB device called TC-Helicon Blender which provides 12 > input streams, 8 output streams (6/4 stereo plugs), in addition to > some midi interface and internal playback and record channel. > > Bus 005 Device 016: ID 1220:8fe1 TC Electronic Blender > > If I power the device on while connected to a windows machine with its > driver installed, then plug it into my linux machine, it appears to > work correctly: > > arecord -D front:CARD=Blender -r48000 -fS32_LE -c 12 blender.wav -d 20 > Recording WAVE 'blender.wav' : Signed 32 bit Little Endian, Rate 48000 > Hz, Channels 12 > > 46080044 blender.wav > > However if I have it on my linux machine while powering it on, I only > get timeouts and no samples from arecord: > > arecord -D front:CARD=Blender -r48000 -fS32_LE -c 12 blender.wav -d 20 > Recording WAVE 'blender.wav' : Signed 32 bit Little Endian, Rate 48000 > Hz, Channels 12 > arecord: pcm_read:2221: read error: Input/output error > > 44 blender.wav So the device didn't give any data. > What can I do to try and get this device to init correctly under > linux? I have captured USB packets of the init phase using wireshark > on both windows and linux but comparing them is tedious if I don't > know what to look for. Are there quirks flags I can play around with? > This is my first time looking at a linux device driver issue like > this. Is it only about capture, i.e. playback works? Also, which kernel version are you testing? There are lots of quirks in USB-audio driver, take a look at sound/usb/quirks.c. You can apply the existing quirk for your device with quirk_alias module option. > Would it be ok to attach the usb captures on this mailing list? The size matters, so no big data please. Takashi