[V4l] Problème de webcam Spacecam (module:sn9c102) [Résolu]

Reconnaissance et configuration du matériel / kernel linux
Répondre
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

[V4l] Problème de webcam Spacecam (module:sn9c102) [Résolu]

Message par Ubitux »

Bonjour bonjour, revoilà le poisseux pour de nouvelles aventures... :lol:

Comme vous le savez j'ai la facheuse tendance à me dégotter les problèmes que personne n'a...

Aujourd'hui c'est avec une 120 Spacecam.

Je tiens à préciser que sur la machine sur laquelle je suis, je n'ai pas de kernel custom, et je suis à jour (2.6.22).

Je branche donc ma webcam, la petite loupiotte s'allume et j'ai avec dmesg les infos suivantes :
Linux video capture interface: v2.00
sn9c102: V4L2 driver for SN9C1xx PC Camera Controllers v1:1.44
usb 1-3: SN9C10[12] PC Camera Controller detected (vid:pid 0x0C45:0x600D)
usb 1-3: PAS106B image sensor detected
usb 1-3: Initialization succeeded
usb 1-3: V4L2 device registered as /dev/video0
usb 1-3: Optional device control through 'sysfs' interface disabled
usbcore: registered new interface driver sn9c102
à priori tout se passe bien...

Je vérifie les modules :
$ lsmod | grep v4l
v4l1_compat 14084 1 videodev
v4l2_common 15744 2 sn9c102,videodev
$ lsmod | grep sn9c102
sn9c102 118404 0
compat_ioctl32 1536 1 sn9c102
videodev 26752 1 sn9c102
v4l2_common 15744 2 sn9c102,videodev
usbcore 112520 5 sn9c102,usbhid,ehci_hcd,ohci_hcd
Idem, vérification des droits d'accès :
$ ls -l /dev/v4l/video0
crw-rw---- 1 root video 81, 0 sep 2 14:20 /dev/v4l/video0
$ groups
wheel slocate www-data video audio optical storage power users ubitux fuse
Il ne me reste donc plus qu'à tester ma webcam... et là ça part en couille... que ce soit xawtv, mplayer, VLC, ekiga, amsn, gideo et j'en passe, AUCUN ne marche...

quelques exemples en détails :

xawtv :
$ xawtv /dev/v4l/video0 -nodga
This is xawtv-3.95, running on Linux/i686 (2.6.22-ARCH)
xinerama 0: 1440x900+1440+0
xinerama 1: 1440x900+0+0
X Error of failed request: XF86DGANoDirectVideoMode
Major opcode of failed request: 137 (XFree86-DGA)
Minor opcode of failed request: 1 (XF86DGAGetVideoLL)
Serial number of failed request: 13
Current serial number in output stream: 13
v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_G_STD(std=0xbf8e8174 [PAL_G,PAL_I,PAL_D,PAL_D1,PAL_M,?,SECAM_D,SECAM_G,SECAM_H,?ATSC_8_VSB,ATSC_16_VSB,(null),(null),(null),(null),(null),(null)]): Argument invalide
station "/dev/v4l/video0" not found
Et j'ai une fenêtre noire qui s'ouvre et rien dedans.
j'ai tenté de switcher entre les tty ou de changer la résolution comme vu sur certaines mailing list, et j'ai toujours l'écran noir.

VLC :
$ vlc
VLC media player 0.8.6c Janus
[00000288] v4l demuxer error: cannot get capabilities (Argument invalide)
(j'utilise les paramètres par défauts via le GUI en faisait attention à bien selectionner le périphérique)

MPlayer
$ mplayer tv:// -tv driver=v4l2:device=/dev/v4l/video0:fps=3
MPlayer 1.0rc1-4.2.0 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 12, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
98 audio & 216 video codecs

Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come ;-)
v4l2: ioctl get standard failed: Invalid argument
Selected device: SN9C1xx PC Camera
Capabilites: video capture read/write streaming
supported norms:
inputs: 0 = Camera;
Current input: 0
Current format: unknown (0x30313953)
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
==========================================================================
Cannot find codec matching selected -vo and video format 0x30313953.
Read DOCS/HTML/en/codecs.html!
==========================================================================

v4l2: ioctl set mute failed: Invalid argument
v4l2: 0 frames successfully processed, 0 frames dropped.

Exiting... (End of file)
(j'ai précisé les fps parcequ'ils le demandait)

Bon voilà à peu prêt où j'en suis. J'ai essayé la plupart de ces commandes en root aussi, j'ai le même problème évidemment...

