[Résolu] Image blanche avec nouvelle Camera pi V2.1 et Raspberry Pi 4 B

Hi all,

Je suis un utilisateur de longue date de domoticz sur un Pi 1 B+ et je viens juste d’acheter un nouveau Pi 4 B (4Gb RAM) et une Camera Pi V2.1. Pour mettre à jour mon système domotique. Avant de migrer, je voulais tester la caméra V2 avec le nouveau Pi 4.

uname -a
Linux raspberrypi4.johndoe.com 4.19.93-v7l+ #1290 SMP Fri Jan 10 16:45:11 GMT 2020 armv7l GNU/Linux
 cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

J’ai fait les opérations suivantes:

  • Éteindre le pi
  • Connexion de la Pi Camera V2 et suppression du scotch de protection de la lentille
  • Démarrer le pi
  • sudo raspi-config + 5 Interfacing Options > P1 Camera > Enable: Yes
  • Mise à jour complet du système: sudo apt update && sudo apt full-upgrade && sudo apt-get install rpi-update && sudo rpi-update
  • Redémarrage
  • La commande vcgencmd get_camera retourne bien supported=1 detected=1

1er test: Prise d’une photo: raspistill -w 1024 -h 760 -o ~/Camera/image.jpg -q 100 retourne la photo suivante (fond blanc, bandes noires horizontales et bandes obliques en pointillé):

Je ne sais pas trop pourquoi je me retrouve avec une telle image. Une idée?

(la suite)

2nd test: Installer motion (4.1.1-1.1+b2), gpac (0.5.2-426-gc5ad4e4+dfsg5-5) et voir ce que la vidéo donne:

  • sudo apt-get install motion gpac
  • Configuration de /etc/motion/motion.conf avec les paramètres par défaut et modification de: daemon on, stream_localhost off
  • Démarrer motion: sudo motion
cat /var/log/motion/motion.log
[19236488:motion] [NTC] [ALL] [Jan 13 23:35:36] motion_startup: Using log type (ALL) log level (NTC)
[19236488:motion] [NTC] [ALL] [Jan 13 23:35:36] become_daemon: Motion going to daemon mode
[19236488:motion] [NTC] [ALL] [Jan 13 23:35:36] create_path: creating directory /var/run/motion
[19236488:motion] [NTC] [ALL] [Jan 13 23:35:36] become_daemon: Created process id file /var/run/motion/motion.pid. Process ID is 4254
[19236488:motion] [NTC] [ALL] [Jan 13 23:35:36] motion_startup: Motion running as daemon process
[19236488:motion] [NTC] [ENC] [Jan 13 23:35:36] ffmpeg_global_init: ffmpeg libavcodec version 58.35.100 libavformat version 58.20.100
[0:motion] [NTC] [ALL] [Jan 13 23:35:36] main: Camera ID: 0 is from /etc/motion/motion.conf
[0:motion] [NTC] [ALL] [Jan 13 23:35:36] main: Camera ID: 0 Camera Name: (null) Device: /dev/video0
[0:motion] [NTC] [ALL] [Jan 13 23:35:36] main: Waiting for threads to finish, pid: 4254
[1:ml1] [NTC] [ALL] [Jan 13 23:35:36] motion_init: Camera 0 started: motion detection Enabled
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] vid_start: Opening V4L2 device
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_start: Using videodevice /dev/video0 and input -1
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_get_capability:
------------------------
cap.driver: "bm2835 mmal"
cap.card: "mmal service 16.1"
cap.bus_info: "platform:bcm2835-v4l2"
cap.capabilities=0x85200005
------------------------
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_get_capability: - VIDEO_CAPTURE
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_get_capability: - VIDEO_OVERLAY
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_get_capability: - READWRITE
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_get_capability: - STREAMING
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_select_input: name = "Camera 0", type 0x00000002, status 00000000
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_select_input: - CAMERA
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_select_input: Device does not support specifying PAL/NTSC norm
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_do_set_pix_format: Testing palette YU12 (320x240)
[0:wc0] [NTC] [STR] [Jan 13 23:35:36] http_bindsock: listening on 127.0.0.1 port 8080
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_do_set_pix_format: Using palette YU12 (320x240) bytesperlines 320 sizeimage 115200 colorspace 00000001
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x00980900, "Brightness", range 0,100
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Brightness", default 50, current 50
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x00980901, "Contrast", range -100,100
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Contrast", default 0, current 0
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x00980902, "Saturation", range -100,100
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Saturation", default 0, current 0
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x00980918, "Power Line Frequency", range 0,3
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Power Line Frequency", default 1, current 1
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x0098090e, "Red Balance", range 1,7999
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Red Balance", default 1000, current 1000
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls: found control 0x0098090f, "Blue Balance", range 1,7999
[1:ml1] [NTC] [VID] [Jan 13 23:35:36] v4l2_scan_controls:       "Blue Balance", default 1000, current 1000
[0:wc0] [NTC] [STR] [Jan 13 23:35:36] httpd_run: Started motion-httpd server on port 8080 (auth Disabled)
[1:ml1] [NTC] [ALL] [Jan 13 23:35:37] image_ring_resize: Resizing pre_capture buffer to 1 items
[1:ml1] [NTC] [STR] [Jan 13 23:35:37] http_bindsock: listening on any IPv4 address port 8081
[1:ml1] [NTC] [ALL] [Jan 13 23:35:37] motion_init: Started motion-stream server on port 8081 (auth Disabled)

