Cle usb acquisition

Bon, à vue de nez la carte est reconnue, le module chargé et pas de bugs apparents.

Y-a-t-il un /dev/video0 qui apparait?

Peux tu regarder quels sont les modules chargés lorsque tu mets la caméra, tu devrais avoir
videobuf2_vmalloc videobuf2_memops videobuf2_core videodev ou équivalent.

As tu essayé avec vlc?

Non, pas de /dev/video0

# ls -l /dev/video* ls: impossible d'accéder à /dev/video*: Aucun fichier ou dossier de ce type

Je ne sais pas comment faire pour voir çà.

Non, en mode serveur je ne peux pas et je n’ai pas de /dev/video0

# lsmod Module Size Used by cx231xx 119230 0 videobuf_vmalloc 12635 1 cx231xx cx2341x 21285 1 cx231xx videobuf_core 17600 2 cx231xx,videobuf_vmalloc rc_core 18074 1 cx231xx v4l2_common 12895 2 cx2341x,cx231xx videodev 91379 3 cx2341x,cx231xx,v4l2_common media 17868 1 videodev ppdev 12620 0 lp 12805 0 ip6table_filter 12492 0 ip6_tables 17022 1 ip6table_filter x_tables 18076 2 ip6table_filter,ip6_tables nfsd 161224 2 auth_rpcgss 33693 1 nfsd oid_registry 12387 1 auth_rpcgss nfs_acl 12463 1 nfsd nfs 94213 0 lockd 49438 2 nfs,nfsd fscache 32615 1 nfs sunrpc 129960 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl 8021q 18972 0 garp 13020 1 8021q bridge 65649 0 stp 12405 2 garp,bridge llc 12710 3 stp,garp,bridge vfat 17157 0 fat 45156 1 vfat ext2 50124 1 loop 18066 0 snd_hda_codec_realtek 31992 1 snd_hda_intel 30725 0 snd_hda_codec 102848 2 snd_hda_codec_realtek,snd_hda_intel snd_hwdep 12939 1 snd_hda_codec lm63 13220 0 arc4 12487 2 rt61pci 22359 0 rt2x00pci 12508 1 rt61pci snd_pcm_oss 36297 0 snd_mixer_oss 17770 1 snd_pcm_oss rt2x00mmio 12570 1 rt61pci radeon 621660 1 rt2x00lib 37608 3 rt61pci,rt2x00pci,rt2x00mmio mac80211 309057 2 rt2x00lib,rt2x00pci cfg80211 264217 2 mac80211,rt2x00lib ttm 52618 1 radeon snd_pcm 57885 3 snd_pcm_oss,snd_hda_codec,snd_hda_intel drm_kms_helper 27237 1 radeon drm 165556 3 ttm,drm_kms_helper,radeon snd_page_alloc 12938 2 snd_pcm,snd_hda_intel snd_timer 22217 1 snd_pcm snd 42832 8 snd_hda_codec_realtek,snd_pcm_oss,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec,snd_hda_intel,snd_mixer_oss i2c_algo_bit 12713 1 radeon eeprom_93cx6 12640 1 rt61pci k8temp 12631 0 evdev 17266 6 powernow_k8 17257 1 i2c_viapro 12480 0 i2c_core 19505 9 drm,lm63,cx231xx,drm_kms_helper,i2c_algo_bit,i2c_viapro,v4l2_common,radeon,videodev shpchp 26762 0 pci_hotplug 22507 1 shpchp rfkill 18706 2 cfg80211 crc_itu_t 12331 1 rt61pci soundcore 12890 1 snd serio_raw 12812 0 pcspkr 12560 0 ehci_pci 12432 0 parport_pc 22073 1 parport 31317 3 lp,ppdev,parport_pc asus_atk0110 17070 0 processor 27839 1 powernow_k8 thermal_sys 22673 1 processor button 12824 0 ext4 332539 2 crc16 12327 1 ext4 jbd2 58039 1 ext4 mbcache 12938 2 ext2,ext4 dm_mod 57696 15 sg 21648 0 sd_mod 35728 5 crc_t10dif 12332 1 sd_mod pata_marvell 12523 0 8139too 22148 0 ata_generic 12450 0 uhci_hcd 22424 0 ehci_hcd 35852 1 ehci_pci ahci 25000 0 libahci 22632 1 ahci pata_via 12829 3 sata_via 12846 0 8139cp 22454 0 atl1 31005 0 mii 12595 3 atl1,8139cp,8139too usbcore 110376 4 cx231xx,uhci_hcd,ehci_hcd,ehci_pci usb_common 12408 1 usbcore libata 126245 6 ahci,sata_via,pata_marvell,libahci,pata_via,ata_generic scsi_mod 131001 3 sg,libata,sd_mod floppy 48165 0
Je ne vois nulle part videobuf2_memops. Je ne sais pas si c’est grave.

