No video device detected, no dev/video, but lists USB

After the last update crash and reinstall, I installed OBS and can’t seem to find my video camera. It finds my USB plugged-in mic, but not the video.

I have two options to plug the video camera in. USB-C to USB on computer or HDMI to USB on computer.

When connected as HDMI to USB on computer, I see this in the lsusb command:

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 17ef:608c Lenovo Lenovo Calliope USB Keyboard
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 045e:0823 Microsoft Corp. Classic IntelliMouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 008 Device 004: ID 32e4:9415 USB Cam Manufacturer HDMI USB Camera
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

I’m assuming “Bus 008 Device 004: ID 32e4:9415 USB Cam Manufacturer HDMI USB Camera” is the system detecting the device. When I try to see if it’s in dev/video, the folder doesn’t exist. The file video0 exists. I opened it and didn’t see anything I comprehended :frowning:

I’m sure there’s a simple thing to do.

Thanks for all any help you can give me!

tried the common v4l apps?
2024-12-18_00-54
and read this:
https://discovery.endeavouros.com/hardware/webcam-setup/2022/05/

Thanks, I get this:

Cannot open device /dev/video0, exiting.

I guess as long as the folder video isn’t there, there is nothing much I can test. I’m not sure if I should install an LTS kernel?

yes it could be simply a kernel regression

you should try to check journal while plugging it too:
open terminal and run live journal output:
journalctl -f
and plug the camera… it should show output may something helpful.

Simply to plug the video camera in HDMI to USB convertor then into pc USB plug will not work.
Otherwise, when you run the command
$ sudo v4l2-ctl --list-devices
Something like the followings will show up.
USB3.0 Capture: USB3.0 Capture (usb-0000:00:14.0-2.1):
/dev/video0
/dev/video1
/dev/media0

$ lsusb
Bus 001 Device 014: ID 534d:2109 MacroSilicon USB3.0 Capture

I guess you need to have a USB vedio cature hardware device (with a HDMI input plug accepting camera vedio signal and a usb output plug sending vedio signal to pc’s or hub’s usb plug)

This is what I found:

usb 8-1.4: new high-speed USB device number 7 using xhci_hcd
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: New USB device found, idVendor=32e4, idProduct=9415, bcdDevice= 4.19
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: Product: HDMI USB Camera
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: Manufacturer: USB Cam Manufacturer
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: SerialNumber: 90401a0632a24bc2
Dec 19 14:02:15 dragutin kernel: usb 8-1.4: Found multiple Units with ID 4
Dec 19 14:02:15 dragutin mtp-probe[50289]: checking bus 8, device 7: "/sys/devices/pci0000:00/0000:00:04.0/0000:02:00.0/usb8/8-1/8-1.4"
Dec 19 14:02:15 dragutin mtp-probe[50289]: bus: 8, device: 7 was not an MTP device
Dec 19 14:02:15 dragutin mtp-probe[50291]: checking bus 8, device 7: "/sys/devices/pci0000:00/0000:00:04.0/0000:02:00.0/usb8/8-1/8-1.4"
Dec 19 14:02:15 dragutin mtp-probe[50291]: bus: 8, device: 7 was not an MTP device

As far as sudo v4l2-ctl --list-devices, I get:

Dummy video device (0x0000) (platform:v4l2loopback-000):
        /dev/video0

It does detect the camera, but the apps don’t. There is a file called video, but no folder of that name.

Thanks, I plugged USB to USB this time in the answer above :slight_smile:

run OBS
source --click–> + --choose-> video capture V4L2 (yours will be USB Camera V4L2) —> click ‘OK’ in pop-up window of building new source

Then do the following settings:
device --choose-> your USB Camera
input —> Camera 1
video format → YV12 (Emulated)
resolution —> no change
video … rate —> no change
color range —> partial
remaing : default

when all set, press ‘OK’

source --click–> + --choose-> capture sound input (Pulseaudio) —> click ‘OK’ in pop-up window of building new source

device —> your USB Camera stereo analog

when all set, press ‘OK’

If your USB Camera provides sound output, can do similar manual linkings in carla (app) like the followings:

your USB Camera —> Internal Digital Surround 7.1 (HDMI) [ To do recording in OBS, the sound source should be some device like mine in pipewire: alsa_output.pci-0000_00_1f.3.hdmi-surround71.monitor ]

or complicate linking like mine:

