v4l2loopback 模組在 Ubuntu 20.04 上失敗

v4l2loopback 模組在 Ubuntu 20.04 上失敗

我正在工作站上嘗試新的網路攝影機,該工作站迄今尚未連接視訊擷取裝置。它應該是即插即用的,但連接後沒有任何程式可以找到相機。

首先我檢查了核心本身是否正在識別相機:

$ lsusb
[...]
Bus 001 Device 007: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
[...]

所以有相機,它一定是軟體的東西。透過 Linux 視訊檢查連接的裝置可以提供更多線索:

$ v4l2-ctl --list-devices
Cannot open device /dev/video0, exiting.

看起來內核模組被禁用了,所以我嘗試啟動它:

$ sudo modprobe v4l2loopback
modprobe: FATAL: Module v4l2loopback not found in directory /lib/modules/5.4.0-81-generic

奇怪的是,該模組甚至沒有安裝。然後我從包裝中取出它並再次嘗試:

$ sudo aptitude install v4l2loopback-dkms
[...]

$ sudo modprobe v4l2loopback
modprobe: ERROR: could not insert 'v4l2loopback': Unknown symbol in module, or unknown parameter (see dmesg)

這是我在消息中發現的:

$ dmesg
[...]
[1271004.074955] v4l2loopback: Unknown symbol video_ioctl2 (err -2)
[1271004.075027] v4l2loopback: Unknown symbol v4l2_ctrl_handler_init_class (err -2)
[1271004.075105] v4l2loopback: Unknown symbol video_devdata (err -2)
[1271004.075167] v4l2loopback: Unknown symbol v4l2_ctrl_new_custom (err -2)
[1271004.075221] v4l2loopback: Unknown symbol video_unregister_device (err -2)
[1271004.075276] v4l2loopback: Unknown symbol video_device_alloc (err -2)
[1271004.075336] v4l2loopback: Unknown symbol v4l2_device_register (err -2)
[1271004.075410] v4l2loopback: Unknown symbol __video_register_device (err -2)
[1271004.075463] v4l2loopback: Unknown symbol v4l2_ctrl_handler_free (err -2)
[1271004.075513] v4l2loopback: Unknown symbol v4l2_device_unregister (err -2)
[1271004.075562] v4l2loopback: Unknown symbol video_device_release (err -2)

我相信這意味著缺少一些軟體依賴項。但哪個?有GitHub 上雲環境的討論,但解決方案太籠統(安裝所有可用的額外套件模組)。

答案1

經過更多搜索後,我注意到一些奇怪的事情,該系統上實際上沒有安裝任何額外的核心模組:

$ aptitude search linux-modules-extra*
[...]
p   linux-modules-extra-5.4.0-70-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-71-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-72-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-73-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-74-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-77-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
p   linux-modules-extra-5.4.0-80-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
c   linux-modules-extra-5.4.0-81-generic                                                              - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP 

這是一個明顯的罪魁禍首,我安裝了該軟體包並再次嘗試:

$ sudo aptitude install linux-modules-extra-5.4.0-81-generic
[...]

$ sudo modprobe v4l2loopback

$ v4l2-ctl --list-devices
Dummy video device (0x0000) (platform:v4l2loopback-000):
    /dev/video0

儘管這使模組恢復了生機,但網路攝影機對軟體來說仍然不可見。但這是另一個問題。

相關內容