sorbonne
Posts: 49
Joined: Thu Jan 14, 2016 10:25 am

CAM0 not detected on CM3

Sun Jan 22, 2017 11:16 pm

Hi,

I followed all the official instructions to enable both the 2.1 cameras on the CM3, however I get the following:

Code: Select all

$ vcgencmd get_camera
supported=2 detected=1
CAM0 is not detected. I doubled checked the cable connections, they are ok.

I am using the official -dual.dts:
sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-dualcam.dts
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@default has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p2 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p3 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p4 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p5 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p6 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p7 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p8 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p9 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p10 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p11 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p12 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p13 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p14 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p15 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p16 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p17 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p18 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p19 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p20 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p21 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p22 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p23 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p24 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p25 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p26 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p27 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p28 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p29 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p30 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p31 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p32 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p33 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p34 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p35 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p36 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p37 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p38 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p39 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p40 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p41 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p42 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p43 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p44 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p45 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p46 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p47 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p48 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p49 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p50 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p51 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p52 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p53 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@NUM_CAMERAS has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_LED has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_SHUTDOWN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_UNICAM_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_I2C_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_SDA_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_0_SCL_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_LED has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_SHUTDOWN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_UNICAM_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_I2C_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_SDA_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_defines/pin_define@CAMERA_1_SCL_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@default has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p2 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p3 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p4 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p5 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p6 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p7 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p8 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p9 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p10 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p11 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p12 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p13 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p14 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p15 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p16 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p17 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p18 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p19 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p20 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p21 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p22 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p23 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p24 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p25 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p26 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p27 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p28 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p29 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p30 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p31 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p32 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p33 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p34 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p35 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p36 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p37 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p38 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p39 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p40 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p41 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p42 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p43 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p44 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p45 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p46 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p47 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p48 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p49 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p50 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p51 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p52 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_config/pin@p53 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@NUM_CAMERAS has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_LED has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_SHUTDOWN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_UNICAM_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_I2C_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_SDA_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_0_SCL_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_LED has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_SHUTDOWN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_UNICAM_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_I2C_PORT has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_SDA_PIN has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm3/pin_defines/pin_define@CAMERA_1_SCL_PIN has a unit name, but no reg property
Version: DTC 1.4.1-gbd1c3aca-dirty

after rpi-update nothing changed.

Do you know what to check?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 9891
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CAM0 not detected on CM3

Mon Jan 23, 2017 1:15 pm

Have you enabled "dtparam=arm_i2c" in config.txt or otherwise reused GPIOs 2&3?
"sudo apt-get install raspi-gpio" "sudo raspi-gpio get" and report the config of GPIOs 0-3 and 28-31 (or just post the lot).
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

sorbonne
Posts: 49
Joined: Thu Jan 14, 2016 10:25 am

Re: CAM0 not detected on CM3

Mon Jan 23, 2017 6:43 pm

solved,thanks. I had to replace one broken cable.

daveshorts
Posts: 8
Joined: Wed Sep 05, 2012 1:15 pm
Location: Cambridge

Re: CAM0 not detected on CM3

Wed Feb 08, 2017 11:27 am

I am getting the same problem with a Compute Module 1 on jessie, but I have tried swapping all the 1 & 0 cameras and cables. cs 0 (CAM1) always works and cs 1 (CAM0) never does.

I get the following error

mmal: Could not select camera : error 3
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

I have updated everything

when I make the blob from the dt-blob-dualcam.dts found on
https://www.raspberrypi.org/documentati ... -camera.md

dtc -I dts -O dtb -o dt-blob.bin dt-blob-dualcam.dts

I get the
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@default has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /videocore/pins_cm/pin_config/pin@p0 has a unit name, but no reg property
errors

The output of sudo raspi-gpio get
GPIO 00: level=1 fsel=0 alt= func=INPUT
GPIO 01: level=1 fsel=0 alt= func=INPUT
GPIO 02: level=0 fsel=1 alt= func=OUTPUT
GPIO 03: level=0 fsel=1 alt= func=OUTPUT
...
GPIO 28: level=1 fsel=4 alt=0 func=SDA0
GPIO 29: level=1 fsel=4 alt=0 func=SCL0
GPIO 30: level=0 fsel=1 alt= func=OUTPUT
GPIO 31: level=0 fsel=1 alt= func=OUTPUT

The difference strikes me a not right, but I don't know what it should look like.

I guess it could be a damaged IO board connector...

Any ideas?
thanks
Dave

daveshorts
Posts: 8
Joined: Wed Sep 05, 2012 1:15 pm
Location: Cambridge

Re: CAM0 not detected on CM3

Wed Feb 08, 2017 12:54 pm

Ok, I have tried with a different IO board, and exactly the same problem. Am I doing something wrong with the software?
cheers

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 9891
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CAM0 not detected on CM3

Wed Feb 08, 2017 12:57 pm

