LINUX.ORG.RU

Как собрать easycap-somagic-linux на свежих ядрах?

 


0

1

Судя по всему, в ядрах свежей 3.6 произошло изменение в v4l2, поэтому при попытке сборки получаю сообщения:

make -C /lib/modules/3.12.0/build M=/home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel modules
make[1]: Вход в каталог `/usr/src/linux-3.12'
  CC [M]  /home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel/smi2021_v4l2.o
In file included from /home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel/smi2021_v4l2.c:36:0:
/home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel/smi2021.h:50:35: фатальная ошибка: media/v4l2-chip-ident.h: Нет такого файла или каталога
компиляция прервана.
make[2]: *** [/home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel/smi2021_v4l2.o] Ошибка 1
make[1]: *** [_module_/home/change/Easycap_somagick/easycap-somagic-linux-ddaf00cd1891/kernel] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-3.12'
make: *** [all] Ошибка 2
Явно v4l2-chip-ident.h и связанные с ним макросы-функции были убраны (или частично изменены).

Вопрос: есть ли готовый easycap для этих дурацких чипов, который можно на ядрах 3.12..3.19 скомпилировать?

☆☆☆☆☆

Ладно, закомментировал то, чего нет в новых структурах v4l2. Собрал. insmod матерится:

[3837246.773805] smi2021: Unknown symbol vb2_queue_init (err 0)
[3837246.773819] smi2021: Unknown symbol vb2_ioctl_streamoff (err 0)
[3837246.773830] smi2021: Unknown symbol vb2_ops_wait_finish (err 0)
[3837246.773838] smi2021: Unknown symbol vb2_ioctl_querybuf (err 0)
[3837246.773851] smi2021: Unknown symbol vb2_fop_release (err 0)
[3837246.773856] smi2021: Unknown symbol vb2_ioctl_dqbuf (err 0)
[3837246.773859] smi2021: Unknown symbol vb2_ioctl_create_bufs (err 0)
[3837246.773866] smi2021: Unknown symbol vb2_buffer_done (err 0)
[3837246.773868] smi2021: Unknown symbol vb2_plane_vaddr (err 0)
[3837246.773877] smi2021: Unknown symbol vb2_ioctl_qbuf (err 0)
[3837246.773879] smi2021: Unknown symbol vb2_fop_mmap (err 0)
[3837246.773881] smi2021: Unknown symbol vb2_vmalloc_memops (err 0)
[3837246.773885] smi2021: Unknown symbol vb2_fop_read (err 0)
[3837246.773892] smi2021: Unknown symbol vb2_ops_wait_prepare (err 0)
[3837246.773895] smi2021: Unknown symbol vb2_ioctl_streamon (err 0)
[3837246.773897] smi2021: Unknown symbol vb2_fop_poll (err 0)
[3837246.773909] smi2021: Unknown symbol vb2_ioctl_reqbufs (err 0)

Какой модуль нужно загрузить, чтобы эти функции работали?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от anonymous

Да фиг с ним, завтра буду разбираться. Сегодня модуль загрузил, прошивку залил, запустил mplayer и получил kernel panik с веселым миганием светодиодов клавы.

Eddy_Em ☆☆☆☆☆ ()

Мде...

Дважды мне модуль полный kernel panic делал.

Нашел какую-то хрень, работающую в юзерспейсе (без v4l2). Но тоже ноль реакции ☹

Похоже, надо вплотную лезть в код и править, править, править...

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от cherry-pick

А вообще, покури Changelog в папочке с v4l, начиная с той версии ведра, где компиляция поламалась, глядишь, найдешь быстро, что поменять надо.

cherry-pick ()
Ответ на: комментарий от cherry-pick

Ага! Посмотрел щас в этот хидер в ядре 3.5, там сверху написано:

This header provides a list of chip identifiers that can be >returned
through the VIDIOC_DBG_G_CHIP_IDENT ioctl.

Судя по всему тебе надо вызовы этого IOCTL его новым аналогом заменить.

cherry-pick ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.