USB3.0 shield plus (B0317) UC-593 Rev C with IMX219 can't connect

1.Which seller did you purchase the product(s) from?

2.The Model number of the product(s) you have purchased?
USB3.0 shield plus (B0317) UC-593 Rev C
3.Which Platform are you using the product(s) on?
Linux
4.Which instruction are you following?
https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield
5.Has your product ever worked properly?
Yes, it works correctly with demo app
6.What problems are you experiencing?
C++ app based on https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield lib can’t connect to camera and returns error code 65281. In exactly same setup USB 3.0 shield works correctly.

Any suggestions what could cause this error?
7.What attempts at troubleshooting have you already made?
Checking linked library and running demo app
8.How would you like us to help you?
Any suggestions what could cause this error?

Hi there,

Did you use sudo to run the program?

Hi @wong

I run it without sudo because udev rules are updated to provide normal user access.

Hi edul

Can I see the corresponding device through lsusb?
Or you can unplug the device first, and run dmesg -w and then plug in the device to see if the device is recognized normally. If it can be recognized, you can try sudo again (just to confirm that there is no problem with the udev rules)

Hi wong,
Bus 002 Device 005: ID 04b4:03f2 Cypress Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 0cf3:e300 Atheros Communications, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub <code></code>

device is detected correctly and this is udev rule I use

ACTION=="add",SUBSYSTEM=="usb",ATTRS{idProduct}=="03f2",ATTRS{idVendor}=="04b4",MODE="666",GROUP="video" <code></code>

Demo streaming application works correctly.
What is reason for 65281 error code to appear?

So running through the sudo command is all ok?

I tested your udev rules, and there seems to be no problem.The udev rules should be placed in the /etc/udev/rules.d/ directory. After adding the rules, you need to run sudo udevadm control --reload and replug the device.

Hi Wong,

Let me clear some things, please read carefully:

  1. Udev rules are ok and demo app from https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield works - in this case sudo is not required
  2. I created small wrapper lib based on you example and libraries you provided
  3. Standalone app using wrapper lib works well - same as demo
  4. When wrapper lib is used with http://wiki.ros.org/pluginlib I got error 65281

I think we can agree that udev rules are no longer an issue. Do you have suggestions about other sources of error?

Hi @edul

If you are using your own wrapper, then you may need to pay attention to:
After calling the scan method, you need to delay two seconds before calling the open method. (a hardware bug)

 

Hi @Wong,

Is calling scan method required before opening camera? Is it important when I use ArduCam_autoopen?

Hi @edul

Is calling scan method required before opening camera?
This is not required
Is it important when I use ArduCam_autoopen?
ArduCam_autoopen should not have this problem, maybe you can try ArduCam_open.