#1 28.07.2014 17:04:27

Максим Зубов
Administrator
Зарегистрирован: 28.07.2014
Сообщений: 3
IP-адрес

Драйвер веб-камеры

Здравствуйте!
Поставил Debian Wheezy на новый ноутбук Sony SVF. Версия ядра в базовом комплекте системы - 3.2, и были проблемы со звуком (драйвер не поддерживал слишком новую модель звукового устройства). Поставил тогда ядро 3.11 - и со звуком стало всё нормально. Ставил из исходников, с сайта kernel.org. Но только вот с этим ядром не работает веб-камера (id 0489:e062). Как я понимаю, драйвер для всех веб-камер называется uvcvideo. Посмотрел - а оказывается, в поздних версиях ядра этого модуля нету вообще. Не знаю, начиная с какой версии, но в 3.2 в исходниках он ещё есть - в директории drivers/media/video/uvc, а в 3.11 - уже нету, нет даже директории drivers/media/video. И где его взять, чтобы был совместим с поздними версиями ядра - не нашёл. Находил какой-то совсем старый, который, естественно, не собирается. И пробовал брать из исходников 3.2 и компилировать под 3.11 - тоже не собирается. Это понятно: несовместим с новой версией ядра.
Но почему этого драйвера нет в комплекте ядра 3.11? Его чем-то заменили? Если так, то почему ж не работает камера - ведь под 3.2 работает? Кстати, с ядром 3.15 камера тоже не работает. Не работает также кардридер SD, хотя, опять же, под 3.2 работает.

Вот мои lsmod'ы:
Под 3.2:



Под 3.11:


Под 3.15:


(wl - это драйвер wlan, который я ставил вручную).

Большой вывод убирайте под спойлер. Исправил.

// Rizado

#2 28.07.2014 17:48:02

kostik87
Administrator
Зарегистрирован: 29.06.2014
Сообщений: 778
IP-адрес

Драйвер веб-камеры

Зачем вы собирали ядро из исходников? Если для Wheezy есть репозиторий wheezy-backports, в который помещаются некоторые новые пакеты из тестовой ветки, например там есть более новое ядро-3.14: https://packages.debian.org/ru/wheezy-backports/linux-image-amd64, подключите этот репозиторий и установите ядро оттуда.

Ну а то, что нет старого драйвера, так это не беда, скорее всего, в новых версиях ядра переработали подсистему доступа к видео устройствам (видео камерам) и теперь вашу камеру обслуживает другой драйвер.

Установите ядро из указанного репозитория и проверьте.

Для более детальной картины лучше приложите вывод


lsusb

и вывод dmesg на старом ядре, где всё работало и на новом ядре (3.14).

#3 28.07.2014 19:40:24

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Драйвер веб-камеры

Quote by Максим Зубов
Посмотрел - а оказывается, в поздних версиях ядра этого модуля нету вообще.

плохо смотрел... в 3.лохматом они переехали в drivers/media/usb/uvc/ опция всё также называется USB_VIDEO_CLASS.

если нужна помощь со сборным ядром, то конфиги в студию (на pastebin)...

#4 28.07.2014 23:28:26

Максим Зубов
Administrator
Зарегистрирован: 28.07.2014
Сообщений: 3
IP-адрес

Драйвер веб-камеры

Что касается установки новой версии ядра из репозитория backports: почему-то оно не ставится, apt-get выдаёт ошибки:


И при попытке установить ядро 3.12 - то же самое.
sources.list вроде бы нормальный:

(здесь bchemnet.com - это просто реп с драйверами принтера).
Архитектура AMD64, но добавлена поддержка I386 (для Wine главным образом).

И, к тому же, сейчас на том компьютере, о котором шла речь, стоит уже Ubuntu 12.10 вместо Debian. Это компьютер не мой, а жены, и она, попользовавшись некоторое время Debian, захотела Ubuntu. Мне последние релизы не очень понравились, а 12.10 хотя и не поддерживается уже официально, но на old-releases.ubuntu.com всё же есть полный репозиторий, его теперь и подключил. Но там, даже при включённом разделе backports нет ядер версии позднее 3.5! А с 3.5 на этом компьютере те же проблемы со звуком, что были с 3.2 в Debian. Так что, по-любому, надо ставить ядро из исходников.
А вот что касается присутствия драйвера веб-камеры в исходниках 3.11 - да, действительно, виноват, не заметил их там сразу. Но, хотя они там и присутствуют в исходниках, однако же при установке ядра у меня не ставятся - может быть, даже не компилируются. sudo modprobe uvcvideo пишет, что нет такого модуля, да и поиск файла uvcvideo.ko по всей файловой системе находит этот файл только в директориях, относящихся к старому ядру. Может быть, конечно, набор драйверов при установке ядра из исходников зависит от того, как отвечать на вопросы перед компиляцией. Но этих вопросов там порядка сотни - там разобраться чёрт ногу сломит, а инструкция, которой я следовал при установке ядра из исходников (http://pevma.blogspot.ru/2014/04/upgrading-debian-wheezys-kernel.html), предписывает на все отвечать по умолчанию с помощью программки yes, что я и делал.
Потом, я так-таки нашёл, где и как скачать драйвер uvc отдельно: его, оказывается, надо качать с помощью программки git из особого репозитория. Я поначалу не понял было, что это за git. Теперь вот разобрался. А просто в виде файла с исходниками драйвер этот, похоже, скачать нельзя. Так вот, с помощью git у меня получилось скачать и собрать драйвер под ядром 3.13 в Debian - но это на другом компьютере. А на данном Sony, где теперь стоит Ubuntu, я поставил опять из исходников 3.11 - но драйвер uvc почему-то не собирается! Скрипт build долго чего-то делает, а потом выдаёт такие ошибки:

Хотя я следовал инструкциям с офф. сайта: http://www.ideasonboard.org/uvc/#download .
Надо было сразу ядро 3.13 ставить, я только побоялся, что под ним может модуль для wlan BCM 43142 не собраться - под 3.15 он у меня не собирался, поэтому я и не решился 3.13 пробовать ставить, а дело это долгое.
В-общем, видимо, либо дело в вопросах при конфигурации ядра перед компиляцией. Либо всё-таки попробую скачать и поставить драйвер git'ом, но - под ядром 3.13.

#5 29.07.2014 18:27:15

Максим Зубов
Administrator
Зарегистрирован: 28.07.2014
Сообщений: 3
IP-адрес

Драйвер веб-камеры

Проблема решена: дело действительно оказалось в конфигурировании ядра перед компиляцией. По умолчанию, поддержка камер была выключена. Теперь всё работает.

Board footer