[SRU][P:raspi/N:raspi][PATCH 0/2] Arducam ov9281 crashes on Raspberry Pi 4/5 (LP: #2116543)
Juerg Haefliger
juerg.haefliger at canonical.com
Wed Jul 30 14:35:42 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2116543
[ Impact ]
System:
No LSB modules are available.
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Linux drpi-1003 6.8.0-1024-raspi #28-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 17
12:20:20 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
Whenever starting to stream from the camera (Arducam B0411 / ov9281) there is a
chance that it will not start. In dmesg the following error is found:
[ 298.160543] ov9282 6-0060: fail to write MIPI_CTRL00
[ 298.165564] rp1-cfe 1f00110000.csi: stream on failed in subdev
[ 298.173563] ------------[ cut here ]------------
[ 298.173568] WARNING: CPU: 1 PID: 5155 at
drivers/media/v4l2-core/v4l2-subdev.c:412 call_s_stream+0xec/0x100 [videodev]
[ 298.173613] Modules linked in: xt_recent xt_conntrack nft_chain_nat
xt_MASQUERADE nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat
nf_tables qrtr binfmt_misc vc4 btsdio brcmfmac_wcc snd_soc_hdmi_codec hci_uart
btqca drm_display_helper brcmfmac btrtl btintel cec drm_dma_helper btbcm
brcmutil bluetooth snd_soc_core cfg80211 snd_compress rpivid_hevc(CE)
ecdh_generic ac97_bus rp1_cfe pisp_be snd_pcm_dmaengine rfkill snd_pcm
v4l2_mem2mem ov9282 imx708 ecc dw9807_vcm snd_timer videobuf2_dma_contig
v4l2_fwnode videobuf2_memops snd v3d videobuf2_v4l2 v4l2_async raspberrypi_hwmon
pwm_brcmstb videodev gpu_sched videobuf2_common drm_shmem_helper mc rp1_adc
pwm_fan pwm_pca9685 pwm_rp1 raspberrypi_gpiomem regmap_i2c sch_fq_codel
dm_multipath dm_mod fuse dax nfnetlink ip_tables x_tables autofs4 btrfs
blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor
async_tx xor xor_neon raid6_pq libcrc32c raid1 raid0 md_mod xhci_plat_hcd dwc3
ulpi spidev macb phylink i2c_designware_platform spi_dw_mmio
[ 298.173736] i2c_designware_core spi_dw crct10dif_ce polyval_ce
polyval_generic ghash_ce rtc_rpi gf128mul gpio_brcmstb gpio_generic 8250_bcm7271
i2c_brcmstb reset_brcmstb spi_bcm2835 dwc2 reset_brcmstb_rescal sdhci_brcmstb
roles sm4 cqhci sha2_ce udc_core sha256_arm64 uio_pdrv_genirq gpio_keys
nvmem_rmem sha1_ce phy_generic uio aes_arm64 aes_ce_blk aes_ce_cipher
[ 298.173781] CPU: 1 PID: 5155 Comm: camera_node Tainted: G C E
6.8.0-1024-raspi #28-Ubuntu
[ 298.173786] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT)
[ 298.173788] pstate: 20400009 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 298.173793] pc : call_s_stream+0xec/0x100 [videodev]
[ 298.173825] lr : cfe_stop_streaming+0xe0/0x2e8 [rp1_cfe]
[ 298.173836] sp : ffff800081a5baa0
[ 298.173838] x29: ffff800081a5baa0 x28: ffffa0006350be00 x27: ffff00001be7be80
[ 298.173845] x26: 0000000000000000 x25: ffff00001be78360 x24: 0000000000000000
[ 298.173850] x23: ffffa00063335f18 x22: 0000000000000000 x21: 0000000000000001
[ 298.173856] x20: ffff00001be78000 x19: 0000000000000008 x18: 0000000000000000
[ 298.173861] x17: 0000000000000000 x16: ffffa00084eb4798 x15: 0000ffff58017220
[ 298.173866] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 298.173871] x11: 0000000000000000 x10: 0000000000000000 x9 : ffffa000634f9f00
[ 298.173877] x8 : ffff800081a5b9c8 x7 : 0000000000000000 x6 : ffff00001be7c348
[ 298.173882] x5 : 0000000000000025 x4 : 0000000000000002 x3 : 0000000000000000
[ 298.173887] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00001c303888
[ 298.173893] Call trace:
[ 298.173895] call_s_stream+0xec/0x100 [videodev]
[ 298.173926] cfe_stop_streaming+0xe0/0x2e8 [rp1_cfe]
[ 298.173935] __vb2_queue_cancel+0x38/0x2e8 [videobuf2_common]
[ 298.173946] vb2_core_streamoff+0x2c/0xd0 [videobuf2_common]
[ 298.173955] vb2_ioctl_streamoff+0x54/0x458 [videobuf2_v4l2]
[ 298.173965] v4l_streamoff+0x2c/0x40 [videodev]
[ 298.173996] __video_do_ioctl+0x370/0x4d0 [videodev]
[ 298.174027] video_usercopy+0x20c/0x5c8 [videodev]
[ 298.174056] video_ioctl2+0x20/0x90 [videodev]
[ 298.174086] v4l2_ioctl+0x6c/0xb0 [videodev]
[ 298.174116] __arm64_sys_ioctl+0xb4/0x100
[ 298.174122] invoke_syscall+0x50/0x128
[ 298.174128] el0_svc_common.constprop.0+0x48/0xf0
[ 298.174131] do_el0_svc+0x24/0x38
[ 298.174134] el0_svc+0x48/0x178
[ 298.174140] el0t_64_sync_handler+0x120/0x130
[ 298.174144] el0t_64_sync+0x1a8/0x1b0
[ 298.174148] ---[ end trace 0000000000000000 ]---
This is a known issue - Arducam is providing a hotfix overlay. linux-raspi is
patched on branches rpi-6.6.y and rpi-6.12.y, but not rpi-6.8.y.
Copying over arch/arm/boot/dts/overlays/ov9281-overlay.dts and
arch/arm/boot/dts/overlays/ov9281.dtsi from rpi-6.6.y seems to resolve the
issue.
[ Test Plan ]
Verify camera (Arducam B0411 / ov9281) is working correctly.
[ Fix ]
Pull in missing patches from upstream raspberry pi rpi-6.6.y and rpi-6.14.y.
[ Where Problems Could Occur ]
Problems would only show up if that overlay is being used on Pi.
More information about the kernel-team
mailing list