daveshorts wrote:The output of sudo raspi-gpio get
GPIO 00: level=1 fsel=0 alt= func=INPUT
GPIO 01: level=1 fsel=0 alt= func=INPUT
GPIO 02: level=0 fsel=1 alt= func=OUTPUT
GPIO 03: level=0 fsel=1 alt= func=OUTPUT
...
GPIO 28: level=1 fsel=4 alt=0 func=SDA0
GPIO 29: level=1 fsel=4 alt=0 func=SCL0
GPIO 30: level=0 fsel=1 alt= func=OUTPUT
GPIO 31: level=0 fsel=1 alt= func=OUTPUT

The difference strikes me a not right, but I don't know what it should look like.
That is correct. Both camera modules have the same I2C address so can't both be connected to the peripheral at the same time. The GPU firmware changes the pin muxing as it finds it needs to access the other set of pins.

For test purposes only, and only on a CM1, try adding "dtparam=i2c_vc=on" to /boot/config.txt

Code: Select all

sudo modprobe i2c-dev
sudo raspi-gpio set 0 a0
sudo raspi-gpio set 1 a0
sudo raspi-gpio set 28 ip
sudo raspi-gpio set 29 ip
sudo raspi-gpio set 3 op dh
sudo i2cdetect -y 0
For a V1.3 OV5647 camera module you should see a response on 0x36, or 0x10 for a V2.1 IMX219 camera.

Code: Select all

sudo raspi-gpio set 3 op dl
sudo raspi-gpio set 0 ip
sudo raspi-gpio set 1 ip
sudo raspi-gpio set 28 a0
sudo raspi-gpio set 29 a0
sudo raspi-gpio set 31 op dh
sudo i2cdetect -y 0
Will be doing the same for the other camera interface.
(If you're using some cloned OV5647 camera boards then you may need to set GPIO 2 or 30 high as well - they weren't 100% accurate in their cloning)

If either of those don't show up the expected I2C address then you need to investigate your wiring. Don't forget to remove the "dtparam=i2c_vc..." from config.txt once done. Having both processors trying to access the one peripheral will cause issues.

The warnings from dtc are because version 1.4 (IIRC) complains more than earlier versions. Add -q to the command-line to shut up some of the warnings.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

daveshorts
Posts: 8
Joined: Wed Sep 05, 2012 1:15 pm
Location: Cambridge

Re: CAM0 not detected on CM3

Thu Feb 09, 2017 6:18 pm

Thankyou
It would appear that I am a complete numpty, and managed to swap over two similar coloured wires.
sorry for wasting your time...
thanks for your patience

paulsk
Posts: 2
Joined: Thu Jan 30, 2014 11:26 am

Re: CAM0 not detected on CM3

Sun Apr 16, 2017 3:29 pm

I had the same problem with trying to use a new Wide Angle Camera with a CM3 on a CM3 IO board. I could not get it working with a CM3 but the same camera worked good with a Raspberry Pi model 3B.
Therefore I went back to the CM3/CM3IO combo to try and get them to work.
The jumper wires on the MC3IO board were as follows:
CD0_SDA to GPIO bank 0 (J5) pin 0
CD0_SCL to GPIO bank 0 pin 1
CAM0_IO1 to GPIO bank 0 pin 2
CAM0_IO0 to GPIO bank 0 pin 3

CD1_SDA to GPIO bank 1 (J6) pin 28
CD1_SCL to GPIO bank 1 pin 29
CAM1_IO1 to GPIO bank 1 pin 30
CAM1_IO0 to GPIO bank 1 pin 31

When I connected the camera to CAM1
the result of vcgencmd get_camera was:
supported=2 detected=1

When I connected the camera to CAM0
the result of vcgencmd get_camera was:
supported=2 detected=0

With the camera connected to "CAM1", running a camera test with a python script resulted in the PiCamera error: "no data received from sensor."

Then I modified the file /boot/dt-blob-dualcam.dts. I deleted the section "pins_cm", so I only had left over the section "pins_cm3". I compiled this modified .dts into dt-blob.bin. I just wanted to rule out a possible "mix" or "confusion". Because I use a CM3 I wanted less "complexity" in the .dts file (at least during this stage of troubleshooting).

After rebooting I ran the command "raspi-gpio get". I saw the following (I only copy here the lines that took my attention):
BANK0 (GPIO 0 to 27):
GPIO 02: level=0 fsel=4 alt=0 func=SDA1
GPIO 03: level=0 fsel=4 alt=0 func=SCL1

BANK1 (GPIO 28 to 45):
GPIO 28: level=1 fsel=4 alt=0 func=SDA0
GPIO 29: level=1 fsel=4 alt=0 func=SCL0

So I came to the conclusion that I had wired the jumper wires in a reverse way than shown in the images in the instructions found on: http://www.raspberrypi.org/../cmio-camera.md.
The jumper wires on my CM3IO board had to be "reversed", I mean: GPIO 28 --> BANK0 pin 0 etcetera, as shown below:

