LINUX.ORG.RU

Не работает встроенная камера на ноутбуке

 ,


1

2

Установлена Ubuntu 19.04, cheese пишет «Устройства не найдены», вывод lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1234:5678 Brain Actuated Technologies 
Bus 001 Device 003: ID 8087:0a2a Intel Corp. 
Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

При просмотре hwinfo --usb заметил, что камера использует драйвер snd-usb-audio вместо uvcvideo. Файл /dev/video0 отсутствует. Как заставить её работать?


В биосе она же включена? И отредактируй свой пост к более «читабельному» виду.

При просмотре hwinfo --usb заметил, что камера использует драйвер snd-usb-audio вместо uvcvideo.

Нам покажешь? lsusb что видит?

anymouze ★★ ()
Ответ на: комментарий от anymouze

Вывод hwinfo –usb

02: USB 00.3: 0000 Unclassified device
[Created at usb.122] Unique ID: KoeX.QK808Gxuhf6 Parent ID: k4bc.ZEYWNM3UrzF SysFS ID: /devices/pci0000:00/0000:00:15.0/usb1/1-8/1-8:1.3 SysFS BusID: 1-8:1.3 Hardware Class: unknown Model: «Brain Actuated USB 2.0 PC Camera» Hotplug: USB Vendor: usb 0x1234 «Brain Actuated Technologies» Device: usb 0x5678 «USB 2.0 PC Camera» Revision: «10.01» Driver: «snd-usb-audio» Driver Modules: «snd_usb_audio» Speed: 480 Mbps Module Alias: «usb:v1234p5678d1001dcEFdsc02dp01ic01isc02ip00in03» Driver Info #0: Driver Status: usbtouchscreen is active Driver Activation Cmd: «modprobe usbtouchscreen» Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #6 (Hub)

logxx ()
Ответ на: комментарий от anymouze

Спасибо за информацию! :) Камера работает в Windows 10, поэтому, думаю, включена. Вывод lsusb -t

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
    |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtsx_usb, 480M
    |__ Port 7: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 4, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 1, Class=Video, Driver=, 480M
    |__ Port 8: Dev 4, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 0, Class=Video, Driver=usbtouchscreen, 480M

logxx ()
Ответ на: комментарий от logxx

интересная* и не стандартная* у тебя камера. это куда такие встраивают?

По теме попробуй просто загрузить модуль uvcvideo

# проверка загружен ли модуль
sudo lsmod|grep uvcvideo
# если нет, то попытка загрузить его
sudo insmod uvcvideo
Думаю так просто не решится, но а вдруг случиться чудо...

    |__ Port 8: Dev 4, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 1, Class=Video, Driver=, 480M  <== здесь нет uvcvideo
    |__ Port 8: Dev 4, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 0, Class=Video, Driver=usbtouchscreen, 480M

дело пахнет керсином модификацией и пересборкой модуля — нет идентификатора в модуле и он не загружается для этого интерфейса

anymouze ★★ ()
Ответ на: комментарий от anymouze

sudo lsmod | grep uvcvideo:

uvcvideo               98304  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_v4l2         24576  1 uvcvideo
videobuf2_common       49152  2 videobuf2_v4l2,uvcvideo
videodev              200704  3 videobuf2_v4l2,uvcvideo,videobuf2_common
media                  53248  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
значит, всё-таки работает

logxx ()
Ответ на: комментарий от logxx

модуль загружен, но про камеру он ничего не знает — поэтому игнорирует

sudo modprobe -c|grep v1234|less
видишь в выдаче упоминание uvcvideo? и я не вижу

anymouze ★★ ()

посмотрите выводы dmesg и syslog - вполне может быть, что камера заработает с помощью какого-нибудь quirks (тут уже проще погуглить, чем самому их сидеть перебирать, мне лично в своё время помог 0x2)

anonymous ()
Ответ на: комментарий от logxx

а попробуй один раз загрузиться, передав грабу параметр module_blacklist=usbtouchscreen
возможно, в dmesg/syslog что-нибудь более полезное попадёт (ну и lsusb чуток измениться должен)

