Helló !
Sikerült valakinek életre keltenie a Genius Slim 311R webkamerát Linux alatt ?
Addig jutottam el, hogy a letöltött és kicsomagolt Mac driver SW alapján kiderítettem, hogy Sonix SN9C102 bridge van benne. Ezután be is írtam a product ID-t az illetõ kernel source file-ba (drivers/media/video/sn9c102/sn9c102_devtable.h ), aztán kernel (2.6.28.7) újraford, modprobe, USB bedug.
Kigyulladt rajta a LED, sõt, az infravörös ledek is, de a syslogban panaszkodik, hogy a kipróbált szenzorok egyikével sem sikerült I2C-n beszélnie. És persze nem jön létre a /dev/video0.
A kernelbe intergrált GSPAC-al sem jobb a helyzet, plusz ott még sk. kell beírkálni a konkrét szenzor típust.
Van valakinek rá megoldása, esetleg patch ?
Kösz minden tippet.
- 3027 megtekintés
Hozzászólások
mgspca, forrásból feltéve talán segít...
én minden Sonix alapú kamerához azt használom.
üdv., eCaffee
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Köszi !
Neked *konkrétan* megy a Slim 311R-rel ?
Mert mint olvastam és tapasztaltam, nem csak a Sonix chipset számít, hanem a szenzor is.
Belenézve a mgspcav2-02.00.20-1.tar.bz2 Makefile-ba, a sonix targetet is úgy akarja make-elni, hogy cd Vimicro, nem pedig cd Sonix. Meg a device ID-met sem találom benne (704b).
Szóval nekem gyanús, de ha Neked megy...
- A hozzászóláshoz be kell jelentkezni
Hát ez nekem nagyon nem fordul :(
Az hagyján, hogy a makefile-ból hiányzik a sonix mint target, az install is nagy ívben hanyagolja, de ha kijavítom, akkor jön a haddelhadd:
(... miután kijavítom benne a CFLAGS-et EXTRA_CFLAGS-re, mert a kernel mostanság inkább azt komálja)
make[1]: Entering directory `/home/tzp/temp/Webcam/gspcav2/Sonix'
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/tzp/temp/Webcam/gspcav2/Sonix CC=cc modules
make[2]: Entering directory `/usr/src/linux-2.6.28.7'
make[3]: Circular /home/tzp/temp/Webcam/gspcav2/Sonix/sonix.o <- /home/tzp/temp/Webcam/gspcav2/Sonix/sonix.o dependency dropped.
LD [M] /home/tzp/temp/Webcam/gspcav2/Sonix/sonix.o
ld: no input files
make[3]: *** [/home/tzp/temp/Webcam/gspcav2/Sonix/sonix.o] Error 1
make[2]: *** [_module_/home/tzp/temp/Webcam/gspcav2/Sonix] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.28.7'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/tzp/temp/Webcam/gspcav2/Sonix'
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/tzp/temp/Webcam/gspcav2 CC=cc modules
make[1]: Entering directory `/usr/src/linux-2.6.28.7'
CC [M] /home/tzp/temp/Webcam/gspcav2/gspcaV2.o
/home/tzp/temp/Webcam/gspcav2/gspcaV2.c:58:27: error: asm/semaphore.h: No such file or directory
In file included from /home/tzp/temp/Webcam/gspcav2/gspcaV2.c:70:
/home/tzp/temp/Webcam/gspcav2/gspcaV2.h:131:1: warning: "V4L2_CID_POWER_LINE_FREQUENCY" redefined
In file included from include/media/v4l2-dev.h:17,
from include/media/v4l2-common.h:29,
from /home/tzp/temp/Webcam/gspcav2/gspcaV2.c:67:
include/linux/videodev2.h:867:1: warning: this is the location of the previous definition
Pedig a /lib/modules/... alatt a helyén vannak a linkek.
Hogy a csudába bírt ez Neked lefordulni ? :(
- A hozzászóláshoz be kell jelentkezni
Részemről az mgspcav1 (mgspcav1-01.00.20-3) fordult le hiba nélkül...
te mgspcav2-t fordítottál.
(az egyik v4l1-es és kompatibilis a legtöbb alkalmazással,
a másik v4l2-es, és nálam sem fordult le.
Megnézem konkrétan a Slim 311R-t,
hogy benne van-e, és írok választ.
(ha nincs, végső esetre ott az uvcvideo, egy próbát megér.)
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
.inf szerint a Genius Slim 311R egy sn9c105 bridge ov7660 szenzorral. (0458_704b)
tehát hardver tekintetében azonos a 0c45_60fb jelzésű kamerával,
egy kis vendor/product id-csere az mgspcav1-01.00.20-3/Sonix/sn9cxxx.h fájlban,
aztán egy sudo ./gspca_build
és elvileg mennie kell.
(persze előtte remove minden korábbi *spca* jellegű cucc,
és az esetleges uvcvideo-t is)
Ha gondolod, megcsinálom a patchelt forrást, és feltöltöm a tárhelyemre.
Kíváncsi vagyok, működik-e...
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
kész a patchelt forrás, letölthető:
http://www.borzsonynet.hu/linux/untested_mgspcav1-01.00.20-3_patched_ge…
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Aha, én a gspcav1-et nem ispróbáltam.
Köszönöm, ma este megpróbálom beüzemelni.
- A hozzászóláshoz be kell jelentkezni
Alma, sajnos így járok:
make -C /lib/modules/`uname -r`/build SUBDIRS=/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r CC=cc modules
make[1]: Entering directory `/usr/src/linux-2.6.28.7'
CC [M] /tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.o
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c: In function ‘get_cam_description’:
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:290: warning: return discards qualifiers from pointer target type
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c: In function ‘spca5xx_ioctl’:
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:1940: error: implicit declaration of function ‘v4l_printk_ioctl’
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:1942: error: implicit declaration of function ‘video_usercopy’
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c: At top level:
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2125: error: unknown field ‘owner’ specified in initializer
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2125: warning: initialization from incompatible pointer type
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2127: error: unknown field ‘type’ specified in initializer
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c: In function ‘spca50x_create_sysfs’:
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2285: error: implicit declaration of function ‘video_device_create_file’
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2296: error: implicit declaration of function ‘video_device_remove_file’
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c: In function ‘gspca_probe’:
/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.c:2535: error: incompatible types in assignment
make[2]: *** [/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r/gspca_core.o] Error 1
make[1]: *** [_module_/tmp/mgspcav1-01.00.20-3_patched_geniusslim311r] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.28.7'
make: *** [gspca_core] Error 2
A v4l_printk_ioctl-hez meg a video_usercopy-hoz nekem kell bele egy #include <media/v4l2-ioctl.h>, és a semaphore.h-t meg nem az asm hanem a linux alól kell inkludálni.
Tkp. hol kéne lenni ezeknek az include file-oknak ?
Megpróbáltam a gyári kernel sn9c102x modulját megpatchelni, sn9c105 és ov7660-ra, de negatív: i2c-n nem sikerül a szenzor próba.
- A hozzászóláshoz be kell jelentkezni
nálam nincs media/v4l2-ioctl.h fájl, viszont a fenti funkciókat
a media/v4l2-common.h írja le. (a kernel verzióm régebbi,
tehát a v4l, v4l2, v4l1-compat cuccaim verziója nem azonos a tiéddel)
az asm/semaphore.h a helyén, a kernel forrás include directory-ban van.
(még valami, nálam ez az általam patchelt forrás lefordul,
(GCC 4.1.0 ,1-2 warning kíséretében), és működik, Sonix kamerát hajt.
Próbáld meg a patchelt forrás könyvtárába lépve terminálon opciók nélkül:
make clean
make
sudo make install
aztán plug and play.
Megoldjuk. Tudom.
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Kezdem felfogni a probléma méretét...
A v4l interface a 2.6.10 óta nagyot változott.
Pl. include-ok máshol, meg
* replace video_device_create_file(vdev,
* with
* device_create_file(&vdev->dev,
* and
* video_device_remove_file(vdev,
* with
* device_remove_file(&vdev->dev,
, megszûnt rekordmezõk, egyéb finomságok.
Meg aztán definiálni kell a kamerának egy új enumot a gspca.h-ban:
GeniusSlim311R,
... és vszleg nem árt betenni a dev. táblába a sonix.c-ben:
{USB_DEVICE(0x0458, 0x704b)}, /* Genius Slim311R Camera */
Aztán vannak ilyen gondjai:
WARNING: "gspca_disconnect" [.../Sonix/sonix.ko] undefined!
márpedig
nm gspca_core.o | grep gspca_disconnect
0000000b r __kstrtab_gspca_disconnect
00000008 r __ksymtab_gspca_disconnect
000016d6 t gspca_disconnect
Persze ez csak warning, és lehet, h. ha betöltõdik a gspca_core, akkor megtalálja.
...szóval még küzdök vele, majd kipróbálom a célgépen.
- A hozzászóláshoz be kell jelentkezni
Na azért annyira nem régi a kernelem...
(egy-két warning nálam is volt, de attól még a kamera működött)
Nálam a jelenlegi hosszú karbantartású kernel alapját adó 2.6.16 sorozat fut,
paranoiás módon csak stabil disztribúciót használok
(tízezer óra feletti stabil üzem internetkávéházi használat mellett nem biztosítható unstable,
vagy nem eléggé kiforrott szoftver-verziók felhasználásával).
Van egy teszt-konfigom OpenSuse 11-gyel (2.6.27-es), ha időm engedi megnézem azon is a fentieket.
Jó lenne megoldást találni rá, mert sok felhasználón segítenénk vele.
A webkamera sajnos kicsit még mindig "mostohagyerek" linuxon...
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Igazítottam egy-két dolgot a patchelt forráson,
(Az OpenSuse 11-emen 2.6.25 pae kernel van, rá is faragtam a fordításra én is...
de most már lefordul hiba nélkül, néhány warning kíséretében),
szóval némi experimental és very untested bűvölés után
letölthető ugyanazon a fenti börzsönynet/linux linken,
amin az előző volt.
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Szia !
Köszi az erõfeszejtéseket.
Mármint
http://www.borzsonynet.hu/linux/untested_mgspcav1-01.00.20-3_patched_ge… ?
Ez szerintem ugyanaz a file, mint a múltkori...
- A hozzászóláshoz be kell jelentkezni
A fájl neve azonos, az újabb apró patchekkel tűzdelt forrást
az előző fájl helyére töltöttem fel.
(az előző untested verziót egy az egyben kidobtam,
mivel a visszajelzéseid, és az OpenSuse 11-en
általam végzett fordítás alapján találtam benne
néhány foltozni való apróságot,
szinte csak bájtokban mérhetően,
de változás történt.)
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Szia !
Az openSuse-n milyen kerneled van ? Csak azért, mert nagy különbség, hogy 2.6.25 v. 2.6.27:
.../linux-2.6.27>egrep -r video_device_remove_file *
míg
.../linux-2.6.25/include>egrep -r video_device_remove_file *
media/v4l2-dev.h:video_device_remove_file(struct video_device *vfd,
Meg a gspca_core.c-ben ez is átírandó 2.6.27-tõl:
spca50x->vdev->dev = &dev->dev;
...mivel késõbb ott nem dev pointer lett, hanem skalár struct.
Szóval az én kernelem az totál át van faragva.
Most már legalább értem, hogy miért fordult Neked olyan könnyen . Hurrá, mégsem vagyok elátkozva :)
Majd sportolok vele, és visszajelzek.
Esetleg megpróbálom egy régebbi kernelemre, 2.6.22.6-ra.
- A hozzászóláshoz be kell jelentkezni
Most épp azzal akadtam el 2.6.28.7-en, hogy:
- nem voltak exportálva ezek:
WARNING: "gspca_disconnect" [.../Sonix/sonix.ko] undefined!
WARNING: "gspca_probe" [.../Sonix/sonix.ko] undefined!
WARNING: "gspca_sonix_decompress" [.../Sonix/sonix.ko] undefined!
WARNING: "gspca_init_sonix_decoder" [.../Sonix/sonix.ko] undefined!
WARNING: "gspca_debug" [.../Sonix/sonix.ko] undefined!
WARNING: "gspca_cam_ops_slot_list" [.../Sonix/sonix.ko] undefined!
Pedig van a gspca_core.c-ben EXPORT_SYMBOL mindegyikre.
Igaz, mindegyik static volt, azt kiszedtem. Így most már az nm mindegyiket nagy B és T-vel listázza.
De a symbol version hiányzik, nem tudom, azt hogy kéne beletenni.
Így aztán ha megpróbálom betölteni a sonixot, akkor:
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_debug
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_debug
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_sonix_decompress
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_sonix_decompress
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_init_sonix_decoder
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_init_sonix_decoder
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_cam_ops_slot_list
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_cam_ops_slot_list
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_disconnect
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_disconnect
Mar 12 21:41:01 orca kernel: sonix: no symbol version for gspca_probe
Mar 12 21:41:01 orca kernel: sonix: Unknown symbol gspca_probe
- A hozzászóláshoz be kell jelentkezni
Na, ezért szeretem én annyira a hosszú karbantartású kernelt...
Szinte minden újdonságot tud, stabil, és nem változik benne gyökerestül semmi.
Állandó vita tárgya a linuxos közösségben a kernelfejlesztésben tapasztalható "újkori módi"...
nekem személy szerint nem tetszik ez a kernel-verziónkénti öszze-vissza hegesztés.
Az OpenSuse 11 kernelem 2.6.25-ös,
a fordító panaszkodik azon is
a gspca_debug és a gspca_disconnect ügyében,
de ettől még működőképes marad a driver.
(egy másik gépemen talán van O.S.11 2.6.27, megnézem majd azon is)
Hogy őszinte legyek, a 2.6.27 és 28 kapcsán feltett
fordítási kérdéseidre nem igazán tudok választ adni,
ezeknek már neked kell a végére járnod,
bár ha tudok, úgyis segítek.
Próbáljuk meg életben tartani ezt a threadet,
hátha mások is olvassák, és bekapcsolódnak a munkába.
(esetleg szólhatnánk trey-nek, hogy hozzon létre
hardware/webcam fórumot is, és toborozzuk oda azokat,
akik kamera ügyekben mozognak valamit)
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
Egyetértek. Én sem vagyok oda a kernel interface felburogatásért.
Persze ha jól le lenne dokumentálva, az kicsit más lenne.
A 45 db changelog-ot pedig az ember nem olvassa el, csak ha nagyon ráér.
- A hozzászóláshoz be kell jelentkezni
Lelkiismeretem megnyugtatása végett szereztem egy 2.6.29 rc7 kernelt,
és nekiálltam a legutóbbi patchelt webcam-forrást lefordítani.
Szó szerint ugyanúgy jártam, mint te a topik elejétől idáig.
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni
No nekem viszont van kép 2.6.28.7-en, ami kb. a legfrissebb stabil.
Ami ehhez kellett:
Be kell állítani a kernelben forced module loadingot:
CONFIG_MODULE_FORCE_LOAD=y
... és ezután a modprobe gspca-core; modprobe -f sonix
hatására hajlandó betöltõdni a sonix modul.
Kamera bedug, és noha egyetlen led sem gyullad ki rajta még, de /dev/video0 létrejön.
Az xawtv -c /dev/video0 parancsra megjelentem a képernyõn.
Igaz, az infra ledek nem égnek a kamerán, és a kép pár s-ként árnyalatot vált, de legalább valami.
Viszont a skype-nál teljesen jó a kép. Persze infra led nem megy, meg kell világítani magamat, de sokkal jobb a kép mint az xawtv-vel.
Tkp. most a magam által átgyúrt source-ot használom, ami nagyon hasonlít a Te megoldásodhoz, plusz amiket még leírtam. (Include-ok más helyen, leszedni a static-ot az exportált symbolokról).
Innen letöltheted: http://www.angelfire.com/linux/tzptech/Webcam/mgspcav1_geniusslim311r-2…
(érdekes, innen a HUP-ról klikkelve 404, de shellbõl wget-tel mûködik.)
TODO:
- A jelenlegi megoldás (forced loading, hogy kikerüljem a symbol version check-et) gány, megírandó korrektebbül. Már olvasom a kernel module programming guide-ot, legalább így utólag :))
- Jelenleg csak a gspca_core és a sonix targeteket make-eltem, de a többiben is át kell írni pl. az include-ok helyét.
Mindenesetre köszi a segítséget !
- A hozzászóláshoz be kell jelentkezni
"A kitartó számára nincs járhatatlan út!"
Gratulálok, és fejet hajtok a tudás és az akarat előtt!
Letöltöm, és megpróbálom a 2.6.29 rc7-esen is!
(letöltöttem, tényleg csak a wget tudta lehúzni,
és gyorsan át is néztem a TZP kommenteket a forrásban)
-
"Attempting to crack SpeedLock can damage your sanity"
- A hozzászóláshoz be kell jelentkezni