Так же возможно (по крайней мере в 9.04) установить пакеты libv4l из 9.10[/b]
что потребуется:
1) установить исходники ядра (
sudo apt-get install linux-source build-essential)
2) распаковать их:
tar xf /usr/src/linux-source-*3) наложить приложенный патч:
cd linux-source-<нажать tab>/drivers/media/video/uvc; patch -F 3 -p1 < ../../../../../uvcvideo_rotate.patch4) если ругнётся на последний кусок (скорее всего так и будет), руками отредактировать drivers/media/video/uvc/uvcvideo.h: найти в нём строки
#define UVC_QUIRK_... и после них дописать
#define UVC_QUIRK_ROTATE_IMAGE 0x00000100 -- патч сделан для самой свежей версии драйвера, поэтому утилита patch тут не находит указанных строк (это для версий ядра 2.6.28 и 2.6.29, в 2.6.30 патч накладывается уже без проблем).
5) если патч наложился без проблем -- можно собирать:
cp /boot/config-`uname -r` ../../../../.config
make oldconfig
make modules_prepare
make -C /lib/modules/`uname -r`/build M=`pwd`
6) теперь можно попробовать загрузить собранный модуль (заменять существующий пока нельзя!):
sudo modprobe -r uvcvideo
sudo insmod uvcvideo.ko
если ругается команда modprobe -r -- ничего страшного, просто модуль не загружен (интересно, почему? камера то подключена!).
если команда insmod страшно ругается фразой
insmod: error inserting 'uvcvideo.ko': -1 Unknown symbol in module, надо подгрузить зависимые модули:
sudo modprobe v4l1-compat
sudo modprobe videodev
sudo modprobe v4l2-compat-ioctl32 # это только для x64, на 32 битной платформе ругнётся на его отсутствие
7) если оно загрузилось -- можно проверить картинку, должна быть нормальной. если нет -- вывод lsusb в студию, а модуль выгрузить и загрузить с параметром quirks=256 (
sudo rmmod uvcvideo && sudo insmod uvcvideo.ko quirks=256). если всё в порядке -- можно заменить штатный модуль полученным:
sudo cp uvcvideo.ko /lib/modules/`uname -r`/kernel/drivers/media/video/uvcесли всё нормально, остаётся одна проблема: после каждого обновления ядра придётся повторять всю процедуру. чтобы этого не делать, надо сделать сборку модуля через dkms. для этого придётся переписать его Makefile и написать dkms.conf.
ЗЫ за правки к процедуре сборки отдельное спасибо
рыЗЗЫ кто может подсказать по dkms?