Linux-Kernel

video4linux 不能在新核心中工作(新核心沒有創建 /dev/video0)

  • April 29, 2021

我正在使用 linux 設置為 /dev/video0 的 HDMI 到 USB 擷取設備。它像網路攝像頭一樣工作,但從 HDMI 擷取。它使用 vmlinuz-5.0.0-32-generic 核心完美執行。更新到 vmlinuz-5.0.0-47-generic 核心後,v4l2 不會設置 /dev/video 設備。重新啟動到 vmlinuz-5.0.0-32-generic 核心後,設備再次完美執行。硬體資訊:這台電腦是華碩 M4A88T-M 主機板,沒有安裝其他 pci 卡,執行 linux Mint 19.3,64 位。

使用新核心 (vmlinuz-5.0.0-47-generic) v4l2-ctl –all 顯示…

Failed to open /dev/video0: No such file or directory

使用較舊的核心 (vmlinuz-5.0.0-32-generic) v4l2-ctl –all 顯示…

Driver Info (not using libv4l2):
   Driver name   : uvcvideo
   Card type     : UVC Camera (534d:2109): USB Vid
   Bus info      : usb-0000:00:12.2-4
   Driver version: 5.0.21
   Capabilities  : 0x84A00001
       Video Capture
       Metadata Capture
       Streaming
       Extended Pix Format
       Device Capabilities
   Device Caps   : 0x04200001
       Video Capture
       Streaming
       Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
   Width/Height      : 1920/1080
   Pixel Format      : 'MJPG'
   Field             : None
   Bytes per Line    : 0
   Size Image        : 4147200
   Colorspace        : sRGB
   Transfer Function : Default (maps to sRGB)
   YCbCr/HSV Encoding: Default (maps to ITU-R 601)
   Quantization      : Default (maps to Full Range)
   Flags             : 
Crop Capability Video Capture:
   Bounds      : Left 0, Top 0, Width 1920, Height 1080
   Default     : Left 0, Top 0, Width 1920, Height 1080
   Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1920, Height 1080
Selection: crop_bounds, Left 0, Top 0, Width 1920, Height 1080
Streaming Parameters Video Capture:
   Capabilities     : timeperframe
   Frames per second: 30.000 (30/1)
   Read buffers     : 0
                    brightness 0x00980900 (int)    : min=-128 max=127 step=1 default=-11 value=-11
                      contrast 0x00980901 (int)    : min=0 max=255 step=1 default=148 value=148
                    saturation 0x00980902 (int)    : min=0 max=255 step=1 default=180 value=180
                           hue 0x00980903 (int)    : min=-128 max=127 step=1 default=0 value=0

有沒有辦法讓它在新核心中工作(modprobe 或其他東西)?

作為一種解決方法,我可以將我的 PC 設置為啟動較舊的核心,但這是一個開發人員有興趣知道以便可以糾正的問題嗎?

我有另一台執行 5.3.0-28 核心的具有相同作業系統的 PC,問題已解決。

引用自:https://unix.stackexchange.com/questions/610106