anonymous ()
Ответ на: комментарий от logxx

новые сообщения в dmesg

[    7.821953] uvcvideo 1-8:1.0: Entity type for entity Processing 2 was not initialized!
[    7.821958] uvcvideo 1-8:1.0: Entity type for entity Extension 6 was not initialized!
[    7.821959] uvcvideo 1-8:1.0: Entity type for entity Camera 1 was not initialized!
[    7.822667] input: USB 2.0 PC Camera: PC Camera as /devices/pci0000:00/0000:00:15.0/usb1/1-8/1-8:1.0/input/input19
syslog
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) event14 - USB 2.0
 PC Camera: PC Camera: is tagged by udev as: Keyboard
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) event14 - USB 2.0
 PC Camera: PC Camera: device is a keyboard
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) event14 - USB 2.0
 PC Camera: PC Camera: device removed
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (**) Option "config_in
fo" "udev:/sys/devices/pci0000:00/0000:00:15.0/usb1/1-8/1-8:1.0/input/input19/ev
ent14"
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) XINPUT: Adding ex
tended input device "USB 2.0 PC Camera: PC Camera" (type: KEYBOARD, id 8)
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (**) Option "xkb_layou
t" "us,ru"
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (**) Option "xkb_varia
nt" ","
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) event14 - USB 2.0
 PC Camera: PC Camera: is tagged by udev as: Keyboard
Aug 11 11:50:30 EZbook /usr/lib/gdm3/gdm-x-session[1589]: (II) event14 - USB 2.0 PC Camera: PC Camera: device is a keyboard

logxx ()
Ответ на: комментарий от logxx

вывод cheese

gst_base_sink_is_too_late (): /GstCameraBin:camerabin/GstViewfinderBin:vf-bin/ClutterGstVideoSink:cluttergstvideosink0:
There may be a timestamping problem, or this computer is too slow.

logxx ()
Ответ на: комментарий от anymouze

lsusb -t (new)

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
    |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtsx_usb, 480M
    |__ Port 7: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 4, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 4, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 8: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M

logxx ()
Ответ на: комментарий от logxx

в VLC пишет, что при открытии камеры в доступе отказано

Это точно должно быть решаемо. При открытии в vlc другие программы камерой не пользуются? Команда lsof /dev/video* перед запуском vlc что-то возвращает? Как вариант запустить vlc через терминал и смотреть на что он там жалуется при попытке открыть камеру.

Хотя я сейчас совсем не понимаю как она подхватилась uvcvideo (возможно ответ есть в выводе команды hwihfo --usb или в dmesg). Она может и сейчас «путать» — два интерфейса камеры управляются uvcvideo и по идее в системе есть /dev/video0 и /dev/video1. При этом именно камерой скорее всего является один из них. Кажется, я уже видел такое — и vlc не мог сам в этом разобраться...

anymouze ★★ ()
Ответ на: комментарий от logxx

vlc нужно запускать так
vlc v4l2:///dev/video0
или так
vlc v4l2:///dev/video1
то есть всё зависит того, на каком устройстве находится/активна камера

anonymous ()
Ответ на: комментарий от anymouze

vlc

:~$ vlc
VLC media player 3.0.7 Vetinari (revision 3.0.7-0-g86cee31)
[0000000000788400] main libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
Qt: Session management error: None of the authentication protocols specified are supported
[000000000081eea0] main playlist: playlist is empty
[00007ff574000e90] v4l2 demux error: cannot open device '/dev/video0': Operation not permitted
[00007ff574000e90] v4l2 demux error: cannot open device '/dev/video0': Operation not permitted
[00007ff5740020c0] v4l2 stream error: cannot open device '/dev/video0': Operation not permitted
QObject::~QObject: Timers cannot be stopped from another thread

logxx ()
Ответ на: комментарий от anonymous

при открытии через протокол v4l2 результат тот же

logxx ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.