1 1
fehlfarbe

Nanopi Neo Air and CAM500B

Recommended Posts

Armbianmonitor:

Hi,

 

I'm want to use my old Nanopi Neo Air with CAM500B as wifi webcam. I flashed the latest armbian bionic image, installed v4l-utils and tried to list the cameras properties with `v4l2-compliance` and `v4l2-ctl --all` but the tools always crash and I can't kill them. `dmesg` shows a NULL pointer exception:

 

[   56.994526] 8<--- cut here ---
[   56.997657] Unable to handle kernel NULL pointer dereference at virtual address 00000068
[   57.005825] pgd = c774af94
[   57.008606] [00000068] *pgd=00000000
[   57.012243] Internal error: Oops: 5 [#1] SMP THUMB2
[   57.017122] Modules linked in: brcmfmac brcmutil sun8i_codec_analog sun8i_adda_pr_regmap sun4i_i2s snd_soc_simple_card snd_soc_simple_card_utils snd_soc_core lima snd_pcm_dmaengine gpu_sched sun4i_gpadc_iio snd_pcm cfg80211 snd_timer industrialio snd soundcore rfkill sun8i_thermal zram sunxi_cedrus(C) v4l2_mem2mem uio_pdrv_genirq uio cpufreq_dt sch_fq_codel usb_f_acm u_serial g_serial libcomposite ip_tables x_tables pwrseq_simple
[   57.055242] CPU: 1 PID: 2012 Comm: v4l2-compliance Tainted: G         C        5.4.35-sunxi #trunk
[   57.064192] Hardware name: Allwinner sun8i Family
[   57.068916] PC is at v4l2_g_parm_cap+0x3c/0xb4
[   57.073363] LR is at v4l2_g_parm_cap+0x27/0xb4
[   57.077808] pc : [<c0796c04>]    lr : [<c0796bef>]    psr: 00030033
[   57.084072] sp : d43d1d50  ip : d43d1d84  fp : d4e74840
[   57.089296] r10: c0ab69f0  r9 : c0aaf59c  r8 : d4f9d100
[   57.094521] r7 : d70fd328  r6 : 00000000  r5 : d4ef6000  r4 : c0f04f48
[   57.101100] r3 : 00000080  r2 : fffffff0  r1 : 00000000  r0 : d43d1d54
[   57.107618] Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment none
[   57.114913] Control: 50c5387d  Table: 54dbc06a  DAC: 00000051
[   57.120652] Process v4l2-compliance (pid: 2012, stack limit = 0x7ede4d8a)
[   57.127429] Stack: (0xd43d1d50 to 0xd43d2000)
[   57.131780] 1d40:                                     00000002 00000000 00000000 00000000
[   57.139945] 1d60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   57.148110] 1d80: 00000000 6a7c03d8 c104e334 c0f04f48 d4ef6000 d4e74840 c0ab69f0 c078a355
[   57.156274] 1da0: c07b2311 d43d1e54 00000000 6a7c03d8 c0cc5604 d70fd328 c0cc5615 c078a31d
[   57.164440] 1dc0: c0f04f48 d70fd694 c0aaf59c c078af73 d73c0000 00000000 d4f9d100 00000000
[   57.172605] 1de0: 00000000 d4ef6000 00000000 c0aaf59c c0f04f48 c023f9c5 00080040 c0ec5700
[   57.180769] 1e00: 1f0be000 6a7c03d8 d7007c18 c0cc5615 c0f04f48 00000004 00000000 00000003
[   57.188934] 1e20: 000000cc d4ef6000 d4ef6000 c078b41f c0f05400 bef96b8c d4e74840 c078adf5
[   57.197098] 1e40: 00000000 00000000 00000000 00000000 c9bd4200 00000001 00000000 00000000
[   57.205262] 1e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   57.213426] 1e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   57.221581] 1ea0: 00000000 d69bed78 00000001 00000000 00000001 d43d1ed0 00000004 c0f04f48
[   57.229746] 1ec0: 60030013 c0150cc7 00000004 d43d1ed0 00000000 6a7c03d8 00000000 6a7c03d8
[   57.237910] 1ee0: 00000000 c0f04f48 d4e74840 bef96b8c 00000003 bef96b8c d73d0ce8 c0262f41
[   57.246075] 1f00: d4e2a240 00000002 d08fc7f8 d4e2a248 00000000 c0f04f48 00000000 00000000
[   57.254239] 1f20: 00000000 00000000 00000000 6a7c03d8 5ac3c35a 00000002 d4e2a240 d08fc7f8
[   57.262405] 1f40: d4e2a248 00000001 02364058 00000001 bef9705c c0253b5b 00000000 6a7c03d8
[   57.270569] 1f60: c0f04f48 d4e74840 00000000 d4e74840 c0cc5615 bef96b8c 00000003 00000036
[   57.278735] 1f80: bef9705c c02635d5 7123fc00 b6f34968 00000001 bef97060 00000036 c0101224
[   57.286900] 1fa0: d43d0000 c0101001 b6f34968 00000001 00000003 c0cc5615 bef96b8c 7123fc00
[   57.295064] 1fc0: b6f34968 00000001 bef97060 00000036 bef9a47c bef96a84 004c3e78 bef9705c
[   57.303229] 1fe0: 004c3f00 bef969b4 004845e7 b6d150a8 60030030 00000003 00000000 00000000
[   57.311407] [<c0796c04>] (v4l2_g_parm_cap) from [<c078a355>] (v4l_g_parm+0x39/0x90)
[   57.319055] [<c078a355>] (v4l_g_parm) from [<c078af73>] (__video_do_ioctl+0x17f/0x314)
[   57.326963] [<c078af73>] (__video_do_ioctl) from [<c078b41f>] (video_usercopy+0x1ff/0x4bc)
[   57.335219] [<c078b41f>] (video_usercopy) from [<c0262f41>] (do_vfs_ioctl+0x8d/0x6e0)
[   57.343042] [<c0262f41>] (do_vfs_ioctl) from [<c02635d5>] (ksys_ioctl+0x41/0x58)
[   57.350431] [<c02635d5>] (ksys_ioctl) from [<c0101001>] (ret_fast_syscall+0x1/0x62)
[   57.358072] Exception stack(0xd43d1fa8 to 0xd43d1ff0)
[   57.363116] 1fa0:                   b6f34968 00000001 00000003 c0cc5615 bef96b8c 7123fc00
[   57.371281] 1fc0: b6f34968 00000001 bef97060 00000036 bef9a47c bef96a84 004c3e78 bef9705c
[   57.379443] 1fe0: 004c3f00 bef969b4 004845e7 b6d150a8
[   57.384491] Code: 01db bf44 2302 61ab (6eb3) 68db 
[   57.389321] ---[ end trace b0284d13f94bede6 ]---

 