Quand j’accède à http://mon.ip.sur.lan:8081/ la vidéo montre ça… pas vraiment mieux!

(suite encore dans le fil)

(la fin)

3ème test: J’ai stoppé motion et installé l’application https://elinux.org/RPi-Cam-Web-Interface car je voulais voir si en tunant un peu la caméra j’arrivais à voir autre chose. La vidéo était également complètement blanche. J’ai modifié le preset à 720p et poussé les ISO à 250 et 400. Voici ce que j’obtiens:

Je me demande si le module Camera Pi V2 fonctionne bien. Existe-t-il un diagnostique à faire au niveau hardware/software pour voir ce qui cloche? Je pense plus à une caméra qui ne marche pas, mais je n’en suis pas sûr…

Merci de vos retours.

Chris

Bonjour @cnaslain,

As tu une webcam pour un essai ?
Je ne sais pas si dans Buster il y a gstreamer,
En faisant gstreamer-properties tu peux essayer la caméra ou avec « cheese » à essayer,
Par contre si le module caméra est défectueux pour le tester un autre Pi copain ou autre …

Bon courage

A plus
JC

Bonsoir @gtv61

Tu peux tenter avec une webcam, mais c’est reporter le problème. Les ports usb ne sont pas gérés avec le même chipset que le port CSI.

@cnaslain Tu peux essayer ta Pi Cam avec une version plus ancienne de Raspbian ?

@++

Yo,

Je n’ai pas de Rpi4 ; que du Rpi3 et Rpi3B+
J’ai une Cam 5Mpx sur chacun de ces 2 modèles.
Je suis passé par etcher puis Buster (sans compter les versions précédentes :wink: )
Aucun souci.

Comme il n’y a pas d’erreur lors de Raspistill, mais une image blanche, je penche pour un pb avec la caméra.

Mon conseil serait :

  • de tester le module RaspiCam sur un autre Rpi
    et
  • de tester ton Rpi avec un autre module Caméra

(comme @stef-k ; la WebCam ne nous en apprendra pas bcp sur la nature du souci ; cela dit pour faire tourner MotionEye, ça peut remplacer un module caméra)

++

Sinon au passage, j’ai testé le driver linux, bcm2835_v4l2 est bien chargé (mais inutilisé actuellement):

