Последние пару часов я пытался заставить свою встроенную веб-камеру (моего ноутбука Dell E7470) работать с такими приложениями, как Skype.
После каждой загрузки камера работает нормально, но только в течение нескольких секунд (~ 30 секунд) после запуска видеоприложения. После этого камера не может быть найдена ни одним приложением (включая сыр
) до перезагрузки.
pastebin (извините, недостаточно репутации, чтобы иметь несколько ссылок)
ls / dev / video0
показывает, что камера есть
v4l2- ctl --info
дает следующий результат: pastebin (первая часть)
hwinfo | grep video
дает следующий результат: pastebin (вторая часть)
ls / dev / video0
дает: не может получить доступ к '/ dev / video0' : Нет такого файла или каталога
v412-ctl --info
дает Не удалось открыть / dev / video0: Нет такого файла или каталога
hwinfo | grep video
дает следующий результат: pastebin (третья часть)
sudo apt-get install cheese build-essential linux-headers-
uname -r
rmmod uvcvideo && modprobe uvcvideo
/ etc / default / grub
(также попытался поставить iommu = soft
после тихого всплеска
) Извините за комбинированный pastebin, но у меня недостаточно репутации, чтобы размещать более двух ссылок. Любая помощь в том, как я потенциально могу решить эту проблему, была бы принята с благодарностью!
Из Через некоторое время интегрированная веб-камера отключается Я обнаружил, что эта проблема возникла более четырех лет назад. Выполнение sudo rmmod uvcvideo && sudo modprobe uvcvideo
, кажется, оживляет его на несколько секунд (я забыл выполнить эту команду с помощью sudo, поэтому раньше он ничего не делал), но затем не работает еще раз ... Кто-нибудь когда-нибудь решал этот вопрос?
Между прочим, трюк с rmmod / modprobe срабатывает всего несколько раз. После этого вообще не работает до перезагрузки.
Вот трассировка звонков в /var/log/kern.log на момент отказа камеры:
Jun 5 10:54:21 me kernel: [ 219.778042] CPU: 0 PID: 2455 Comm: cheese Not tainted 4.8.0-53-generic #56~16.04.1-Ubuntu
Jun 5 10:54:21 me kernel: [ 219.778043] Hardware name: Dell Inc. Latitude E7470/0T6HHJ, BIOS 1.13.4 02/07/2017
Jun 5 10:54:21 me kernel: [ 219.778044] 0000000000000286 000000002daf03ef ffff8d9e4be93b98 ffffffff9082e7b3
Jun 5 10:54:21 me kernel: [ 219.778045] ffff8d9e4be93be8 0000000000000000 ffff8d9e4be93bd8 ffffffff9048314b
Jun 5 10:54:21 me kernel: [ 219.778047] 000000ed4be93bd8 0000000000000000 ffffffff912d06c0 ffff8d9e771d70c0
Jun 5 10:54:21 me kernel: [ 219.778049] Call Trace:
Jun 5 10:54:21 me kernel: [ 219.778051] [<ffffffff9082e7b3>] dump_stack+0x63/0x90
Jun 5 10:54:21 me kernel: [ 219.778054] [<ffffffff9048314b>] __warn+0xcb/0xf0
Jun 5 10:54:21 me kernel: [ 219.778055] [<ffffffff904831cf>] warn_slowpath_fmt+0x5f/0x80
Jun 5 10:54:21 me kernel: [ 219.778057] [<ffffffff906b78a8>] ? kernfs_find_and_get_ns+0x48/0x60
Jun 5 10:54:21 me kernel: [ 219.778058] [<ffffffff906bb56b>] sysfs_remove_group+0x8b/0x90
Jun 5 10:54:21 me kernel: [ 219.778060] [<ffffffff909a6297>] dpm_sysfs_remove+0x57/0x60
Jun 5 10:54:21 me kernel: [ 219.778062] [<ffffffff90998ab8>] device_del+0x58/0x270
Jun 5 10:54:21 me kernel: [ 219.778063] [<ffffffff90942c42>] ? kbd_disconnect+0x22/0x30
Jun 5 10:54:21 me kernel: [ 219.778065] [<ffffffff90ac6ea3>] evdev_disconnect+0x23/0x60
Jun 5 10:54:21 me kernel: [ 219.778066] [<ffffffff90ac1ef5>] __input_unregister_device+0xb5/0x160
Jun 5 10:54:21 me kernel: [ 219.778067] [<ffffffff90ac2cc7>] input_unregister_device+0x47/0x70
Jun 5 10:54:21 me kernel: [ 219.778071] [<ffffffffc0a14ba2>] uvc_status_cleanup+0x42/0x50 [uvcvideo]
Jun 5 10:54:21 me kernel: [ 219.778073] [<ffffffffc0a0a208>] uvc_delete+0x18/0x160 [uvcvideo]
Jun 5 10:54:21 me kernel: [ 219.778074] [<ffffffffc0a0a423>] uvc_release+0x23/0x30 [uvcvideo]
Jun 5 10:54:21 me kernel: [ 219.778078] [<ffffffffc098f946>] v4l2_device_release+0xe6/0x120 [videodev]
Jun 5 10:54:21 me kernel: [ 219.778079] [<ffffffff909982d2>] device_release+0x32/0x90
Jun 5 10:54:21 me kernel: [ 219.778081] [<ffffffff90830f7a>] kobject_release+0x6a/0x170
Jun 5 10:54:21 me kernel: [ 219.778082] [<ffffffff90830e37>] kobject_put+0x27/0x50
Jun 5 10:54:21 me kernel: [ 219.778083] [<ffffffff909985c7>] put_device+0x17/0x20
Jun 5 10:54:21 me kernel: [ 219.778086] [<ffffffffc098e490>] v4l2_release+0x50/0x80 [videodev]
Jun 5 10:54:21 me kernel: [ 219.778087] [<ffffffff906350f7>] __fput+0xe7/0x230
Jun 5 10:54:21 me kernel: [ 219.778088] [<ffffffff906352ae>] ____fput+0xe/0x10
Jun 5 10:54:21 me kernel: [ 219.778090] [<ffffffff904a230e>] task_work_run+0x7e/0xa0
Jun 5 10:54:21 me kernel: [ 219.778091] [<ffffffff904032d2>] exit_to_usermode_loop+0xc2/0xd0
Jun 5 10:54:21 me kernel: [ 219.778093] [<ffffffff90403b3e>] syscall_return_slowpath+0x4e/0x60
Jun 5 10:54:21 me kernel: [ 219.778094] [<ffffffff90c9a8fe>] entry_SYSCALL_64_fastpath+0xa6/0xa8
Jun 5 10:54:21 me kernel: [ 219.778095] ---[ end trace cd02296d8a08b517 ]---
Jun 5 10:54:21 me kernel: [ 219.802017] ------------[ cut here ]------------
Jun 5 10:54:21 me kernel: [ 219.802022] WARNING: CPU: 0 PID: 2455 at /build/linux-hwe-MohJvK/linux-hwe-4.8.0/fs/sysfs/group.c:237 sysfs_remove_group+0x8b/0x90
Jun 5 10:54:21 me kernel: [ 219.802023] sysfs group ffffffff912d06c0 not found for kobject 'input14'
Другая трассировка звонков показывает, что соединение USB могло быть неисправен:
Jun 5 11:08:11 me kernel: [ 1049.717359] usb 1-2: new full-speed USB device number 8 using xhci_hcd
Jun 5 11:08:11 me kernel: [ 1049.841492] usb 1-2: device descriptor read/64, error -71
Jun 5 11:08:12 me kernel: [ 1050.069407] usb 1-2: device descriptor read/64, error -71
Jun 5 11:08:12 me kernel: [ 1050.297575] usb 1-2: new full-speed USB device number 9 using xhci_hcd
Jun 5 11:08:12 me kernel: [ 1050.417566] usb 1-2: device descriptor read/64, error -71
Jun 5 11:08:12 me kernel: [ 1050.645641] usb 1-2: device descriptor read/64, error -71
Jun 5 11:08:12 me kernel: [ 1050.873599] usb 1-2: new full-speed USB device number 10 using xhci_hcd
Jun 5 11:08:12 me kernel: [ 1050.873825] usb 1-2: Device not responding to setup address.
Jun 5 11:08:13 me kernel: [ 1051.081804] usb 1-2: Device not responding to setup address.
Jun 5 11:08:13 me kernel: [ 1051.289562] usb 1-2: device not accepting address 10, error -71
Jun 5 11:08:13 me kernel: [ 1051.409586] usb 1-2: new full-speed USB device number 11 using xhci_hcd
Jun 5 11:08:13 me kernel: [ 1051.409821] usb 1-2: Device not responding to setup address.
Jun 5 11:08:13 me kernel: [ 1051.617820] usb 1-2: Device not responding to setup address.
Jun 5 11:08:13 me kernel: [ 1051.825581] usb 1-2: device not accepting address 11, error -71
Jun 5 11:08:13 me kernel: [ 1051.825661] usb usb1-port2: unable to enumerate USB device
Странно то, что idVendor (0bda) можно найти (это Realtek Semiconductor Corp.), но idProduct (5765) нигде не найти ...
Чтобы быть ясным, мой рабочий процесс следующий.
сыр
сыр
. Кажется, все работает нормально ... сыр
больше не может успешно запускаться (устройство не обнаружено). Хорошо, таким образом, действительное решение проблемы было я работающий с неподдерживающим ядром для моей веб-камеры. Я обновил от 4.8.0-54-универсального до 4.10.0-22-универсального, и веб-камера очень стабильна теперь. Только несколько раз это выключит себя (как на средстве рассылки Facebook, например), но просто перезапуск приложения зафиксирует это. Никакая потребность больше перезагружать.
<забастовка>
, Таким образом, кажется, что существует многие другой , кто сталкивается (d) error -71
проблема; не только с веб-камерами, но и USB-устройствами в целом. Проблема, кажется, "ошибка USB, которая была начата с энергосберегающих модулей [в ядре 2.6.27]" . Таким образом, для экономии электроэнергии, которую я предполагаю, веб-камера была закрыта после минуты или около этого.
, Что веб-сайт также имеет то, что, кажется, рабочее решение:
$ sudo -s
$ echo -1> /sys/module/usbcore/parameters/autosuspend
Это записано, чтобы быть 'текущими исправлениями', но это, казалось, постоянно решило мою проблему (после того, как перезагрузите значение, возвращенное к исходному значению 2, но эй больше никаких отказов веб-камеры :))
Только, чтобы быть уверенным, я также сделал 'постоянную фиксацию':
options usbcore autosuspend=-1
Hope это помогает кому-то!
, Таким образом, вышеупомянутый способ установить автоприостанавливание не универсален, и зависит от Вашей ОС. Найдите более тщательно продуманный ответ о том, как отредактировать Ваш автоприостанавливать параметр здесь: https://unix.stackexchange.com/questions/91027/how-to-disable-usb-autosuspend-on-kernel-3-7-10-or-above
я упомяну это здесь только для полноты.
Для Ubuntu 14.04 & 15.04:
Редактирование/etc/default/grub файл и изменение строка GRUB_CMDLINE_LINUX_DEFAULT для добавления usbcore.autosuspend =-1 опция:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
Примечание, которые выходят из всплеска, уже было существующими опциями. Поэтому сохраните другие опции, которые Вы имеете также.
После сохранили файл, обновляют личинку:
sudo upgrade-grub
(мог бы также быть sudo update-grub2
(я сделал обоих))
И перезагрузка.
Теперь проверка автоприостанавливают значение:
cat /sys/module/usbcore/parameters/autosuspend
И это должно отобразиться-1
Ubuntu 15.10 и выше
, процедура является тем же, но параметрический усилитель для изменения является autosuspend_delay_ms (вместо, автоприостанавливают).
забастовка> Ложный аварийный сигнал... Таким образом, вышеупомянутое не работало, в конце концов. Я все еще получаю это ошибки USB-устройства на error -71
. Вот полное отслеживание стека /var/log/kern.log
в данный момент разрушенная веб-камера: https://pastebin.com/8qHpBcdR. Одно примечание, хотя: в первый раз, когда веб-камера отказывает, я получаю этот вид вывода: https://pastebin.com/XVwSEDBZ, Эти error -71
происходит только после того, как я пытаюсь работать cheese
снова (который может обычно запускаться). Когда это отказывает снова, это не может работать вообще больше (пока я не перезагружаю).
, Если у кого-либо есть подсказка, что я могу сделать, сообщите мне!
, Таким образом, я обновил свое ядро от 4.8.0-54-универсального до 4.10.0-22-универсального, и до сих пор это, кажется, стабильно. Если это откажет снова, то я сообщу об этом.