[ jocar @ 17.03.2009. 22:06 ] @
Dragi prijatelji,
Imam problema da pokrenem ovu kamericu na Slackware 12.2 (kernel 2.6.27.7). Pronašao sam na netu da ima drajver za nju (gspca)
i skunuo paket gspcav1-20071224_2.6.27.7_smp-i486-1alien.tgz, instalirao i onda
Code:
modprobe gspca
pa
Code:
lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 093a:2476 Pixart Imaging, Inc.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Uređaj je dakle tu, a i drajver je podignut:
Code:
lsmod
Module                  Size  Used by
snd_seq_dummy           6788  0
snd_seq_oss            33408  0
snd_seq_midi_event     10240  1 snd_seq_oss
snd_seq                50928  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         10380  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            40480  0
snd_mixer_oss          17920  1 snd_pcm_oss
ipv6                  241956  26
gspca                 641616  0
lp                     13572  0
fuse                   54684  5
snd_hda_intel         367756  2
snd_pcm                70788  2 snd_pcm_oss,snd_hda_intel
snd_timer              23176  2 snd_seq,snd_pcm
snd_page_alloc         11400  2 snd_hda_intel,snd_pcm
snd_hwdep              10756  1 snd_hda_intel
snd                    51748  16 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_pcm,snd_timer,snd_hwdep
tuner_simple           17808  1
tuner_types            17664  1 tuner_simple
tea5767                10500  0
tuner                  30408  0
fglrx                1945468  28
r8169                  31236  0
soundcore              10080  1 snd
bttv                  163988  0
videodev               36736  3 gspca,tuner,bttv
v4l1_compat            17924  1 videodev
ir_common              39044  1 bttv
compat_ioctl32          5120  1 bttv
v4l2_common            13824  2 tuner,bttv
videobuf_dma_sg        14980  1 bttv
videobuf_core          19460  2 bttv,videobuf_dma_sg
thermal                19484  1
processor              36648  1 thermal
mii                     8448  1 r8169
btcx_risc               7944  1 bttv
tveeprom               15876  1 bttv
intel_agp              29116  0
button                 10128  0
thermal_sys            15144  2 thermal,processor
agpgart                32584  2 fglrx,intel_agp
ppdev                  11268  0
sg                     30516  0
psmouse                40592  0
serio_raw               9220  0
i2c_i801               12688  0
parport_pc             28196  1
parport                34796  3 lp,ppdev,parport_pc
evdev                  13088  3
hwmon                   6300  1 thermal_sys

Odnosno:
Code:
lsmod | grep gspca
gspca                 641616  0
videodev               36736  3 gspca,tuner,bttv

Sve je tu osim uređaja u /dev direktorijumu. Postoji samo /dev/video0 i to je tv kartica bttv 878, a web kamere nema, i naravno wxcam, camstream i skype je ne vide.

Ideje?
[ combuster @ 18.03.2009. 07:28 ] @
dmesg|grep gspca

Salji output...
[ jocar @ 18.03.2009. 14:27 ] @
Code:
dmesg|grep gspca
usbcore: registered new interface driver gspca
gspca: gspca driver 01.00.20 registered
[ combuster @ 18.03.2009. 21:47 ] @
http://fedora.fsn.rs/index.php...ew&catid=7&id=271#1781

