Gentoo — после обновления ядра отвалилась Web Camera

Итак, проблемка … Юзал себе тихо и спокойно ядрышко linux-2.6.30-gentoo-r8 и горя не знал. Но черт дернул обновиться до linux-2.6.32-gentoo-r7. Обновление то прошло успешно … ядро собрал и поставил как полагается, а вот через пару недель вылезла грабля с вебкамерой. Я то ею нечасто пользуюсь. Только иногда Skype в балуюсь … както незаметил даже что она перестала работать 🙂 А в старом ядре работала без проблем … Полез опять конфигурить ядро… Но на удивление, все опции стоят также как и раньше. Уточню что ноут у меня Dell Inspiron 1420 со встроенной камерой OmniVision 2640. Чтобы убедится в правильности нового конфига, сделал вот так:

laptop src # grep -i '\(uvc\|v4l\|ov\)' linux-2.6.30-gentoo-r8/.config
# Sun Nov  1 10:36:58 2009
CONFIG_X86_CMOV=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_PCI_IOV is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_VIDEO_OVCAMCHIP=m
# CONFIG_USB_OV511 is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
laptop src # grep -i '\(uvc\|v4l\|ov\)' linux-2.6.32-gentoo-r7/.config
# GCOV-based kernel profiling
CONFIG_X86_CMOV=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_PCI_IOV is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_VIDEO_OVCAMCHIP=m
# CONFIG_USB_OV511 is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
laptop src #

Тоесть просто сравнил нужные для работы камеры опции старого и нового ядра. Ну какбы все по прежнему. Изменений в конфиге нет, а камера таки не работает. И вполне понятно — ведь устройства /dev/video0 таки нету!

Вобщем, покопавшись немного по разным форумам, рецепта не нашел, зато чтото меня навело на мысль проверить директорию /dev/v4l/ И там, о чудо, нашелся нужный мне девайс video0 🙂

laptop src # ls -l /dev/v4l/
итого 0
drwxr-xr-x 2 root root     60 Май 11  2010 by-id
drwxr-xr-x 2 root root     60 Май 11  2010 by-path
crw-rw---- 1 root video 81, 0 Май 11  2010 video0
laptop src #

Сделал для него симлинк в /dev

laptop ~ # ln -s /dev/v4l/video0 /dev/video0
laptop ~ # ls -l /dev/video0
lrwxrwxrwx 1 root root 15 Май 10 22:45 /dev/video0 -> /dev/v4l/video0
laptop ~ #

И вуаля … камера заработала в Skype!

Но осталась еще одна засада — оказывается также отвалился и микрофон! Короче с камерой победа … с микрофоном еще копаюсь 🙂

Добавлено на следующий день:
Ха! Разобрался и с микрофончиком 🙂 Оказывается всего то надо было правильно выставить настроечки через gnome-volume-control.

Вот как надо было выставить чтобы заработало 🙂 Сначала включаем интегрированный в крышку микрофон (тот что возле камеры)

Потом достаточно выставить уровень записи побольше 🙂 У меня так:

После этого у меня микрофон завелся и работает как надо! Чего и вам желаю ….

  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?