avant la cam :

# lsmod Module Size Used by ppdev 12620 0 lp 12805 0 ip6table_filter 12492 0 ip6_tables 17022 1 ip6table_filter x_tables 18076 2 ip6table_filter,ip6_tables nfsd 161224 2 auth_rpcgss 33693 1 nfsd oid_registry 12387 1 auth_rpcgss nfs_acl 12463 1 nfsd nfs 94213 0 lockd 49438 2 nfs,nfsd fscache 32615 1 nfs sunrpc 129960 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl 8021q 18972 0 garp 13020 1 8021q bridge 65649 0 stp 12405 2 garp,bridge llc 12710 3 stp,garp,bridge vfat 17157 0 fat 45156 1 vfat ext2 50124 1 loop 18066 0

après branchement de la cam :

# lsmod Module Size Used by cx231xx 119230 0 videobuf_vmalloc 12635 1 cx231xx cx2341x 21285 1 cx231xx videobuf_core 17600 2 cx231xx,videobuf_vmalloc rc_core 18074 1 cx231xx v4l2_common 12895 2 cx2341x,cx231xx videodev 91379 3 cx2341x,cx231xx,v4l2_common media 17868 1 videodev ppdev 12620 0 lp 12805 0 ip6table_filter 12492 0 ip6_tables 17022 1 ip6table_filter x_tables 18076 2 ip6table_filter,ip6_tables nfsd 161224 2 auth_rpcgss 33693 1 nfsd oid_registry 12387 1 auth_rpcgss nfs_acl 12463 1 nfsd nfs 94213 0 lockd 49438 2 nfs,nfsd fscache 32615 1 nfs sunrpc 129960 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl 8021q 18972 0 garp 13020 1 8021q bridge 65649 0 stp 12405 2 garp,bridge llc 12710 3 stp,garp,bridge vfat 17157 0 fat 45156 1 vfat ext2 50124 1 loop 18066 0
Mais toujours aucun fichier /dev/video0

# motion [0] Processing thread 0 - config file /etc/motion/motion.conf [0] Motion 3.2.12 Started [0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478785 [0] Thread 1 is from /etc/motion/motion.conf [0] httpd bind(): Address already in use [0] httpd thread exit [1] Thread 1 started [1] Failed to open video device /dev/video0: No such file or directory [1] Could not fetch initial image from camera [1] Motion continues using width and height from config file(s) [1] Resizing pre_capture buffer to 1 items [1] Started stream webcam server in port 8081 [1] Retrying until successful connection with camera [1] Failed to open video device /dev/video0: No such file or directory

Hum, il faut que je réflechisse…

Je me permets de remonter ce fil car je ne trouve toujours pas la solution. ce n’est pas faute d’arpenter le net à la recherche d’indices :slightly_smiling:

Il faut patcher différemment le module. J’ai du boulot en ce moment mais dès que j’aurai un peu de temps…

Up.

Je me suis un peu battu pour faire fonctionner une clé usb équivalente (la fameuse 1d19:6109), voici ma procédure.

C’est très bourrin (compiler tout le noyau pour juste un module :033 )

modèle de la clé :
ewent video grabber EW3705 usb 2.0

Pour Debian Wheezy, kernel 3.2

[mono]lsusb[/mono]
1d19:6109 Dexatek Technology Ltd.

donc :

[code]su -c ‘aptitude install linux-source kernel-package’
cd && tar xvf /usr/src/linux-source-3.2.tar.bz2
cd linux-source-3.2
cp /boot/config-$(uname -r) .config

cd drivers/media/video/cx231xx/

cat >cx231xx-cards.c.patch <<EOF
— cx231xx-cards.c.bak 2014-11-22 23:18:39.529869963 +0100
+++ cx231xx-cards.c 2014-11-22 23:19:45.965892100 +0100
@@ -608,6 +608,8 @@

/* table of devices that work with this driver */
struct usb_device_id cx231xx_id_table[] = {
+{USB_DEVICE(0x1D19, 0x6109),

  • .driver_info = CX231XX_BOARD_PV_XCAPTURE_USB},
    {USB_DEVICE(0x0572, 0x5A3C),
    .driver_info = CX231XX_BOARD_UNKNOWN},
    {USB_DEVICE(0x0572, 0x58A2),
    EOF

patch -p1 cx231xx-cards.c <cx231xx-cards.c.patch

cd ~/linux-source-3.2
make-kpkg --rootcmd fakeroot --initrd kernel_image &&
su -c “dpkg -i …/linux-image-*.deb”
[/code](rebooter le nouveau noyau)

On a besoin d’un firmware :

[mono]dmesg|grep firm[/mono]
cx25840 2-0044: firmware: agent aborted loading v4l-cx231xx-avcore-01.fw (not found?)

firmware que l’on peut trouver ici : linuxtv.org/downloads/firmware/

su cd /lib/firmware; wget http://www.linuxtv.org/downloads/firmware/v4l-cx231xx-avcore-01.fw update-initramfs -u (rebooter encore une fois)

[mono]dmesg|grep firmware[/mono]
[ 7.880222] cx25840 2-0044: firmware: agent loaded v4l-cx231xx-avcore-01.fw into memory
[ 9.797326] cx25840 2-0044: loaded v4l-cx231xx-avcore-01.fw firmware (16382 bytes)

Liste des modules :
[mono]lsmod | grep cx[/mono]

cx231xx_alsa 12966 0
cx25840 39225 1
cx231xx 119778 1 cx231xx_alsa
videobuf_vmalloc 12635 1 cx231xx
cx2341x 21285 1 cx231xx
videobuf_core 17600 2 videobuf_vmalloc,cx231xx
v4l2_common 13056 3 cx2341x,cx231xx,cx25840
snd_pcm 53378 3 snd_ac97_codec,snd_intel8x0,cx231xx_alsa
videodev 61679 4 v4l2_common,cx2341x,cx231xx,cx25840
snd 42692 7 snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_ac97_codec,snd_intel8x0,cx231xx_alsa
rc_core 17998 8 ir_nec_decoder,ir_rc5_decoder,ir_rc6_decoder,ir_jvc_decoder,ir_sony_decoder,cx231xx,ir_mce_kbd_decoder,ir_lirc_codec
i2c_core 19183 9 i2c_nforce2,videodev,v4l2_common,i2c_algo_bit,cx231xx,drm,drm_kms_helper,cx25840,nouveau
usbcore 104586 6 ehci_hcd,ohci_hcd,usbhid,cx231xx,cx231xx_alsa

(lister les périphériques d’enregistrement du son)
[mono]arecord -l[/mono]

**** Liste des Périphériques Matériels CAPTURE ****
carte 0: nForce2 [NVidia nForce2], périphérique 0: Intel ICH [NVidia nForce2]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 0: nForce2 [NVidia nForce2], périphérique 1: Intel ICH - MIC ADC [NVidia nForce2 - MIC ADC]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: Cx231xxAudio [Cx231xx Audio], périphérique 0: Cx231xx Audio [Conexant cx231xx Capture]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0

Test capture audio avec arecord
([mono]arecord -L[/mono] pour lister les périph)
[mono]arecord -t wav -D default:CARD=Cx231xxAudio test.wav[/mono]

(lire le son)
[mono]aplay test.wav[/mono]

Capture vidéo/audio avec avconv
[mono]apt-get install ffmpeg[/mono]

(capture avec codec vidéo x264 en preset lossless, audio compressé)
[mono]avconv -f alsa -i hw:1,0 -f video4linux2 -i /dev/video0 -pre:0 libx264-lossless_ultrafast -c:v libx264 -strict experimental monfichier.mkv[/mono]
(capture vidéo non compressée, 25fps, audio compressé)
[mono]avconv -f alsa -i hw:1,0 -f video4linux2 -i /dev/video0 -s 25 -c:v copy monfichier.mkv[/mono]

Sinon on peut aussi capturer avec VLC : il faut bien sélectionner la source vidéo et la source audio

Liens utiles :
linuxtv.org/wiki/index.php/S … SVG_2.0_A2
debian.org/doc/manuals/debia … stomkernel