У меня есть Lenovo Miix 510. На этой машине есть датчик CMOS ov2680 для одного. своих камер. Некоторое время был ov2680.c в ядре Linux , и это определенно переведено в драйвер, который я могу найти:
djrscally@valhalla:/lib/modules/5.4.0-37-generic$ find . -name *2680*
./kernel/drivers/media/i2c/ov2680.ko
и даже успешно modprobe и lsmod:
djrscally@valhalla:/lib/modules/5.4.0-37-generic$ sudo modprobe ov2680
djrscally@valhalla:/lib/modules/5.4.0-37-generic$ lsmod | grep ov2680
ov2680 24576 0
videodev 184320 1 ov2680
mc 40960 2 videodev,ov2680
И это переводится как каталог / sys / bus / i2c / devices / i2c-OVTI2680: 00
. Так что он, по крайней мере, частично работает ... но, насколько я могу судить, никогда не хватал устройство. Например, dmesg | grep ov2680
вообще ничего не возвращает, а запуск Cheese просто сообщает мне: «Произошла ошибка при воспроизведении видео с веб-камеры».
Что происходит? На устройстве есть драйвер, почему он не работает?
Ответ: существующий драйвер не предназначен для платформы x86 и предназначен для обнаружения с помощью сопоставления i2c, поэтому устройство никогда не связывается с драйвером. каталоги sysfs для устройств драйвером не создаются; просто подсистемой, следуя инструкциям ACPI.
Изменение драйвера для выполнения сопоставления с ACPI позволяет найти его, но в настоящее время он не работает как драйвер.
Do you have "access" (the file permissions kind of "access") to /dev/video
?
ls -l /dev/video
will show you.
sudo adduser $USER $(stat -G /dev/video)
followed by logout/login will give you "group" access to /dev/video
.