Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc
    1. Home
    2. nkos
    N
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 14
    • Best 0
    • Groups 0

    nkos

    @nkos

    0
    Reputation
    2
    Profile views
    14
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Email nikita@kostovsky.me

    nkos Follow

    Latest posts made by nkos

    • RE: radxa zero 3e, debian, linux 5.10, imx287: Inappropriate ioctl for device

      @veye_xumm, thanks a lot, yavta example helped, I can receive images now, topic is resolved

      There are diffirences between rpi and radxa: buffer format, image packing and setting params (I can use approach from i2cwrite.c)

      Both my code and yavta are not able to do some things I can do on rpi (e.g. VIDIOC_S_INPUT), but it seems I can use camera without them

      posted in Rockchip App camera
      N
      nkos
    • radxa zero 3e, debian, linux 5.10, imx287: Inappropriate ioctl for device

      Hi, I'm trying to use imx287 on radxa zero 3e using the same C code I successfully used for rpi zero 2w:

      ...
      int fd = open("/dev/video0", O_RDWR);
      ...
      int camIdx = 0;
      int input = camIdx;
      int ret = ioctl(m_cam_fd, VIDIOC_S_INPUT, &input);
      // ret < 0: strerror(errno) == "Inappropriate ioctl for device"
      

      Could you please tell if I'm missing something?
      Do I need to select different device or VIDIOC_S_INPUT argument?

      After selecting the camera, I was going to use the same approach which worked for rpi zero 2w: VIDIOC_TRY_FMT/VIDIOC_S_FMT/VIDIOC_REQBUFS/VIDIOC_QUERYBUF/VIDIOC_QBUF/VIDIOC_DQBUF, is it possible? Does driver support this?

      I'm able to set cam params using mv_mipi_i2c_new.sh and it works (I set different metime values - and I see that laser (connected to cam output) brightness is changing)

      v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=/dev/null
      
      ./i2c_tools$ sudo ./mv_mipi_i2c_new.sh -b 2 -w metime 18
      ./i2c_tools$ sudo ./mv_mipi_i2c_new.sh -b 2 -w metime 180
      
      $ media-ctl -p -d /dev/media0
      Media controller API version 5.10.160
      
      Media device information
      ------------------------
      driver          rkcif
      model           rkcif_mipi_lvds
      serial          
      bus info        
      hw revision     0x0
      driver version  5.10.160
      
      Device topology
      - entity 1: stream_cif_mipi_id0 (1 pad, 4 links)
                  type Node subtype V4L flags 0
                  device node name /dev/video0
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 [ENABLED]
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 5: stream_cif_mipi_id1 (1 pad, 4 links)
                  type Node subtype V4L flags 0
                  device node name /dev/video1
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 [ENABLED]
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 9: stream_cif_mipi_id2 (1 pad, 4 links)
                  type Node subtype V4L flags 0
                  device node name /dev/video2
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 [ENABLED]
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 13: stream_cif_mipi_id3 (1 pad, 4 links)
                   type Node subtype V4L flags 0
                   device node name /dev/video3
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 [ENABLED]
      
      - entity 17: rkcif_tools_id0 (1 pad, 4 links)
                   type Node subtype V4L flags 0
                   device node name /dev/video4
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 21: rkcif_tools_id1 (1 pad, 4 links)
                   type Node subtype V4L flags 0
                   device node name /dev/video5
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 25: rkcif_tools_id2 (1 pad, 4 links)
                   type Node subtype V4L flags 0
                   device node name /dev/video6
      	pad0: Sink
      		<- "rockchip-mipi-csi2":1 []
      		<- "rockchip-mipi-csi2":2 []
      		<- "rockchip-mipi-csi2":3 []
      		<- "rockchip-mipi-csi2":4 []
      
      - entity 29: rkcif-mipi-luma (0 pad, 0 link)
                   type Node subtype V4L flags 0
                   device node name /dev/video7
      
      - entity 32: rockchip-mipi-csi2 (5 pads, 29 links)
                   type V4L2 subdev subtype Unknown flags 0
                   device node name /dev/v4l-subdev0
      	pad0: Sink
      		[fmt:Y8_1X8/704x544 field:none
      		 crop.bounds:(0,0)/704x544
      		 crop:(0,0)/704x544]
      		<- "rockchip-csi2-dphy0":1 [ENABLED]
      	pad1: Source
      		-> "stream_cif_mipi_id0":0 [ENABLED]
      		-> "stream_cif_mipi_id1":0 []
      		-> "stream_cif_mipi_id2":0 []
      		-> "stream_cif_mipi_id3":0 []
      		-> "rkcif_tools_id0":0 []
      		-> "rkcif_tools_id1":0 []
      		-> "rkcif_tools_id2":0 []
      	pad2: Source
      		-> "stream_cif_mipi_id0":0 []
      		-> "stream_cif_mipi_id1":0 [ENABLED]
      		-> "stream_cif_mipi_id2":0 []
      		-> "stream_cif_mipi_id3":0 []
      		-> "rkcif_tools_id0":0 []
      		-> "rkcif_tools_id1":0 []
      		-> "rkcif_tools_id2":0 []
      	pad3: Source
      		-> "stream_cif_mipi_id0":0 []
      		-> "stream_cif_mipi_id1":0 []
      		-> "stream_cif_mipi_id2":0 [ENABLED]
      		-> "stream_cif_mipi_id3":0 []
      		-> "rkcif_tools_id0":0 []
      		-> "rkcif_tools_id1":0 []
      		-> "rkcif_tools_id2":0 []
      	pad4: Source
      		-> "stream_cif_mipi_id0":0 []
      		-> "stream_cif_mipi_id1":0 []
      		-> "stream_cif_mipi_id2":0 []
      		-> "stream_cif_mipi_id3":0 [ENABLED]
      		-> "rkcif_tools_id0":0 []
      		-> "rkcif_tools_id1":0 []
      		-> "rkcif_tools_id2":0 []
      
      - entity 38: rockchip-csi2-dphy0 (2 pads, 2 links)
                   type V4L2 subdev subtype Unknown flags 0
                   device node name /dev/v4l-subdev1
      	pad0: Sink
      		[fmt:Y8_1X8/704x544@100/52300 field:none]
      		<- "m00_b_mvcam 2-003b":0 [ENABLED]
      	pad1: Source
      		-> "rockchip-mipi-csi2":0 [ENABLED]
      
      - entity 43: m00_b_mvcam 2-003b (1 pad, 1 link)
                   type V4L2 subdev subtype Sensor flags 0
                   device node name /dev/v4l-subdev2
      	pad0: Source
      		[fmt:Y8_1X8/704x544@100/52300 field:none]
      		-> "rockchip-csi2-dphy0":0 [ENABLED]
      
      
      posted in Rockchip App camera
      N
      nkos
    • RE: radxa zero 3e, yocto linux 6.13, imx287

      @veye_xumm

      I wonder if there are other options to build newer kernels for radxa zero 3e. Building yocto to adopt the driver to a particular kernel version looks like an overkill and I cannot ask you to do that

      Just in case you're interested, I've prepared a small guide showing how to build yocto for radxa zero 3e:

      https://kostovsky.me/blog/yocto_qt_on_radxa_zero_3e/

      I'll try stock radxa distro

      posted in Rockchip App camera
      N
      nkos
    • RE: radxa zero 3e, yocto linux 6.13, imx287

      @veye_xumm could you please tell if there are any updates?

      posted in Rockchip App camera
      N
      nkos
    • RE: how to setup mv-mipi-imx287m on rpi zero 2w?

      @veye_xumm sorry for necro-posting, but this method stopped working. on fresh system I have Failed to set I2C address after running make.sh under mv_tools_rpi/sources on rpi5. do you know if something has changed there?

      posted in VEYE MIPI camera
      N
      nkos
    • RE: radxa zero 3e, yocto linux 6.13, imx287

      @veye_xumm that would be great, thank you very much in advance

      posted in Rockchip App camera
      N
      nkos
    • RE: radxa zero 3e, yocto linux 6.13, imx287

      @veye_xumm yeah, I know that and I mentioned it in my question

      And, as I mentioned, I cannot use it, so the question is not about the list of currently supported kernel versions, but how to use your camera on yocto, especially: how to adopt dtsi for 6.13 or how to use 5.10/6.1 kernels with yocto and radxa zero 3e

      posted in Rockchip App camera
      N
      nkos
    • radxa zero 3e, yocto linux 6.13, imx287

      Hi,

      I'm trying to follow this instruction to compile veye imx287m for yocto linux 6.13, but it seems it's not fully compatible with this kernel version

      https://github.com/veyeimaging/rk35xx_radxa/tree/main/linux/drivers

      |   SYNC    include/config/auto.conf
      |   GEN     Makefile
      |   DTC     arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dtb
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:7.1-12 Label or path csi2_dphy0 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:37.1-12 Label or path csi2_dphy1 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:41.1-12 Label or path csi2_dphy2 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:45.1-14 Label or path csi2_dphy_hw not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:85.1-11 Label or path mipi_csi2 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:116.1-7 Label or path rkcif not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:120.1-17 Label or path rkcif_mipi_lvds not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:129.1-23 Label or path rkcif_mipi_lvds_sditf not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:133.1-11 Label or path rkcif_mmu not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:136.1-7 Label or path rkisp not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:140.1-12 Label or path rkisp_vir0 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero3-veyemvcam.dtsi:144.1-12 Label or path rkisp_vir1 not found
      | Error: /home/user/radxa/zero3e/yocto/build/workspace/sources/linux-torvalds-next/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts:19.1-12 Label or path rgmii_phy1 not found
      | FATAL ERROR: Syntax error parsing input tree
      

      and I cannot find things like mipi_csi2 in these files:

      rk3566-radxa-zero-3.dtsi.txt

      rk3566-base.dtsi.txt

      rk356x-base.dtsi.txt

      commit in yocto layer meta-rockchip says that radxa 3e requires the latest kernel:

      https://github.com/radxa/meta-rockchip

      git show e0b13fe8
      ...
          NOTE: currently support for this board requires a U-Boot fork for the
          bootloader, and linux-next for the kernel. Support will probably come in linux
          kernel 6.11-ish, at which point U-Boot will then use that kernel's device tree
          which means U-Boot support will come after the release of whichever kernel
          includes support for this board.
      

      this email also says that kernel versions below 6.9 do not support radxa zero 3 devices, so I'm wondering how it is possible to use 5.10 which is mentioned in your instructions

      https://lists.yoctoproject.org/g/yocto-patches/topic/kernel_and_u_boot_version/111621524

      could please anyone tell if there is an easy way to adopt dtsi for 6.13 kernel version?

      thanks

      posted in Rockchip App camera
      N
      nkos
    • RE: how to setup mv-mipi-imx287m on rpi zero 2w?

      @veye_xumm now it works, thanks

      posted in VEYE MIPI camera
      N
      nkos
    • RE: how to setup mv-mipi-imx287m on rpi zero 2w?

      @veye_xumm could you please also tell how to use mv_mipi_i2c_new.sh with rpi5?

      I'm getting an error:

      user@rpi5:~/raspberrypi_v4l2/mv_tools_rpi $ ./mv_mipi_i2c_new.sh -r trgsrc
      ./mv_mipi_i2c_new.sh: line 788: Failed to set I2C address: syntax error in expression (error token is "to set I2C address")
      
      // read_version
      user@rpi5:~/raspberrypi_v4l2/mv_tools_rpi $ ./i2c_4read 10 0x3b 0x0010
      Failed to set I2C address
      

      I've tried to build i2c_cmd

      user@rpi5:~/raspberrypi_v4l2/i2c_cmd $ ./i2c_read 10 0x3b 0x0010 
      Using i2C device /dev/i2c-10
      ====I2C read:<0x3b> <0x10> <0x1>====
      Failed to set I2C address
      
      posted in VEYE MIPI camera
      N
      nkos