Skip to content

Instantly share code, notes, and snippets.

@andersondanilo
Last active October 27, 2024 23:48
Show Gist options
  • Save andersondanilo/3c66fff45e27cbedfb0cb5cc5cc6d0eb to your computer and use it in GitHub Desktop.
Save andersondanilo/3c66fff45e27cbedfb0cb5cc5cc6d0eb to your computer and use it in GitHub Desktop.
ms2109 linux (MacroSilicon USB Video)

Play

ffplay -f video4linux2 -framerate 60 -video_size 1920x1080 -input_format mjpeg /dev/video2

You can try other video number (video3, video4)

Maybe you need:

Create: /etc/udev/rules.d/91-hdmi-to-usb-ms2109.rules With:

# For HDMI-to-USB adaptor:
SUBSYSTEM=="usb", DRIVER=="snd-usb-audio", ATTRS{idProduct}=="2109", ATTRS{idVendor}=="534d", \
    RUN+="/bin/sh -c 'echo -n $kernel > /sys/bus/usb/drivers/snd-usb-audio/unbind'"

SUBSYSTEM=="usb", DRIVER=="snd-usb-audio", ATTRS{idProduct}=="2109", ATTRS{idVendor}=="534d", \
    ATTR{bInterfaceNumber}=="00", RUN+="/bin/sh -c 'sleep 1; echo -n $kernel > /sys/bus/usb/drivers/uvcvideo/bind'"

Reload: sudo udevadm control --reload-rules

then unplug and replug, and it should start working.

Info source

https://www.mjt.me.uk/posts/fixing-missing-macrosilicon-ms2109/ https://bbs.archlinux.org/viewtopic.php?pid=1919811#p1919811

@kienvo
Copy link

kienvo commented May 18, 2024

Nice.
Actually, no need to touch the udev rules, just add yourself to video and audio groups.

usermod -aG video $USER 
usermod -aG audio $USER 

Refresh without re-login:

newgrp video
newgrp audio

@kjessec
Copy link

kjessec commented Oct 27, 2024

why do you need the unbind audio part? wouldn't this effectively disable audio input

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment