libv4l2: error allocating conversion buffer
Решил на старенькую машинку: Pentium 733 MHz/256 Mb Ram поцепить web-камеру.
Ядро - linux-2.6.33.4 - в более новом не вижу пока смысла. все пакеты обновлены до самой последней версии из current Slackware 13.xx дрова (модуль gspca_pac7311) на web камеру стали отлично, /dev/video0 присутствует, с него можно читать.
при вызове любой программы с подгрузкой библиотеки v4l1compat.so
(командная строка:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so hasciicam -d /dev/video0 )
я получаю такой вывод - сообщение об ошибке выделено жирным.
hasciicam 1.1.1 - (h)ascii 4 the masses! - http://ascii.dyne.org (c)2000-2011 by Jaromil @ RASTASOFT
Device detected is /dev/video0
Current input is pac7311
Card name: VGA Single Chip
Current capture is 640 x 480
format RGB3, 1920 bytes-per-line
Grey buffer is 38400 bytes
libv4l2: error allocating conversion buffer
mmap: Cannot allocate memory
причем в через top я вижу что у меня из 256 Мб занято от силы 20 под систему и 100 под кеш, остальное свободно.
Без v4l1compat.so hasciicam работает, но выдает мусор - необходимость использования v4l1compat.so - отдельная тема.
Инет у меня только на работе, а машинка дома. Если нужно завтра принесу системный лог и конфиг ядра.
Насколько я понимаю проблема с выделением памяти, может нужно какие-нибудь константы переназначить, типа здесь...
/etc/sysctl.conf:
dev.rtc.max-user-freq = 1024
kernel.shmall = 134217728
kernel.shmmax = 134217728
Методика подключения именно этой камеры: конфиги ядра и приложений были предварительно опробованы на двух других машинах и там вебка стартовала сразу. Единственное отличие - на этой машине нет X - только 3-4 необходимые библиотеки, которые требовали hasciicam и motion.