FS#67460 - USB 534d:2109 MacroSilicon not properly picked up by uvcvideo

Attached to Project: Arch Linux
Opened by ldiamond (ldiamond) - Saturday, 01 August 2020, 14:59 GMT
Last edited by freswa (frederik) - Monday, 10 August 2020, 12:24 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To freswa (frederik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Somewhere between ]5.7.7-5.7.10] HDMI capture card 534d:2109 MacroSilicon has stopped working as a video source.

dmesg shows the device connecting but no longer picked up by uvcvideo
no /dev/videoX device is created for it

5.7.11 Also does not work.
5.7.11-zen works fine.

Steps to reproduce:
Install 5.7.10+ and plug in the capture card
Note that this bug has been observed on one of my machine but can't be reproduced on another. There seems to be additional (unknown for now) components to this issue.
This task depends upon

Closed by  freswa (frederik)
Monday, 10 August 2020, 12:24 GMT
Reason for closing:  Upstream
Comment by ldiamond (ldiamond) - Saturday, 01 August 2020, 15:33 GMT
Seems like I spoke too soon. The device was working fine on 5.7.11-zen but no longer works after a reboot.

I tried rebooting several times and it still will not be picked up as a video device on zen.
Comment by ldiamond (ldiamond) - Saturday, 01 August 2020, 17:39 GMT
UPDATE:
I found how to repro and consequently, the cause and a workaround.

The reason why it was working on one computer and not the other was that there is a USB microphone connected to the non-working machine. It seems like snd_usb_audio being loaded causes the hdmi capture card to not be picked up by uvcvideo. When looking at the device, in working condition, there are 2x uvcvideo and 2x snd_usb_audio devices reported. When snd_usb_audio was loaded before, it reported 4x snd_usb_audio.

Comment by ldiamond (ldiamond) - Sunday, 02 August 2020, 13:48 GMT
  • Field changed: Percent Complete (100% → 0%)
I've spent 2 days on IRC and nobody can figure out why. The fact that snd_usb_audio is being used on a uvcvideo device seems like a bug to me.
Comment by freswa (frederik) - Sunday, 02 August 2020, 13:48 GMT
I see that this is causing you trouble. Though, I don't see where we can do anything on the packaging site. Maybe you wanna try the arch forums or a forum dedicated to video capture? It could be worth a try to either bisect the kernel to get the bad commit (to revert that commit) or to try to blacklist that device for the snd_usb_audio driver to keep it from picking up that device.
Comment by ldiamond (ldiamond) - Sunday, 02 August 2020, 14:13 GMT
After discussion on IRC, I'll report that to the kernel directly instead.
Comment by Hector Martin (marcan) - Monday, 10 August 2020, 12:24 GMT
  • Field changed: Percent Complete (100% → 0%)
Sorry, this was my fault. I added a quirk to fix the stereo audio, but accidentally matched too much and broke video. Fix patch here:

https://mailman.alsa-project.org/pipermail/alsa-devel/2020-August/172096.html

The easy workaround until that goes through is to unload uvcvideo and snd-usb-audio, then load uvcvideo first and snd-usb-audio second with the device plugged in.

Loading...