Bug 1205111 - USB audio interface Edirol M-100FX is not recognized as audio interface anymore with kernel version > 6.0.2
USB audio interface Edirol M-100FX is not recognized as audio interface anymo...
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
Current
x86-64 Other
: P5 - None : Normal (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-11-06 21:56 UTC by Wolfgang Engel
Modified: 2022-11-08 07:47 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
dmesg kernel 6.0.2 (69.14 KB, text/plain)
2022-11-06 21:56 UTC, Wolfgang Engel
Details
dmesg kernel 6.0.6 (68.62 KB, text/plain)
2022-11-06 21:57 UTC, Wolfgang Engel
Details
lsusb on kernel 6.0.2 (444 bytes, text/plain)
2022-11-06 21:57 UTC, Wolfgang Engel
Details
lsusb on kernel 6.0.6 (444 bytes, text/plain)
2022-11-06 21:58 UTC, Wolfgang Engel
Details
lsusb -vv on kernel 6.0.2 (44.19 KB, text/plain)
2022-11-06 21:58 UTC, Wolfgang Engel
Details
lsusb -vv on kernel 6.0.6 (44.19 KB, text/plain)
2022-11-06 21:58 UTC, Wolfgang Engel
Details
alsa-info on kernel 6.0.2 (63.49 KB, text/plain)
2022-11-07 11:40 UTC, Wolfgang Engel
Details
alsa-info on kernel 6.0.6 (54.25 KB, text/plain)
2022-11-07 11:40 UTC, Wolfgang Engel
Details
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.6 (67.90 KB, text/plain)
2022-11-07 11:41 UTC, Wolfgang Engel
Details
Test fix patch (3.09 KB, patch)
2022-11-07 12:09 UTC, Takashi Iwai
Details | Diff
alsa-info on kernel 6.0.7-1.g590d345 (54.21 KB, text/plain)
2022-11-07 13:26 UTC, Wolfgang Engel
Details
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-1.g590d345 (69.39 KB, text/plain)
2022-11-07 13:26 UTC, Wolfgang Engel
Details
Revised test fix patch (1.52 KB, patch)
2022-11-07 14:01 UTC, Takashi Iwai
Details | Diff
Additional cleanup patch (2.95 KB, patch)
2022-11-07 14:01 UTC, Takashi Iwai
Details | Diff
Revised test fix patch (v2) (1.42 KB, patch)
2022-11-07 14:38 UTC, Takashi Iwai
Details | Diff
alsa-info on kernel 6.0.7-3.1.g413fea4 (54.20 KB, text/plain)
2022-11-07 16:09 UTC, Wolfgang Engel
Details
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-3.1.g413fea4 (68.39 KB, text/plain)
2022-11-07 16:10 UTC, Wolfgang Engel
Details
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-4.ge0a2b69 (81.79 KB, text/plain)
2022-11-07 20:26 UTC, Wolfgang Engel
Details
alsa-info on kernel 6.0.7-4.ge0a2b69 (64.96 KB, text/plain)
2022-11-07 20:26 UTC, Wolfgang Engel
Details
Revised fix patch (v3) (2.92 KB, patch)
2022-11-08 07:09 UTC, Takashi Iwai
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Engel 2022-11-06 21:56:25 UTC
Created attachment 862676 [details]
dmesg kernel 6.0.2

My USB audio interface is not recognized as audio interface anymore after upgrading to kernel version > 6.0.2

With kernel 6.0.2 the interface shows up correctly with aplay -l :

**** List of PLAYBACK Hardware Devices ****
card 0: M100FX [EDIROL M-100FX], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3235 Analog [ALC3235 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


With kernel 6.0.3 it doesn't show up anymore:

**** List of PLAYBACK Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3235 Analog [ALC3235 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I attached the output from dmesg, lsusb and lsusb -vv from kernel version 6.0.2 and 6.0.6
Comment 1 Wolfgang Engel 2022-11-06 21:57:08 UTC
Created attachment 862677 [details]
dmesg kernel 6.0.6
Comment 2 Wolfgang Engel 2022-11-06 21:57:44 UTC
Created attachment 862678 [details]
lsusb on kernel 6.0.2
Comment 3 Wolfgang Engel 2022-11-06 21:58:03 UTC
Created attachment 862679 [details]
lsusb on kernel 6.0.6
Comment 4 Wolfgang Engel 2022-11-06 21:58:29 UTC
Created attachment 862680 [details]
lsusb -vv on kernel 6.0.2
Comment 5 Wolfgang Engel 2022-11-06 21:58:48 UTC
Created attachment 862681 [details]
lsusb -vv on kernel 6.0.6
Comment 6 Takashi Iwai 2022-11-07 07:01:00 UTC
Please give alsa-info.sh outputs from both working and non-working kernels.
Run the script with --no-upload option and attach the outputs to Bugzilla.
Comment 7 Takashi Iwai 2022-11-07 07:05:18 UTC
Also, please try to boot with snd_usb_audio.dyndbg=+p boot option on the new (broken) kernel and give the dmesg output.
Comment 8 Wolfgang Engel 2022-11-07 11:40:07 UTC
Created attachment 862691 [details]
alsa-info on kernel 6.0.2
Comment 9 Wolfgang Engel 2022-11-07 11:40:44 UTC
Created attachment 862692 [details]
alsa-info on kernel 6.0.6
Comment 10 Wolfgang Engel 2022-11-07 11:41:40 UTC
Created attachment 862693 [details]
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.6
Comment 11 Takashi Iwai 2022-11-07 12:08:39 UTC
Thanks.

This is likely a regression due to the recently introduced workaround for the delayed card registration of USB-audio driver.

I'm building a test kernel with the test fix patch in OBS home:tiwai:bsc1205111 repo.  Once after the build finishes (it takes for an hour or so), could you give it a try later?
Comment 12 Takashi Iwai 2022-11-07 12:09:00 UTC
Created attachment 862694 [details]
Test fix patch
Comment 13 Wolfgang Engel 2022-11-07 13:25:25 UTC
I installed your kernel 6.0.7-1.g590d345 but it has same behavior as kernel 6.0.6 . The audio interface doesn't show up.

I will attach the output of alsa-info.sh on kernel 6.0.7-1.g590d345 and dmesg with kernel option snd_usb_audio.dyndbg=+p on kernel 6.0.7-1.g590d345
Comment 14 Wolfgang Engel 2022-11-07 13:26:16 UTC
Created attachment 862695 [details]
alsa-info on kernel 6.0.7-1.g590d345
Comment 15 Wolfgang Engel 2022-11-07 13:26:41 UTC
Created attachment 862696 [details]
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-1.g590d345
Comment 16 Takashi Iwai 2022-11-07 14:00:32 UTC
Thanks.

I'm rebuilding the test kernel with the revised patches in the same OBS repo home:tiwai:bsc1205111.  The new kernel will have the release number *.g3169fa0.
Please give it a try later again.
Comment 17 Takashi Iwai 2022-11-07 14:01:10 UTC
Created attachment 862699 [details]
Revised test fix patch
Comment 18 Takashi Iwai 2022-11-07 14:01:31 UTC
Created attachment 862700 [details]
Additional cleanup patch
Comment 19 Takashi Iwai 2022-11-07 14:37:55 UTC
Oops, there was a typo in the previous patch.  Now refreshed and re-triggered.
The test kernel will have *.g413fea4 release instead.
Comment 20 Takashi Iwai 2022-11-07 14:38:29 UTC
Created attachment 862701 [details]
Revised test fix patch (v2)
Comment 21 Wolfgang Engel 2022-11-07 16:09:28 UTC
With kernel 6.0.7-3.1.g413fea4 the audio interface also don't show up.

I will attach the output of alsa-info and dmesg with kernel option
Comment 22 Wolfgang Engel 2022-11-07 16:09:55 UTC
Created attachment 862707 [details]
alsa-info on kernel 6.0.7-3.1.g413fea4
Comment 23 Wolfgang Engel 2022-11-07 16:10:39 UTC
Created attachment 862708 [details]
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-3.1.g413fea4
Comment 24 Takashi Iwai 2022-11-07 17:32:24 UTC
Hmm, it's deeper than I thought :-<

Now rebuilding again yet with a debug patch.  In the same OBS repo, a new kernel will have the release *.ge0a2b69.  This might work differently, but in anyway please give the dmesg with dyndbg again.
Comment 25 Wolfgang Engel 2022-11-07 20:25:44 UTC
Kernel 6.0.7-4.ge0a2b69 works!

Please find dmesg and alsa-info attached.
Comment 26 Wolfgang Engel 2022-11-07 20:26:17 UTC
Created attachment 862714 [details]
dmesg with snd_usb_audio.dyndbg=+p option on kernel 6.0.7-4.ge0a2b69
Comment 27 Wolfgang Engel 2022-11-07 20:26:43 UTC
Created attachment 862715 [details]
alsa-info on kernel 6.0.7-4.ge0a2b69
Comment 28 Takashi Iwai 2022-11-08 07:09:07 UTC
(In reply to Wolfgang Engel from comment #25)
> Kernel 6.0.7-4.ge0a2b69 works!

Good to hear!

The problem was two folds: the device declares the third interface as a MIDI interface, but the driver couldn't probe it because the descriptor is vendor-specific and incomplete.  Meanwhile, there was a bug in the driver that skips the card registration if the interface probe fails, and since the failed interface is the last one, the whole card registration is skipped.

I'm going to submit the fixes to the upstream and backport to TW and other kernels.

So the last question is: does this device have really a MIDI interface?  Through a quick glance at web pages, there seems no (physical) MIDI I/O.  If there is any, I can provide a patch to forcibly enable the interface, too.
Comment 29 Takashi Iwai 2022-11-08 07:09:59 UTC
Created attachment 862719 [details]
Revised fix patch (v3)
Comment 30 Wolfgang Engel 2022-11-08 07:37:59 UTC
Many thanks for fix and the explanation!

The audio interface doesn't have any physical MIDI connectors. So not sure where this declaration comes from.
Comment 31 Takashi Iwai 2022-11-08 07:47:38 UTC
OK, thanks, then it's fine as is.  The fixes are on the way for merge, let's close the bug.