pi@raspberrypi4:~ $ sudo lsmod | grep bcm2835
snd_bcm2835            24576  1
bcm2835_codec          36864  0
snd_pcm               102400  4 vc4,snd_pcm_dmaengine,snd_bcm2835,snd_soc_core
v4l2_mem2mem           24576  1 bcm2835_codec
videobuf2_dma_contig    20480  1 bcm2835_codec
bcm2835_v4l2           45056  0
snd                    73728  7 snd_compress,snd_timer,snd_bcm2835,snd_soc_core,snd_pcm
bcm2835_mmal_vchiq     32768  2 bcm2835_codec,bcm2835_v4l2
v4l2_common            16384  1 bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
videobuf2_v4l2         24576  3 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common       45056  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
videodev              200704  6 bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
media                  36864  3 bcm2835_codec,videodev,v4l2_mem2mem
vc_sm_cma              36864  1 bcm2835_mmal_vchiq
pi@raspberrypi4:~ $ v4l2-ctl --list-formats-ext -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YU12' (Planar YUV 4:2:0)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [1]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [2]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [3]: 'JPEG' (JFIF JPEG, compressed)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [4]: 'H264' (H.264, compressed)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [5]: 'MJPG' (Motion-JPEG, compressed)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [6]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [7]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [8]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [9]: 'NV12' (Y/CbCr 4:2:0)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [10]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [11]: 'YV12' (Planar YVU 4:2:0)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [12]: 'NV21' (Y/CrCb 4:2:0)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2
        [13]: 'BGR4' (32-bit BGRA/X 8-8-8-8)
                Size: Stepwise 32x32 - 3280x2464 with step 2/2

Tout semble OK au niveau soft; je penche aussi pour un pb hardware de caméra.

Je vais essayer la caméra sur mon vieux Pi 1 B+…

Tu vas utiliser quelle version de Raspbian pour le Rpi1 ?
@+

Nouveau test de la PiCam V2.1 sur mon Raspberry Pi 1 B+.
J’ai activé la cam dans raspi-config + reboot:

Environnement:

pi@raspberrypi:~$ uname -a
Linux raspberrypi.johndoe.com 4.4.23+ #913 Tue Oct 4 13:56:56 BST 2016 armv6l GNU/Linux
pi@raspberrypi:~$ cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Test du driver linux:

sudo lsmod | grep bcm2835
bcm2835_gpiomem         3823  0
bcm2835_wdt             4133  0
snd_bcm2835            23131  0
snd_pcm                95473  1 snd_bcm2835
snd                    68368  3 snd_bcm2835,snd_timer,snd_pcm

Là je ne suis pas sûr que ce soit bon, je m’attendais à un driver nommé bcm2835_v4l2…

Test d’une capture photo:

raspistill -w 1024 -h 760 -o ~/Camera/image.jpg -q 100

… le programme mouline sans rendre la main; je ne le vois pas dans les premiers process du top.

Allez, on met tout à jour, j’ai lu que les derniers kernels intégrait le driver v4l…

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo modprobe bcm2835-v4l2
echo "bcm2835-v4l2" | sudo tee -a /etc/modules
sudo reboot

Au boot, le driver video est bien chargé; dans /var/log/message on voit bien passer:

Jan 14 23:17:11 raspberrypi kernel: [    9.177711] Linux video capture interface: v2.00
Jan 14 23:17:11 raspberrypi kernel: [    9.299707] bcm2835-v4l2: V4L2 device registered as video0 - stills mode > 1280x720
Jan 14 23:17:11 raspberrypi kernel: [    9.334241] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2 loaded.

Liste des drivers:

sudo lsmod | grep bcm2835
bcm2835_gpiomem         3791  0
bcm2835_v4l2           43131  0
v4l2_common             6285  1 bcm2835_v4l2
videobuf2_vmalloc       5849  1 bcm2835_v4l2
videobuf2_v4l2         16841  1 bcm2835_v4l2
videobuf2_core         31781  2 bcm2835_v4l2,videobuf2_v4l2
videodev              177702  4 v4l2_common,videobuf2_core,bcm2835_v4l2,videobuf2_v4l2
snd_bcm2835            23131  0
snd_pcm                97825  1 snd_bcm2835
snd                    68784  3 snd_timer,snd_bcm2835,snd_pcm

C’est mieux; on retrouve bcm2835_v4l2 chargé.

vcgencmd get_camera

… ne redonne pas la main; ça bloque.

Re-test d’une capture photo:

raspistill -w 1024 -h 760 -o ~/Camera/image.jpg -q 100

… ne redonne pas la main; ça bloque aussi.

Ce n’est pas toujours pas ça :frowning:

Sur le Pi4 ces commandes fonctionnent mais j’ai une image blanche; sur le Pi 1 B+ je n’arrive même pas à interroger la caméra/prendre une photo. Je crois que je vais la renvoyer!

hello,

t’as essayé :
raspistill -v -o test.jpg

le -v le rend plus bavard chez moi avec une v2 qui fonctionne il me sort ça :
Preview Yes, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode ‹ auto ›, AWB Mode ‹ auto ›, Image Effect ‹ none ›
Flicker Avoid Mode ‹ off ›
Metering Mode ‹ average ›, Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
Camera component done
Encoder component done
Starting component connection stage
Connecting camera preview port to video render.
Connecting camera stills port to encoder input port
Opening output file test.jpg
Enabling encoder output port
Starting capture -1
Finished capture -1
Closing down
Close down completed, all components disconnected, disabled and destroyed

(source: https://www.raspberrypi.org/documentation/configuration/camera.md)

Oui, vcgencmd get_camera et raspistill bloquent. Impossible d’avoir un retour.

Bonjour,
La caméra v2.1 fonctionne elle sur le Pi 1?,c’est un B+ normalement oui…
Et pourquoi pas monter Buster sur le pI 1 ?
Et regarde que le cordon plat soit bien connecté côté caméra .
A plus

Salut j’ai monté 3 cam V.2 sur 3 rpi b+.
Le seul problème récurent que j’ai rencontré c’est une image grise sur motioneye quand la nas est pas bien mise ou quand la nas a bougée.
Ne pas utiliser de support camera et faire des tests à nu sans boitier, puis quand sa fonctionne t achetes un boitier et tu fais un trou avec la perceuse pour insérer la lentille de la camera…

@gtv61 C’était mon dernier test; je ne suis pas arrivé à faire fonctionner la cam V2.1 sur la Pi 1 B+. Driver v4l chargé mais dès que je lance une commande interrogeant la camera, ça bloque.

La Pi 1 sert actuellement pour faire tourner domoticz (j’ai tout mis à jour, en restant sur jessie).
Je n’ai pas trop envie de réinstaller tout le système avec buster :frowning:

@Miguel66001 J’ai fait tous les tests la caméra à nu; sans montage dans un boitier. La nappe semble bien montée côté module cam.

Je suis parti pour la renvoyer et en prendre une autre; je vous dirai si ça marche mieux (j’espère que c’est bien un pb hardware).

Merci pour vos retours et suggestions.

Dacc au fait une précision, dans mon cas, j’ai monté ces cam sur rpi3 b+ sous Rasbian version 9
Raspberry Pi v2.1 8 MP 1080p Module Caméra https://www.amazon.fr/dp/B01ER2SKFS/ref=cm_sw_r_tw_apa_i_knWhEbDF6CBTH

@cnaslain
Tu peux pour éviter de casser jessie,prendre la carte Buster du pi4 et la placer sur le pi1B+,
Pour essayer , car la caméra peut être HS , mais c’est peut être aussi le port du PI4 !!.

Bon courage.

si j’ai bien compris la camera se sert du GPU donc avec raspi-config tu peux vérifier si la mémoire GPU allouée est suffisante ( j’imagine que tu aurais pu la diminuer pour optimiser le Rpi )

source ! https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md

@gtv61 Sur mon vieux Pi 1 B+, le système ne fait que booter sur la carte, l’OS est installé sur un WD PiDrive; pas si simple que de juste switcher de carte microSD. Mais tu as raison, j’aurais pu formatter une autre carte pour tester buster sur le Pi 1…

@bof J’avais regardé le partage mémoire; je n’ai rien vu d’étrange. C’était 1/4 vidéo et 3/4 système en gros. Mais ni l’un ni l’autre n’était au taquet. je n’y ai pas touché.

Entre temps, j’ai renvoyé la cam; j’en attends une autre… Wait & See :wink:

Nouvelle caméra Pi V2.1 reçue. Branchée; testée: Elle marche nickel!

Je pense que c’était bien un problème matériel du module caméra!!!

Yo,
Merci pour le retour.
Bonne nouvelle pour toi.
Tu peux éditer ton message initial afin d’insérer [Résolu] dans le titre ?
++