Toybrick

v3.0固件无法连接imx258摄像头

segust

注册会员

积分
87
发表于 2021-3-4 17:17:34    查看: 1312|回复: 10 | [复制链接]    打印 | 显示全部楼层
从这篇帖子过来的,http://t.rock-chips.com/forum.ph ... light=3A&page=2,烧录v3.0固件,替换toybrick-imx258.dtb,imx258摄像头插在mipi rx0接口,重启,/dev下面有10个video节点,用vlc播放都不能播放成功,什么原因呢?


回复

使用道具 举报

troy

版主

积分
1728
发表于 2021-3-4 18:04:19 | 显示全部楼层
1.存在节点不一定代表mipi摄像头识别成功,有可能没插好没识别到摄像头,可以使用dmesg  | grep imx258查看日志信息,258的驱动是否正确加载。
2.播放的节点应该是rx0对应video0,rx1对应video5节点。
3.如果上面都成功,只是VLC播放不成功,可以执行以下操作进行抓图,会抓取3张NV12格式的图像保存到/tmp/NV12_640_480.out中,如果没提示保存,且文件大小不为0,imx258就是正常工作的。
  1. sudo apt-get v4l-utils
  2. sudo v4l2-ctl -d /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=NV12 --stream-mmap=3 --stream-to=/tmp/NV12_640_480.out --stream-count=3 --stream-skip=10 --stream-poll
复制代码
回复

使用道具 举报

segust

注册会员

积分
87
 楼主| 发表于 2021-3-4 18:33:00 | 显示全部楼层
本帖最后由 segust 于 2021-3-4 18:46 编辑
troy 发表于 2021-3-4 18:04
1.存在节点不一定代表mipi摄像头识别成功,有可能没插好没识别到摄像头,可以使用dmesg  | grep imx258查看 ...

这个摄像头之前用v1.8固件刷了设备树后是可以播放比较暗的画面的,但是刷了v3.0的固件后试了一下你给我的代码,NV12_640_480.out大小为0, 不像是摄像头问题呀
回复

使用道具 举报

troy

版主

积分
1728
发表于 2021-3-4 19:48:48 | 显示全部楼层
segust 发表于 2021-3-4 18:33
这个摄像头之前用v1.8固件刷了设备树后是可以播放比较暗的画面的,但是刷了v3.0的固件后试了一下你给我的代 ...

dmesg有看到imx258的probe信息吗。Probe信息和v4l2信息贴上来看一下
回复

使用道具 举报

segust

注册会员

积分
87
 楼主| 发表于 2021-3-5 09:40:53 | 显示全部楼层
本帖最后由 segust 于 2021-3-5 10:03 编辑

是这样吗? 之前用v1.8固件的时候imx258@1a节点可以显示比较暗的画面,是不是dtb没编对?





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

troy

版主

积分
1728
发表于 2021-3-5 10:15:49 | 显示全部楼层
本帖最后由 troy 于 2021-3-5 10:17 编辑
segust 发表于 2021-3-5 09:40
是这样吗? 之前用v1.8固件的时候imx258@1a节点可以显示比较暗的画面,是不是dtb没编对?

日志好像看不出来,执行下sudo media-ctl -p,看一下有没有imx258的entity信息。你的imx258驱动已经开始probe了,所以dtb应该是对的,很可能是camera有问题,或者没插好。
  1. - entity 8: m00_b_imx258 1-0010 (1 pad, 1 link)
  2.             type V4L2 subdev subtype Sensor flags 0
  3.             device node name /dev/v4l-subdev2
  4.         pad0: Source
  5.                 [fmt:SRGGB10_1X10/4208x3120@10000/200000 field:none]
  6.                 -> "rockchip-mipi-dphy-rx":0 [ENABLED]
复制代码
回复

使用道具 举报

segust

注册会员

积分
87
 楼主| 发表于 2021-3-5 10:20:31 | 显示全部楼层
本帖最后由 segust 于 2021-3-5 10:21 编辑

没有看到imx258字样呢? 我试下换个摄像头

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

segust

注册会员

积分
87
 楼主| 发表于 2021-3-5 10:41:57 | 显示全部楼层
本帖最后由 segust 于 2021-3-5 10:45 编辑

额,解决了,我用的是kernel里的rk3399pro-toybrick-rkisp1-imx258.dtsi设备树文件,把节点都换成了imx258@1a,编译之后用生成的toybrick.dtb替换了你之前发的那个dtb,摄像头可以读到彩色图了
回复

使用道具 举报

qfxx_toybrick

注册会员

积分
127
发表于 2021-3-5 11:15:44 | 显示全部楼层
@segust  我通过dmesg |grep imx258 和 v4l2-ctl --all打印的信息和你的是一样的。请问你的kernel文件在哪里的,怎么生成的新的dtb,是重新编译内核了吗?
回复

使用道具 举报

segust

注册会员

积分
87
 楼主| 发表于 2021-3-5 11:37:25 | 显示全部楼层
kernel在这https://github.com/rockchip-toybrick/kernel, arch/arm64/boot/dts/rockchip下有rk3399pro-toybrick-rkisp1-imx258.dtsi, 主要改的是这个, 然后改下rk3399pro-toybrick-prod-linux.dts #include的地方, 然后./make.sh linux prod, 之后在boot_linux/extlinux/下面会生成toybrick.dtb, 替换掉板子上的就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表