LINUX.ORG.RU

[веб-камеры] Как обстоят дела с gspca на новых ядрах?

 


0

0

Прибрал к рукам веб-камеру Genius iSlim 310. Как выяснилось, драйвера gspca ни под каким предлогом не хотят собираться на ядре 2.6.34-1-686. Происходит примерно следующее:

dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/gspca clean
make[1]: Entering directory `/usr/src/modules/gspca'
rm -r -f *.o decoder/.gspcadecoder.o.cmd decoder/*.o \
        .gspca.o.cmd  *.o *.ko *.mod.* .[a-z]* core *.i \
        *.symvers *.err
make[1]: Leaving directory `/usr/src/modules/gspca'
/usr/bin/make  -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Entering directory `/usr/src/modules/gspca'
dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/gspca clean
make[2]: Entering directory `/usr/src/modules/gspca'
rm -r -f *.o decoder/.gspcadecoder.o.cmd decoder/*.o \
        .gspca.o.cmd  *.o *.ko *.mod.* .[a-z]* core *.i \
        *.symvers *.err
make[2]: Leaving directory `/usr/src/modules/gspca'
for templ in ; do \
    cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.34-1-686/g'` ; \
  done
for templ in `ls debian/*.modules.in` ; do \
    test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
    sed -e 's/##KVERS##/2.6.34-1-686/g ;s/#KVERS#/2.6.34-1-686/g ; s/_KVERS_/2.6.34-1-686/g ; s/##KDREV##/2.6.34-1~experimental.1/g ; s/#KDREV#/2.6.34-1~experimental.1/g ; s/_KDREV_/2.6.34-1~experimental.1/g  ' < $templ > ${templ%.modules.in}; \
  done
dh_testdir
dh_testroot
dh_clean -k
dh_clean: dh_clean -k is deprecated; use dh_prep instead
# Build the module
/usr/bin/make -C /usr/src/modules/gspca KERNEL_VERSION=2.6.34-1-686 KERNELDIR=/lib/modules/2.6.34-1-686/build
make[2]: Entering directory `/usr/src/modules/gspca'
/usr/bin/make -C /lib/modules/2.6.34-1-686/build SUBDIRS=/usr/src/modules/gspca CC=gcc modules
make[3]: Entering directory `/usr/src/linux-headers-2.6.34-1-686'
  CC [M]  /usr/src/modules/gspca/gspca_core.o
/usr/src/modules/gspca/gspca_core.c:54:27: error: asm/semaphore.h: Нет такого файла или каталога
In file included from /usr/src/modules/gspca/gspca_core.c:845:
/usr/src/modules/gspca/utils/spcausb.h: In function ‘spca5xxRegRead’:
/usr/src/modules/gspca/utils/spcausb.h:95: error: implicit declaration of function ‘info’
/usr/src/modules/gspca/utils/spcausb.h: In function ‘spca_set_interface’:
/usr/src/modules/gspca/utils/spcausb.h:278: error: implicit declaration of function ‘warn’
In file included from /usr/src/modules/gspca/gspca_core.c:853:
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_init’:
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:122: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:136: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:141: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:148: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:176: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_start’:
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:214: error: called object ‘info’ is not a function
/usr/src/modules/gspca/Sunplus-jpeg/sp5xxfw2.h:230: error: called object ‘info’ is not a function
/usr/src/modules/gspca/gspca_core.c: In function ‘spca5xx_ioctl’:
/usr/src/modules/gspca/gspca_core.c:2463: error: implicit declaration of function ‘video_usercopy’
/usr/src/modules/gspca/gspca_core.c: At top level:
/usr/src/modules/gspca/gspca_core.c:2609: error: unknown field ‘owner’ specified in initializer
/usr/src/modules/gspca/gspca_core.c:2609: warning: initialization from incompatible pointer type
/usr/src/modules/gspca/gspca_core.c:2611: error: unknown field ‘type’ specified in initializer
/usr/src/modules/gspca/gspca_core.c:2615: warning: initialization from incompatible pointer type
/usr/src/modules/gspca/gspca_core.c: In function ‘spca50x_create_sysfs’:
/usr/src/modules/gspca/gspca_core.c:2769: error: implicit declaration of function ‘video_device_create_file’
/usr/src/modules/gspca/gspca_core.c:2780: error: implicit declaration of function ‘video_device_remove_file’
/usr/src/modules/gspca/gspca_core.c: In function ‘spca5xx_probe’:
/usr/src/modules/gspca/gspca_core.c:4301: error: incompatible types when assigning to type ‘struct device’ from type ‘struct device *’
make[6]: *** [/usr/src/modules/gspca/gspca_core.o] Ошибка 1
make[5]: *** [_module_/usr/src/modules/gspca] Ошибка 2
make[4]: *** [sub-make] Ошибка 2
make[3]: *** [all] Ошибка 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.34-1-686'
make[2]: *** [default] Ошибка 2
make[2]: Leaving directory `/usr/src/modules/gspca'
make[1]: *** [binary-modules] Ошибка 2
make[1]: Leaving directory `/usr/src/modules/gspca'
make: *** [kdist_build] Ошибка 2

Неужели лавочку прикрыли и придётся откатыватся на 2.6.26 (с которым оно точно работало)? Или может есть какой-то патчик..

p.s. поверхностное гугление показало, что uvc камера не поддерживает.

★★★★★


ведро 2.6.32, sid

CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_ZC3XX=m

elipse ★★★
()

не всё лишнее пока выпилил некогда - вот часть мусора

megabaks@netbook ~ $ uname -a && zgrep GSPCA /proc/config.gz 
Linux netbook 2.6.34-gentoo #17 SMP PREEMPT Fri Jun 18 00:22:43 UTC 2010 i686 Intel(R) Atom(TM) CPU N270 @ 1.60GHz GenuineIntel GNU/Linux
CONFIG_USB_GSPCA=m
# CONFIG_USB_GSPCA_BENQ is not set
CONFIG_USB_GSPCA_CONEX=m
# CONFIG_USB_GSPCA_CPIA1 is not set
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
# CONFIG_USB_GSPCA_JEILINJ is not set
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
# CONFIG_USB_GSPCA_OV534_9 is not set
CONFIG_USB_GSPCA_PAC207=m
# CONFIG_USB_GSPCA_PAC7302 is not set
CONFIG_USB_GSPCA_PAC7311=m
# CONFIG_USB_GSPCA_SN9C2028 is not set
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
# CONFIG_USB_GSPCA_STV0680 is not set
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_ZC3XX=m

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Ребутнулся в дебиан - там в generic ядре всё есть.

dan-desktop:/# lsmod|grep -E '(gspca|viodedev)'
gspca_pac7302           7377  0 
gspca_main             17785  1 gspca_pac7302
videodev               27052  1 gspca_main
usbcore               101657  9 gspca_pac7302,gspca_main,snd_usb_audio,snd_usb_lib,usbhid,usb_storage,ohci_hcd,ehci_hcd

при подключении веб-камеры в syslog сплошное уныние

Jun 23 19:53:58 dan-desktop kernel: [ 3496.336596] usb 2-7: new full speed USB device using ohci_hcd and address 10
Jun 23 19:53:59 dan-desktop kernel: [ 3496.541053] usb 2-7: New USB device found, idVendor=093a, idProduct=2625
Jun 23 19:53:59 dan-desktop kernel: [ 3496.541057] usb 2-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
melkor217 ★★★★★
() автор топика

Задетектил проблему.

dan-desktop:/lib/modules/2.6.34-1-686/kernel/drivers/media/video/gspca# modinfo gspca_pac7302.ko 
filename:       gspca_pac7302.ko
license:        GPL
description:    Pixart PAC7302
author:         Thomas Kaiser thomas@kaiser-linux.li
alias:          usb:v093Ap262Cd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap262Ad*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2629d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2628d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2626d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2624d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2622d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2621d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v093Ap2620d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v06F8p3009d*dc*dsc*dp*ic*isc*ip*
depends:        gspca_main,usbcore
vermagic:       2.6.34-1-686 SMP mod_unload modversions 686
[  523.397545] usb 2-7: New USB device found, idVendor=093a, idProduct=2625

В списке поддерживаеммых модулем железок тупо нет моей (должно быть v093Ap2625d). В остальных драйверах gspca_* эта железка тоже не нашлась.

Выходит, что под глючный линакс ещё не сделали драйверов?

melkor217 ★★★★★
() автор топика

Собрал модуль с патчем - камера подхватилась на ура. Всем спасибо )

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