your USB Camera —> Lv2_Airwindow-tube2_input —> Lv2_EQ16-Highno_input —> Lv2_EQ16-Rock_input —> Lv2_EQ16-Soft_input —> Reverb_Delay_input —> Simultaneous —> alsa_output.pci-0000_00_1f.3.hdmi-surround71 + alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo

These Lv2, Airwindow, and Calf equalizer sinks in pipewire are all out of my own designs inserted in pipewire.conf

That’s the strange thing. I don’t get the regular V4L2 option. I get a Dummy video device (0x0000) (V4L2) option. No further options are available.

Weird…

looks like a missing firmware or wrong detection of the hardware…
tried LTS kernel or Zen Kernel ?

Haven’t tried another kernel yet. The camera had worked well with OBS before. Well, as well as OBS can behave :slight_smile: I’m thinking wrong detection. New or older kernel might do the trick.

I tried Zen, no change. I’m torn between reinstalling everything again…

Apparently, I’m not the only one with a problem after that last big update: https://bbs.archlinux.org/viewtopic.php?id=301737

i do just test my uvc cam and i have no issues…

I saw in the past there was issues with v4l in general but 3 cams working here.

zen is same version as main kernel you should try LTS :wink:

and:
If it's not the kernel (you could also try to downgrade to 6.11) nor the 4 months old v4l-utils update, my money would be on systemd (udev/hwdb) which moved to 257 10 days ago.
seth said…

I’m also having this problem, and I run the LTS kernel.

2 Likes

Thanks, that was what I’ve been trying to do. I’m not sure how to downgrade to 6.11. I’ve been looking for how to do it without success. Ahem, help, please :slight_smile:

I noticed something interesting after running pactl list sinks. All sinks are suspended. I’m not sure if this explains why the camera isn’t detected.

Sink #54
        State: SUSPENDED
        Name: alsa_output.usb-BEHRINGER_UMC404HD_192k-00.Direct__Direct__sink
        Description: UMC404HD 192k Direct UMC404HD 192k
        Driver: PipeWire
        Sample Specification: s32le 4ch 48000Hz
        Channel Map: front-left,front-right,front-center,lfe
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 26214 /  40% / -23.88 dB,   front-right: 26214 /  40% / -23.88 dB,   front-center: 26214 /  40% / -23.88 dB,   lfe: 26214 /  40% / -23.88 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.usb-BEHRINGER_UMC404HD_192k-00.Direct__Direct__sink.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "2"
                alsa.card_name = "UMC404HD 192k"
                alsa.class = "generic"
                alsa.components = "USB1397:0509"
                alsa.device = "0"
                alsa.driver_name = "snd_usb_audio"
                alsa.id = "USB Audio"
                alsa.long_card_name = "BEHRINGER UMC404HD 192k at usb-0000:02:00.0-1.1, high speed"
                alsa.mixer_device = "_ucm0003.hw:U192k"
                alsa.mixer_name = "USB Mixer"
                alsa.name = "USB Audio"
                alsa.resolution_bits = "32"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "BEHRINGER UMC404HD 192k at usb-0000:02:00.0-1.1, high speed"
                api.alsa.card.name = "UMC404HD 192k"
                api.alsa.open.ucm = "true"
                api.alsa.path = "hw:U192k"
                api.alsa.pcm.card = "2"
                api.alsa.pcm.stream = "playback"
                audio.channels = "4"
                audio.position = "FL,FR,RL,RR"
                card.profile.device = "0"
                device.api = "alsa"
                device.class = "sound"
                device.id = "43"
                device.profile.description = "Direct UMC404HD 192k"
                device.profile.name = "Direct: Direct: sink"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "UMC404HD 192k"
                node.name = "alsa_output.usb-BEHRINGER_UMC404HD_192k-00.Direct__Direct__sink"
                node.nick = "UMC404HD 192k"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:U192k:0:playback"
                port.group = "playback"
                priority.driver = "1000"
                priority.session = "1000"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "41"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "54"
                object.serial = "54"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "2"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio2"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "usb"
                device.bus-id = "usb-BEHRINGER_UMC404HD_192k-00"
                device.bus_path = "pci-0000:02:00.0-usb-0:1.1:1.0"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-BEHRINGER_UMC404HD_192k-00"
                device.nick = "UMC404HD 192k"
                device.plugged.usec = "52524578"
                device.product.id = "0x0509"
                device.product.name = "UMC404HD 192k"
                device.serial = "BEHRINGER_UMC404HD_192k"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:04.0/0000:02:00.0/usb8/8-1/8-1.1/8-1.1:1.0/sound/card2"
                device.vendor.id = "0x1397"
                device.vendor.name = "BEHRINGER International GmbH"
                device.string = "2"
        Ports:
                [Out] Direct: Direct UMC404HD 192k (type: Unknown, priority: 1000, availability unknown)
        Active Port: [Out] Direct
        Formats:
                pcm

