Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc

    SOLVED Install camera to rpi4

    Raspberry Pi App Software
    3
    14
    1782
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      Viktor last edited by Viktor

      Hi Meng,

      I am trying to test veye imx327 with rpi4.

      What OS version does it support? Ubuntu Desktop/Server 64bit is ok or i should install rpi os 32bit?

      And then if Ubuntu supports, how to install drivers?
      Can you explain main steps? It is building from source?

      That manual only for Rpi OS? http://wiki.veye.cc/index.php/VEYE-MIPI-290/327_for_Raspberry_Pi

      Best regards, Viktor.

      veye_xumm 1 Reply Last reply Reply Quote 0
      • veye_xumm
        veye_xumm @Viktor last edited by

        @viktor
        Hi Viktor,
        We use Pi OS32 bit for now. We support two application scenarios:

        1. veye_raspcam toolkit:
          Do not need any driver. It's raspcam like toolkit.

        2. v4l2 driver:
          v4l2 driver is provided. We test it on piOS 32bit.

        Here is the application index.
        http://wiki.veye.cc/index.php/Raspberry_Pi_Application_Note_Index

        If you want to use this camera on ubuntu OS or piOS 64bit, please try to build from sources, I will help you if necessary.

        V 2 Replies Last reply Reply Quote 0
        • V
          Viktor @veye_xumm last edited by Viktor

          I have tried:

          crosscompile kinux image veye327 driver for Ubuntu Desktop 21.04 Rpi4

          on rpi4

          uname -r
          
          5.11.0-1008-raspi
          
          uname -a
          
          Linux number 5.11.0-1008-raspi #8-Ubuntu SMP PREEMPT Thu May 6 17:46:38 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
          

          on host

          sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev crossbuild-essential-arm64
          
          mkdir rpi_ubuntu_source
          cd rpi_ubuntu_source
          
          git clone --depth=1 git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-raspi/+git/hirsute
          
          git clone https://github.com/veyeimaging/raspberrypi_v4l2.git
          
          
          cp raspberrypi_v4l2/driver_source/cam_drv_src/rpi-5.x_all/veye327.c hirsute/drivers/media/i2c
          

          edit hirsute/drivers/media/i2c/Kconfig

          find section imx219 and after it add:

          config VIDEO_VEYE327
          	tristate "VEYE VEYE327 sensor support"
          	depends on I2C && VIDEO_V4L2
          	select MEDIA_CONTROLLER
          	select VIDEO_V4L2_SUBDEV_API
          	select V4L2_FWNODE
          	help
          	  This is a Video4Linux2 sensor driver for the VEYE
          	  IMX327 camera.
          
          	  To compile this driver as a module, choose M here: the
          	  module will be called veye327.
          

          edit hirsute/drivers/media/i2c/Makefile

          find line imx219 and after it add:

          obj-$(CONFIG_VIDEO_VEYE327)	+= veye327.o
          
          
          cp raspberrypi_v4l2/driver_source/dts/rpi-5.10.y/veye327-overlay.dts hirsute/arch/arm64/boot/dts/overlays
          

          edit hirsute/arch/arm64/boot/dts/overlays/Makefile

          find line imx219 and after it add:

          veye327.dtbo \
          

          build

          cd hirsute
          
          KERNEL=kernel8
          make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
          
          make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
          

          got to Device Drivers --> Multimedia Support --> Media ancillary drivers --> Camera sensor devices

          select veye327 and save

          make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs -j4
          

          copy image and dtb

          on rpi4 replace vmlinuz-* with compiled hirsute/arch/arm64/boot/Image

          on rpi4 copy to /boot/firmware/overlays dtb file hirsute/arch/arm64/boot/dst/overlays/veye327.dtbo


          Before was imx219 connected and it works on Ubuntu Desktop 21.04 rpi4 as /dev/video0

          Was replaced imx219 to veye327E.

          After reboot rpi4 loaded but /dev/video0 gone.

          Can you help me to understand what files i need to copy?
          May be config, system.map, initrd or other dtb files?

          1 Reply Last reply Reply Quote 0
          • V
            Viktor @veye_xumm last edited by

            This post is deleted!
            V 1 Reply Last reply Reply Quote 0
            • V
              Viktor @Viktor last edited by

              Here is rpi boot contents:

              number@number:/boot$ ls
              config-5.11.0-1008-raspi  dtb-5.11.0-1008-raspi  grub                          
              System.map-5.11.0-1008-raspi
              config.txt                
              dtbs                  
              initrd.img                    
              vmlinuz-5.11.0-1008-raspi
              dtb                       
              firmware               
              initrd.img-5.11.0-1008-raspi
              
              V 1 Reply Last reply Reply Quote 0
              • V
                Viktor @Viktor last edited by Viktor

                I tried installing veye327 to rpiOs.

                I have 5.10.36 firmware. veye drivers don't have this version.

                I tried build from source, but failed.
                Copied built zImage and veye327.dtbo to rpi and got load kernel modules failed on startup.

                Updated: i did modules_install and veye327 works on rpiOs now.

                Can you help build kernel for Ubuntu Desktop Rpi?

                V 1 Reply Last reply Reply Quote 0
                • V
                  Viktor @Viktor last edited by Viktor

                  I did it.

                  crosscompile kinux image veye327 driver for Ubuntu Desktop 21.04 Rpi4

                  on rpi4

                  uname -r
                  5.11.0-1008-raspi
                  
                  uname -a
                  Linux number 5.11.0-1008-raspi #8-Ubuntu SMP PREEMPT Thu May 6 17:46:38 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
                  

                  on host

                  sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev crossbuild-essential-arm64
                  
                  mkdir rpi_ubuntu_source
                  cd rpi_ubuntu_source
                  
                  git clone --depth=1 git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-raspi/+git/hirsute linux
                  
                  git clone https://github.com/veyeimaging/raspberrypi_v4l2.git
                  
                  
                  cp raspberrypi_v4l2/driver_source/cam_drv_src/rpi-5.x_all/veye327.c linux/drivers/media/i2c
                  

                  edit linux/drivers/media/i2c/Kconfig

                  find section imx219 and after it add:

                  config VIDEO_VEYE327
                  	tristate "VEYE VEYE327 sensor support"
                  	depends on I2C && VIDEO_V4L2
                  	select MEDIA_CONTROLLER
                  	select VIDEO_V4L2_SUBDEV_API
                  	select V4L2_FWNODE
                  	help
                  	  This is a Video4Linux2 sensor driver for the VEYE
                  	  IMX327 camera.
                  
                  	  To compile this driver as a module, choose M here: the
                  	  module will be called veye327.
                  

                  edit linux/drivers/media/i2c/Makefile

                  find line imx219 and after it add:

                  obj-$(CONFIG_VIDEO_VEYE327)	+= veye327.o
                  
                  
                  cp raspberrypi_v4l2/driver_source/dts/rpi-5.10.y/veye327-overlay.dts linux/arch/arm64/boot/dts/overlays
                  

                  edit linux/arch/arm64/boot/dts/overlays/Makefile

                  find line imx219 and after it add:

                  veye327.dtbo \
                  

                  build kernel

                  cd linux
                  
                  KERNEL=kernel8
                  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
                  
                  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
                  

                  go to Device Drivers --> Multimedia Support --> Media ancillary drivers --> Camera sensor devices

                  select veye327 and save

                  make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs -j4
                  

                  mount sd to host

                  mkdir mnt
                  mkdir mnt/fat32
                  mkdir mnt/ext4
                  sudo mount /dev/sdd1 mnt/fat32
                  sudo mount /dev/sdd2 mnt/ext4
                  

                  copy modules

                  sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=mnt/ext4 modules_install
                  

                  copy kernel and dtb

                  sudo cp mnt/fat32/vmlinuz mnt/fat32/vmlinuz.old
                  sudo cp arch/arm64/boot/Image mnt/fat32/vmlinuz
                  sudo cp arch/arm64/boot/dts/broadcom/*.dtb mnt/fat32/
                  sudo cp arch/arm64/boot/dts/overlays/*.dtb* mnt/fat32/overlays/
                  sudo cp arch/arm64/boot/dts/overlays/README mnt/fat32/overlays/
                  sudo umount mnt/fat32
                  sudo umount mnt/ext4
                  

                  on rpi4

                  edit /boot/firmware/config.txt

                  add lines

                  gpu_mem=400
                  dtparam=i2c_vc=on
                  cma=128M
                  dtoverlay=veye327.dtbo
                  start_x=1
                  
                  sudo reboot
                  
                  dmesg | grep veye
                  
                  veye327 probed
                  

                  preview

                  gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! videoconvert ! autovideosink sync=false text-overlay=false -v
                  

                  success

                  V F 2 Replies Last reply Reply Quote 0
                  • V
                    Viktor @Viktor last edited by

                    Add to /etc/modules

                    i2c-dev
                    

                    i2c bus 10,11 for sensor control

                    veye_xumm 1 Reply Last reply Reply Quote 0
                    • veye_xumm
                      veye_xumm @Viktor last edited by

                      @viktor
                      Great! Thank you for trying and sharing.

                      V 1 Reply Last reply Reply Quote 0
                      • V
                        Viktor @veye_xumm last edited by

                        😎

                        1 Reply Last reply Reply Quote 0
                        • F
                          fire @Viktor last edited by

                          @viktor
                          Thanks very much.
                          I wonder how did you set camera parameters, I found that the cs_mipi_i2c.sh not working.

                          V 1 Reply Last reply Reply Quote 0
                          • V
                            Viktor @fire last edited by

                            @fire Veye327 i2c fully works.

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              fire @Viktor last edited by

                              @viktor
                              Can you use the original pi commands (e.g. raspistill raspivid), instead of using gst-launch?

                              V 1 Reply Last reply Reply Quote 0
                              • V
                                Viktor @fire last edited by Viktor

                                @fire Yes, raspivid and raspistill works too on Ubuntu.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post