Si quelqu'un aurait une solution ou une idée à m'apporter je suis preneur... merci.


EDIT :

Il se pourrait bien que le problème vienne du driver de la cam, car j'arrive à faire fonctionner une autre webcam avec VLC et xawtv...
Je vais tacher de voir quand même si ce n'est pas la cam, j'ai une très vieille machine sous windows, on va voir ce que ça donne.
Puis j'essaierai de voir si je ne peux pas recompiler le driver...
Dernière modification par Ubitux le lun. 03 sept. 2007, 21:38, modifié 1 fois.
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

Salut,

fait un lspci pour voir le numéro ProductID voir si tu as une correspondance avec les webcams supportées :
http://www.mjmwired.net/kernel/Document ... n9c102.txt

Sinon en googlant (oui j'invente des mots :D ) j'ai trouvé ceci :
http://www.bawet.org/article.php3?id_article=71
Ne vous emmerdez plus, emmerdez les autres.
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

Message par Ubitux »

Ouip ma cam correspond bien, et merci pour le tuto... ça m'a aidé à un peu comprendre ce qui se passe... apparemment sous arch on a le module sn9c102 qui est adapté pour v4l et pas v4l2... donc je suis allé télécharger sn9c1xx-1.48.tar.gz ("Video4Linux2 driver for SN9C101, SN9C102, SN9C103, SN9C105, SN9C120 PC Camera Controllers.") ici : http://www.linux-projects.org/modules/mydownloads/
Bref, c'est apparemment ce qu'il me fallait... donc j'untar l'archive et je fais un make.
Je me retrouve avec un fichier .ko... le module donc. Et comme je suis un bourrin et bien le remplace celui situé dans "/lib/modules/2.6.22-ARCH/kernel/drivers/media/video/sn9c102" par le miens.
(ayant auparavant rmmodé le module)

Je tente donc de le charger, et... boum :
# modprobe sn9c102
gaia ------------[ cut here ]------------
gaia invalid opcode: 0000 [#1]
gaia PREEMPT SMP
gaia CPU: 0
gaia EIP: 0060:[<c01bd209>] Tainted: P VLI
gaia EFLAGS: 00010246 (2.6.22-ARCH #1)
gaia EIP is at sysfs_create_file+0x19/0x20
gaia eax: 00000000 ebx: f5f109e0 ecx: f7d80030 edx: f8dcc358
gaia esi: 00000000 edi: f5f1081a ebp: d0100000 esp: c7a1bdb4
gaia ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
gaia Process modprobe (pid: 26750, ti=c7a1a000 task=f7d80030 task.ti=c7a1a000)
gaia Stack: f8db1f79 f8dc8988 f887bbf5 d5f06524 00000000 0000600d f8db8564 f88706f7
gaia c194aa00 00000000 c194aa00 f8dcc200 f8dcc234 f8883580 f887147b c194aa18
gaia 00000000 c02991e8 00000060 00000286 c0351ddf 00000000 c194aa18 f8dcc234
gaia Call Trace:
gaia [<f8db1f79>] sn9c102_usb_probe+0x129/0x830 [sn9c102]
gaia [<f88706f7>] usb_match_one_id+0x27/0xb0 [usbcore]
gaia [<f887147b>] usb_probe_interface+0x6b/0xc0 [usbcore]
gaia [<c02991e8>] driver_probe_device+0x88/0x190
gaia [<c0351ddf>] klist_next+0x5f/0xc0
gaia [<c0299440>] __driver_attach+0x80/0x90
gaia [<c02985ea>] bus_for_each_dev+0x3a/0x60
gaia [<c0299056>] driver_attach+0x16/0x20
gaia [<c02993c0>] __driver_attach+0x0/0x90
gaia [<c029897a>] bus_add_driver+0x8a/0x1b0
gaia [<f8870f25>] usb_register_driver+0x95/0x110 [usbcore]
gaia [<f892702e>] sn9c102_module_init+0x2e/0x58 [sn9c102]
gaia [<c014dcd6>] sys_init_module+0x126/0x1990
gaia [<f88a1783>] journal_stop+0x193/0x1f0 [jbd]
gaia [<c016bb03>] vma_link+0xb3/0x100
gaia [<c016c8ed>] do_mmap_pgoff+0x52d/0x7a0
gaia [<c010433e>] sysenter_past_esp+0x6b/0xa1
gaia =======================
gaia Code: 8b 7c 24 24 8b 6c 24 28 83 c4 2c c3 8d b6 00 00 00 00 85 c0 74 15 8b 40 30 85 c0 74 0e 85 d2 74 0a b9 04 00 00 00 e9 57 ff ff ff <0f> 0b eb fe 8d 76 00 57 89 c7 56 89 ce 53 83 ec 04 8b 58 30 85
gaia EIP: [<c01bd209>] sysfs_create_file+0x19/0x20 SS:ESP 0068:c7a1bdb4
Erreur de segmentation
Bon je me doute que c'est parceque j'ai fait ça comme un porc... mais bon j'ai lu le lien que tu m'avais passé et j'ai pu constater que les valeurs dans le kernel semblait correspondre (à part les advanced functionnalities...).

Donc voilà j'en suis là, je ne comprend pas trop ce que je fait, et surtout pourquoi ça ne marche pas par défaut... (et pourquoi ça ne marche tjrs pas d'ailleurs)
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

j'ai survolé le tuto ... il semble dire qu'il faut supprimer le module sn9c1 au profit du spac...

tu as testé ?
Ne vous emmerdez plus, emmerdez les autres.
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

Message par Ubitux »

Non parceque ce spca marchin est dépassé... ça reste du v4l et pas du v4l2, enfin j'ai rien compris. Je suis complètement paumé... y'a pleins de modules différents éparpillés partout, et rien n'est clair. On retrouve plein de modules qui font les mêmes choses plus ou moins bien sur des sites divers j'ai pas spécialement envie de tout casser en faisant des make install à tord à travers.
J'ai l'impression d'être sous windows à chercher des modules/drivers un peu partout en espérant que ça marche et en les superposant les uns aux autres. Et comme je ne comprend pas ce qu'il fait et pourquoi il le fait (et si c'est compatible avec ce qui se fait actuellement) je préfère éviter.
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

le spca5xx n'est pas dépassé
http://mxhaard.free.fr/spca5xx.html
Ne vous emmerdez plus, emmerdez les autres.
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

Message par Ubitux »

"for kernel up from 2.6.11 : gspcav1-20070508.tar.gz
for kernel below 2.6.11: spca5xx version 0.60.00-1:
spca5xx-v4l1goodbye.tar.gz"

Apparemment si :/
j'ai un kernel 2.6.22 ; il faut que j'installe donc gspcav1... c'est ce que j'ai fait :

community/gspcav1 1.00.18-3 [installed]
A kernel module with support to 244 USB webcams

Pourtant, ce qui est étonnant, c'est que même sans ce paquet, le module sn9c102 est chargé... Bon enfin, quoi qu'il en soit, avec ou sans ce paquet, ça ne fonctionne pas mieux.
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

et en supprimant le sn9c102 comme expliqué dans le tuto que tu as lu ?
Ne vous emmerdez plus, emmerdez les autres.
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

Message par Ubitux »

Comment ça en le supprimant ? En le déchargeant tu veux dire ? Bah ça ne change rien au problème... Je ne comprend pas où tu veux en venir.
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Ubitux
Daikyu
Messages : 55
Inscription : jeu. 28 déc. 2006, 17:14

Message par Ubitux »

Bon après quelques explications sur IRC, la solution a été très simple :

- on installe le paquet gspcav1 (via le dépot)
- on décharge celui du kernel (rmmod sn9c102)
- on charge le module gqpca (modprobe gqpca)
- on ajoute dans la blacklist des module sn9c102

Et puis c'est tout...

Ce que je n'avais pas compris, c'est à quoi servait ce paquet gspcav1 ; en fait il ne contient pas la même série de module que le kernel, mais c'est un module à part entière qui remplace tous ceux utilisés par le kernel pour les webcam. Oui oui je sais j'aurais du lire, c'est pourtant écrit "A kernel module with support to 244 USB webcams"... shame on me :/

Marci marc

Elle fonctionne tout bien donc maintenant avec VLC, mplayer, xawtv, ...
Par contre je n'ai pas compris pourquoi le module du kernel par défaut ne marche pas...
Windows, c'est comme la cigarette : on paye cher pour se faire beaucoup de mal...
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

Maintenant que le pb est résolu, je voudrais bien savoir avec quel logiciel vous utilisez vos webcams...
J'ai testé Ekiga (anciennement Gnomemeeting), mais j'ai un bug : le son reste désespérément à 0. Si je le monte, il redescent aussi sec à 0. Je ne sais plus quoi faire... (si ce n'est ouvrir un autre topic !) :lol:
Répondre