Tôi đang thử một máy ảnh web mới trên một máy trạm mà cho đến nay không có thiết bị quay video nào được đính kèm. Nó phải là plug-and-play nhưng không có chương trình nào có thể tìm thấy máy ảnh sau khi được kết nối.
Trước tiên, tôi đã kiểm tra xem kernel có nhận dạng được camera hay không:
$ lsusb
[…]
Bus 001 Thiết bị 007: ID 046d:082d Logitech, Inc. Webcam HD Pro C920
[…]
Vì vậy, có một máy ảnh, nó phải là một thứ phần mềm. Kiểm tra các thiết bị được kết nối bằng video cho Linux sẽ cung cấp thêm một manh mối:
$ v4l2-ctl --list-thiết bị
Không thể mở thiết bị /dev/video0, đang thoát.
Có vẻ như mô-đun hạt nhân đã bị vô hiệu hóa, vì vậy tôi đã thử khởi động nó:
$ sudo modprobe v4l2loopback
modprobe: FATAL: Không tìm thấy mô-đun v4l2loopback trong thư mục /lib/modules/5.4.0-81-generic
Thật kỳ lạ, mô-đun thậm chí còn chưa được cài đặt. Sau đó, tôi lấy nó ra khỏi các gói và thử lại lần nữa:
$ sudo aptitude cài đặt v4l2loopback-dkms
[…]
$ sudo modprobe v4l2loopback
modprobe: LỖI: không thể chèn 'v4l2loopback': Ký hiệu không xác định trong mô-đun hoặc tham số không xác định (xem dmesg)
Và đây là những gì tôi tìm thấy trong số các tin nhắn:
$dmesg
[…]
[1271004.074955] v4l2loopback: Ký hiệu không xác định video_ioctl2 (err -2)
[1271004.075027] v4l2loopback: Ký hiệu không xác định v4l2_ctrl_handler_init_class (err -2)
[1271004.075105] v4l2loopback: Ký hiệu không xác định video_devdata (err -2)
[1271004.075167] v4l2loopback: Ký hiệu không xác định v4l2_ctrl_new_custom (err -2)
[1271004.075221] v4l2loopback: Ký hiệu không xác định video_unregister_device (err -2)
[1271004.075276] v4l2loopback: Ký hiệu không xác định video_device_alloc (err -2)
[1271004.075336] v4l2loopback: Ký hiệu không xác định v4l2_device_register (err -2)
[1271004.075410] v4l2loopback: Ký hiệu không xác định __video_register_device (err -2)
[1271004.075463] v4l2loopback: Ký hiệu không xác định v4l2_ctrl_handler_free (err -2)
[1271004.075513] v4l2loopback: Ký hiệu không xác định v4l2_device_unregister (err -2)
[1271004.075562] v4l2loopback: Ký hiệu không xác định video_device_release (err -2)
Tôi tin rằng điều này có nghĩa là một số phụ thuộc phần mềm bị thiếu. Nhưng cái nào? Có một cuộc thảo luận tại GitHub trong bối cảnh đám mây, nhưng giải pháp quá chung chung (cài đặt tất cả các mô-đun gói bổ sung có sẵn).