Probaj ovako, kakva slucajnost covece, lik provalio kako ide na temu na koju sam se pretplatio pre godinu dana... :D
[ jocar @ 20.03.2009. 20:28 ] @
Uh!
Ovako, na više mesta nađem da za Genius e-Messenger 112 treba patch za drajver gspca i nađem na:
http://sudouser.com/wp-content/uploads/2008/09/
pa odradim (po uputstvu sa http://sudouser.com/nastrojka-...-crystal-eye-v-ubuntu-804.html ):

Code:
tar xzf gspcav1-20071224.tar.gz
cd gspcav1-20071224
patch -p1 <../gspcav1-20071224-emessenger112.patch
patch -p1 <../gspcav1-20071224-pixart-vflip.patch


i zatim dođe do greške:

Code:


root@stoni:/home/jovicici/Slackware-12.2/2/gspcav1-20071224# make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/jovicici/Slackware-12.2/2/gspcav1-20071224 CC=cc modules
make[1]: Entering directory `/usr/src/linux-2.6.27.7'
  CC [M]  /home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.o
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c: In function 'spca5xx_ioctl':
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2471: error: implicit declaration of function 'video_usercopy'
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c: At top level:
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2617: error: unknown field 'owner' specified in initializer
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2617: warning: initialization from incompatible pointer type
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2619: error: unknown field 'type' specified in initializer
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c: In function 'spca50x_create_sysfs':
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2777: error: implicit declaration of function 'video_device_create_file'
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:2788: error: implicit declaration of function 'video_device_remove_file'
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c: In function 'spca5xx_probe':
/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.c:4315: error: incompatible types in assignment
make[2]: *** [/home/jovicici/Slackware-12.2/2/gspcav1-20071224/gspca_core.o] Error 1
make[1]: *** [_module_/home/jovicici/Slackware-12.2/2/gspcav1-20071224] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.27.7'
make: *** [default] Error 2



Probao sam da nađem binarni drajver sa integrisanim patch-em ali nisam uspeo...
Možda ga neko ima ili je raspoložen da proba kompajliranje?!?

Šta dalje?

Hvala!
[ combuster @ 21.03.2009. 08:00 ] @
Pazi ovako, drajver je pravljen u decembru 2007-e kada je kernel bio jos 2.6.11-xx a od tada se mnogo stvari promenilo. semaphore.h nije vise u /usr/include/asm direktorijumu vec u /usr/include ... Kada izmenim source gspca_core.c i ispravim putanju za pomenuti header izbaci mi silu warning-a pri kompajliranju i na kraju gomilu gresaka. Ono sto ja tebi preporucujem je da vidis koju verziju kernela imas... U stvari sad vidim da imas 2.6.27-7. Skines source za njega (linux-source) paket u synaptic-u i prati uputstvo sa http://fedora.fsn.rs/index.php...ew&catid=7&id=271#1781 .... Ako budes imao problema nekih javi...
[ jocar @ 22.03.2009. 18:45 ] @
Šta sve nisam probao...
Napravio sam Makefile za moj modul:
Code:
obj-m += gspca_pac207.o 

gspca_pac207-objs := pac207.o

KDIR  := /lib/modules/2.6.27.7-smp/build
PWD   := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules


i sa njim i dodatim redom na odgovarajućem mestu - "{USB_DEVICE(0x093a, 0x2476)}," u "pac207.c" u direktorijumu "/usr/src/linux-2.6.27.7/drivers/media/video/gspca", "make" prolazi i nastaje novi "gspca_pac207.ko". Onda ga kopiram u "/lib/modules/2.6.27.7-smp/kernel/drivers/media/video/gspca" preko postojećeg, pa "modprobe gspca" i... NIŠTA!!!
Uređaja "/dev/video1" nema, web kamera slepa...
Sa patch-ovanim drajverom nema šanse da prođe kompajliranje...
Blizu sam odluke da dignem ruke od ove web kamere.
Pozdrav!
[ jocar @ 23.03.2009. 09:45 ] @
Konačno se pojavio!
Ali slike nema, nisam siguran da je dovoljno ubaciti "{USB_DEVICE(0x093a, 0x2476)},"...
Drugo, pojavljuje se kao "/dev/video0", a TV kartica ide na "/dev/video1", što i nije neki problem jer sam xdtv, mplayer, mencoder i transcode uputio na "/dev/video1".

Ovo je sa jednog drugog foruma:

Citat:
[quote author=LimitMan link=topic=9787.msg77461#msg77461 date=1237798373]
Sto se kompajliranja tice ... gspca je ipak najbolje kompajlirati (README file)

Citat:
as root
goes to gspcav1 directory and run:
./gspca_build


Ta scripta ne radi nista posebno (rmmod, make clean, make, make install, modprobe) ali kada se pogleda vidi se da doticni Makefile trazi kernel headers u: SRCDIR=/lib/modules/$KERNELVER/build
znaci ... potrebno je da se linkuje /lib/modules/$KERNELVER/build sa /usr/src/linux ;-)

Kod mene je (do duse na PCLinuxOS) proradilo iz prve kada sam uradio ln -s ...
[/quote]

Odlično, čim se danas vratim s posla, probaću i javljam...

Hvala svima!
Pozdrav!
[ combuster @ 23.03.2009. 14:05 ] @
E super... Ja sa mojim MSI webcam-om nisam imao problema ali zadnja 2-3 thread-a su upravo neke frke sa web kamericama...
[ jocar @ 23.03.2009. 21:28 ] @

Sve je tu!
Treba samo dodati "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so" ispred komande...

Code:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so xcam
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so spcaview
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so gideo
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype


Vidimo se... Ali stvarno...

@combuster:
Hvala!

[Ovu poruku je menjao jocar dana 24.03.2009. u 08:25 GMT+1]

[Ovu poruku je menjao jocar dana 24.03.2009. u 08:26 GMT+1]
[ jocar @ 24.03.2009. 09:03 ] @
Za one koji imaju sličan problem:
1. Imate web kameru Genius e-Messenger 112, nemate direktorijum "/dev/video0" (ili "/dev/video1" ako imate i TV karticu).
2. Da vidite šta je u pitanju
lsusb:
Code:
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 093a:2476 Pixart Imaging, Inc.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

3. Drajver "gspca" je odgovoran za web kameru:
modprobe gspca
lsmod | grep gspca
Code:
gspca                 641616  0
videodev               36736  3 gspca,tuner,bttv

4. Drajver (modul) je podignut:
dmesg|grep gspca
Code:
usbcore: registered new interface driver gspca
gspca: gspca driver 01.00.20 registered

Međutim, uređaja "/dev/video0" ipak nema.
5. Da bi dalje radili morate imati izvorni kod kernela (obično u "/usr/src/linux" ili ga dobavite sa nekog od repoa - isti kao odgovor na komandu "uname-r").
6. Editujete fajl "/usr/src/linux/drivers/media/video/gspca/pac207.c" (za ovu web kameru - informacija nađena na netu), nađite:
Code:
static const __devinitdata struct usb_device_id device_table[] = {
    {USB_DEVICE(0x041e, 0x4028)},
    {USB_DEVICE(0x093a, 0x2460)},
    {USB_DEVICE(0x093a, 0x2463)},
    {USB_DEVICE(0x093a, 0x2464)},
    {USB_DEVICE(0x093a, 0x2468)},
    {USB_DEVICE(0x093a, 0x2470)},
    {USB_DEVICE(0x093a, 0x2471)},
    {USB_DEVICE(0x093a, 0x2472)},
    {USB_DEVICE(0x2001, 0xf115)},
    {}

i dodajte red "{USB_DEVICE(0x093a, 0x2476)}," (vidi tačku 2.), tako da bude:
Code:
static const __devinitdata struct usb_device_id device_table[] = {
        {USB_DEVICE(0x041e, 0x4028)},
        {USB_DEVICE(0x093a, 0x2460)},
        {USB_DEVICE(0x093a, 0x2463)},
        {USB_DEVICE(0x093a, 0x2464)},
        {USB_DEVICE(0x093a, 0x2468)},
        {USB_DEVICE(0x093a, 0x2470)},
        {USB_DEVICE(0x093a, 0x2471)},
        {USB_DEVICE(0x093a, 0x2472)},
        {USB_DEVICE(0x093a, 0x2476)},
        {USB_DEVICE(0x2001, 0xf115)},
        {}

Snimite izmene.
7. Napravite skriptu "Makefile" za kompajliranje aktuelnog modula:
Code:
obj-m += gspca_pac207.o 

gspca_pac207-objs := pac207.o

KDIR  := /lib/modules/2.6.27.7-smp/build
PWD   := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules

i preimenujte postojeći "Makefile" u "/usr/src/linux/drivers/media/video/gspca/" (ako kasnije zatreba), a novu skriptu "Makefile" ubacite u navedeni direktorijum.
8. Komandom make iskompajlirajte modul.
9. Kopirajte novi "gspca_pac207.ko" u "/lib/modules/`uname -r`/kernel/drivers/media/video/gspca" preko postojećeg.
10. Skinite najnoviji "libv4l" (0.5.9 je najnoviji trenutno) i instalirajte.
11. Ubacite u startnu skriptu "modprobe gspca" (Kod Slackware-a to je "/etc/rc.d/rc.modules") da bi se drajver podizao prilikom podizanja sistema.
12. Rezultat bi trebao da je tu (posle modprobe gspca), uređaj "/dev/video0" se nalazi na svom mestu...
13. Aplikacije koje koriste web kameru pokrećite tako da ispred komande kucate "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so", npr.:
Code:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so camstream
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so xcam
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so spcaview
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so gideo
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

14. Ako je slika u "skype"-u loša, može se prethodno podesiti u npr. "camstream"-u...
Uživajte !!!