Is the camera broken or is this a driver problem?

Share this post


Link to post
Share on other sites

I think the camera driver was not loaded. Maybe v4l2_g_parm_cap crashed while trying to  get /dev/video1 capabilities (cedrus).

Try to disable cedrus and review OV5640 parms to be able to load the driver.

Share this post


Link to post
Share on other sites

Thanks. I unloaded cedrus but the problem is still present. Indeed, the OV5640 driver isn't loaded. I expected the camera will work plug&play because the /dev/video0 device is present. But the device is also there without a connected camera. Looks like the driver isn't part of the current kernel (5.4.35-sunxi) because modprobe lists only "ov2680   ov2685   ov5645   ov5647   ov5675   ov5695   ov7251   ov772x   ov7740   ov8856   ov9640"?

Share this post


Link to post
Share on other sites

Maybe you should update your kernel to 5.4.43 and/or run armbian-config:

https://github.com/armbian/build/blob/master/config/kernel/linux-sunxi-current.config#L4362

 

I can't see any node /dev/video0 created from your dmesg info. Perhaps you have loaded a driver manually that created the node?

Camera is not Plug&Play , the node /dev/videoX should be created only if a device is probed with success.

 

reboot and check : ls /dev/video*

 

Share this post


Link to post
Share on other sites

I updated to kernel 5.4.43 but the module was still not available. A fresh install of the latest bionic image with kernel 5.4.43 is working. Camera driver loads at startup and I can take videos (at least at 640x480) with GStreamer :) Many thanks!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1