Sink #56
        State: SUSPENDED
        Name: alsa_output.pci-0000_00_14.2.iec958-stereo
        Description: Built-in Audio Digital Stereo (IEC958)
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 63570 /  97% / -0.79 dB,   front-right: 63570 /  97% / -0.79 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.pci-0000_00_14.2.iec958-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                alsa.card = "0"
                alsa.card_name = "HDA ATI SB"
                alsa.class = "generic"
                alsa.components = "HDA:10ec0892,1458a182,00100302"
                alsa.device = "1"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "ALC892 Digital"
                alsa.long_card_name = "HDA ATI SB at 0xfe024000 irq 16"
                alsa.mixer_name = "Realtek ALC892"
                alsa.name = "ALC892 Digital"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "HDA ATI SB at 0xfe024000 irq 16"
                api.alsa.card.name = "HDA ATI SB"
                api.alsa.path = "iec958:0"
                api.alsa.pcm.card = "0"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "6"
                device.api = "alsa"
                device.class = "sound"
                device.id = "44"
                device.profile.description = "Digital Stereo (IEC958)"
                device.profile.name = "iec958-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Built-in Audio"
                node.name = "alsa_output.pci-0000_00_14.2.iec958-stereo"
                node.nick = "ALC892 Digital"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:SB:6:playback"
                port.group = "playback"
                priority.driver = "736"
                priority.session = "736"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "41"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "56"
                object.serial = "56"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:14.2"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_00_14.2"
                device.nick = "HDA ATI SB"
                device.plugged.usec = "51902193"
                device.product.id = "0x4383"
                device.product.name = "SBx00 Azalia (Intel HDA)"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.2/sound/card0"
                device.vendor.id = "0x1002"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
                device.string = "0"
        Ports:
                iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
        Active Port: iec958-stereo-output
        Formats:
                pcm

Sink #271
        State: SUSPENDED
        Name: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3
        Description: Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] Digital Stereo (HDMI 4)
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: yes
        Volume: front-left: 64225 /  98% / -0.53 dB,   front-right: 64225 /  98% / -0.53 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                alsa.card = "1"
                alsa.card_name = "HDA ATI HDMI"
                alsa.class = "generic"
                alsa.components = "HDA:1002aa01,00aa0100,00100700"
                alsa.device = "9"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "HDMI 3"
                alsa.long_card_name = "HDA ATI HDMI at 0xfdefc000 irq 28"
                alsa.mixer_name = "ATI R6xx HDMI"
                alsa.name = "CB292CU"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.sync.id = "00000000:00000000:00000000:00000000"
                api.alsa.card.longname = "HDA ATI HDMI at 0xfdefc000 irq 28"
                api.alsa.card.name = "HDA ATI HDMI"
                api.alsa.path = "hdmi:1,3"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "15"
                device.api = "alsa"
                device.class = "sound"
                device.id = "42"
                device.profile.description = "Digital Stereo (HDMI 4)"
                device.profile.name = "hdmi-stereo-extra3"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]"
                node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3"
                node.nick = "CB292CU"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:HDMI:15:playback"
                port.group = "playback"
                priority.driver = "600"
                priority.session = "600"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "41"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "53"
                object.serial = "271"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.bus = "pci"
                device.bus_path = "pci-0000:01:00.1"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_01_00.1"
                device.nick = "HDA ATI HDMI"
                device.plugged.usec = "51809075"
                device.product.id = "0xaaf0"
                device.product.name = "Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1"
                device.vendor.id = "0x1002"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
                device.string = "1"
        Ports:
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, availability group: Legacy 4, available)
        Active Port: hdmi-output-3
        Formats:
                pcm

Although cat /sys/bus/usb/devices/*/power/control gives me

on
on
on
auto
auto
auto
auto
auto
auto
auto
auto
auto
auto

I give up. Maybe a fresh reinstall will do.

on the arch post it says it could be systemd … not sure if its easily downgradable…
possible to downgrade to a date too:
https://wiki.archlinux.org/title/Arch_Linux_Archive#How_to_restore_all_packages_to_a_specific_date

1 Like