On Bullseye 64bit I receive this error (after commenting out the chip ID verification lines in the IMX477.c driver):
[ 5.034503] imx477 10-001a: failed to read chip id 477, with error -5
[ 5.034514] imx477 10-001a: chip id mismatch: 477!=8d56068
[ 5.034520] imx477 10-001a: Device found is imx8d56068
And then when I try to use the camera I get this error:
[ 76.412257] imx477 10-001a: Failed to write reg 0x0136. error = -5
[ 76.412266] imx477 10-001a: imx477_start_streaming failed to set common settings
[ 76.412312] unicam fe801000.csi: stream on failed in subdev
[ 76.412936] ------------[ cut here ]------------
[ 76.412956] WARNING: CPU: 3 PID: 1186 at drivers/media/mc/mc-entity.c:554 __media_pipeline_stop+0xb0/0xc4 [mc]
[ 76.412959] Modules linked in: algif_hash algif_skcipher af_alg bnep hci_uart btbcm bluetooth ecdh_generic ecc 8021q garp stp llc imx477 cp210x usbserial brcmfmac brcmutil cfg80211 snd_bcm2835(C) rfkill bcm2835_unicam v4l2_dv_timings v4l2_fwnode i2c_mux_pinctrl snd_pcm bcm2835_v4l2(C) bcm2835_isp(C) raspberrypi_hwmon bcm2835_codec(C) i2c_mux bcm2835_mmal_vchiq(C) v4l2_mem2mem snd_timer videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 snd videobuf2_common rpivid_mem vc_sm_cma(C) videodev mc i2c_bcm2835 uio_pdrv_genirq nvmem_rmem uio aes_neon_bs aes_neon_blk crypto_simd cryptd drm fuse drm_panel_orientation_quirks backlight ip_tables x_tables ipv6
[ 76.413078] CPU: 3 PID: 1186 Comm: libcamera-vid Tainted: G C 5.10.87-v8+ #3
[ 76.413081] Hardware name: Raspberry Pi Compute Module 4 Rev 1.0 (DT)
[ 76.413086] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 76.413095] pc : __media_pipeline_stop+0xb0/0xc4 [mc]
[ 76.413103] lr : media_pipeline_stop+0x38/0x50 [mc]
[ 76.413106] sp : ffffffc012093af0
[ 76.413109] x29: ffffffc012093af0 x28: ffffff8106a54600
[ 76.413115] x27: 0000000040045613 x26: ffffffc008e4f670
[ 76.413121] x25: 0000000000000000 x24: ffffffc012093d38
[ 76.413127] x23: ffffff8101e867d0 x22: ffffff81009d9e00
[ 76.413133] x21: ffffff8101e86548 x20: 0000000000000000
[ 76.413139] x19: ffffff8101e86200 x18: 0000000000000000
[ 76.413144] x17: 0000000000000000 x16: 0000000000000000
[ 76.413150] x15: 0000007fac004b38 x14: 0000000000000000
[ 76.413156] x13: 000000000000031e x12: 0000000000000000
[ 76.413162] x11: 000000000000031e x10: 00000000000019e0
[ 76.413167] x9 : ffffffc008cc2cdc x8 : ffffff8100a1b880
[ 76.413173] x7 : 0000000000000001 x6 : ffffffc0112b9000
[ 76.413179] x5 : ffffffc0112b9210 x4 : 0000000000000000
[ 76.413185] x3 : ffffff8101e86200 x2 : ffffff8100a19e40
[ 76.413190] x1 : 0000000000000000 x0 : ffffff8101e867f0
[ 76.413196] Call trace:
[ 76.413205] __media_pipeline_stop+0xb0/0xc4 [mc]
[ 76.413212] media_pipeline_stop+0x38/0x50 [mc]
[ 76.413219] unicam_stop_streaming+0x7c/0x160 [bcm2835_unicam]
[ 76.413228] __vb2_queue_cancel+0x50/0x354 [videobuf2_common]
[ 76.413234] vb2_core_streamoff+0x30/0xd0 [videobuf2_common]
[ 76.413241] vb2_ioctl_streamoff+0x68/0xb4 [videobuf2_v4l2]
[ 76.413273] v4l_streamoff+0x30/0x40 [videodev]
[ 76.413290] __video_do_ioctl+0x190/0x3f0 [videodev]
[ 76.413307] video_usercopy+0x1b0/0x580 [videodev]
[ 76.413324] video_ioctl2+0x24/0x50 [videodev]
[ 76.413340] v4l2_ioctl+0x4c/0x70 [videodev]
[ 76.413350] __arm64_sys_ioctl+0xb4/0x100
[ 76.413355] el0_svc_common.constprop.0+0x84/0x200
[ 76.413359] do_el0_svc+0x30/0xa0
[ 76.413365] el0_svc+0x20/0x30
[ 76.413368] el0_sync_handler+0x1a4/0x1b0
[ 76.413372] el0_sync+0x180/0x1c0
[ 76.413375] ---[ end trace 960cb45ba4febbbc ]---
On Buster (version released 12/02/21) I see different errors but the camera doesn’t work at all (it hangs when capturing via raspistill
). Note that I have no issues with the Arducam Mini IMX477 on either Buster or Bullseye, but I am working to enable a 4 lane CSI driver for the IMX477, and was told by Arducam that the Mini IMX477 only supports 2 lanes (even though the connector/traces look very similar between the Mini and B0249). Is it true the Mini IMX477 only supports 2 lanes?
Any help diagnosing / fixing the issue with the B0249 would be appreciated as it’s listed as supporting the CM4.
Thanks,
Dustin