CD0_SDA to GPIO bank 1 (J6) pin 28
CD0_SCL to GPIO bank 1 pin 29
CAM0_IO1 to GPIO bank 1 pin 30
CAM0_IO0 to GPIO bank 1 pin 31

CD1_SDA to GPIO bank 0 (J5) pin 0
CD1_SCL to GPIO bank 0 pin 1
CAM1_IO1 to GPIO bank 0 pin 2
CAM1_IO0 to GPIO bank 0 pin 3

With this "new" wiring and connecting the camera connected to "CAM0",
the command: "vcgencmd get_camera" now resulted in: "supported=2 detected=1". A run of the python camtest.py script executed without error. It produced images and it created image capure files 'xxx.jpg' and video files 'xxx.h265'.
Sure I am a little proud of myself that I solved this camera problem myself. This result was only possible through all the good documentation available on the internet, especially here on raspberrypi.org.
Sofar the result of my troubleshooting.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 9891
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: CAM0 not detected on CM3

Sun Apr 16, 2017 5:13 pm

paulsk wrote:I had the same problem with trying to use a new Wide Angle Camera with a CM3 on a CM3 IO board. I could not get it working with a CM3 but the same camera worked good with a Raspberry Pi model 3B.
Therefore I went back to the CM3/CM3IO combo to try and get them to work.
The jumper wires on the MC3IO board were as follows:
CD0_SDA to GPIO bank 0 (J5) pin 0
CD0_SCL to GPIO bank 0 pin 1
CAM0_IO1 to GPIO bank 0 pin 2
CAM0_IO0 to GPIO bank 0 pin 3

CD1_SDA to GPIO bank 1 (J6) pin 28
CD1_SCL to GPIO bank 1 pin 29
CAM1_IO1 to GPIO bank 1 pin 30
CAM1_IO0 to GPIO bank 1 pin 31

When I connected the camera to CAM1
the result of vcgencmd get_camera was:
supported=2 detected=1

When I connected the camera to CAM0
the result of vcgencmd get_camera was:
supported=2 detected=0

With the camera connected to "CAM1", running a camera test with a python script resulted in the PiCamera error: "no data received from sensor."

Then I modified the file /boot/dt-blob-dualcam.dts. I deleted the section "pins_cm", so I only had left over the section "pins_cm3". I compiled this modified .dts into dt-blob.bin. I just wanted to rule out a possible "mix" or "confusion". Because I use a CM3 I wanted less "complexity" in the .dts file (at least during this stage of troubleshooting).

After rebooting I ran the command "raspi-gpio get". I saw the following (I only copy here the lines that took my attention):
BANK0 (GPIO 0 to 27):
GPIO 02: level=0 fsel=4 alt=0 func=SDA1
GPIO 03: level=0 fsel=4 alt=0 func=SCL1

BANK1 (GPIO 28 to 45):
GPIO 28: level=1 fsel=4 alt=0 func=SDA0
GPIO 29: level=1 fsel=4 alt=0 func=SCL0

So I came to the conclusion that I had wired the jumper wires in a reverse way than shown in the images in the instructions found on: http://www.raspberrypi.org/../cmio-camera.md.
The jumper wires on my CM3IO board had to be "reversed", I mean: GPIO 28 --> BANK0 pin 0 etcetera, as shown below:

CD0_SDA to GPIO bank 1 (J6) pin 28
CD0_SCL to GPIO bank 1 pin 29
CAM0_IO1 to GPIO bank 1 pin 30
CAM0_IO0 to GPIO bank 1 pin 31

CD1_SDA to GPIO bank 0 (J5) pin 0
CD1_SCL to GPIO bank 0 pin 1
CAM1_IO1 to GPIO bank 0 pin 2
CAM1_IO0 to GPIO bank 0 pin 3

With this "new" wiring and connecting the camera connected to "CAM0",
the command: "vcgencmd get_camera" now resulted in: "supported=2 detected=1". A run of the python camtest.py script executed without error. It produced images and it created image capure files 'xxx.jpg' and video files 'xxx.h265'.
Sure I am a little proud of myself that I solved this camera problem myself. This result was only possible through all the good documentation available on the internet, especially here on raspberrypi.org.
Sofar the result of my troubleshooting.
You've almost certainly added "dtparam=i2c_arm=on" to your config.txt file. That is enabling i2c-1 on GPIOs 2&3 which you have already assigned to CAM1_IO[0|1] - they can't have two functions.
If you need i2c-1 for your application, then either move it to other pins, or alter your dt-blob.bin to move CAM1_IO[0|1] elsewhere (eg 4&5).
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

paulsk
Posts: 2
Joined: Thu Jan 30, 2014 11:26 am

Re: CAM0 not detected on CM3

Sun Jun 11, 2017 9:13 am

Thank you. As of 8 of June I possess 2 of these wide-angle cameras, both with a flat cable of about 75cm. They are now both detected. I have them now working.

Return to “Compute Module”