Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ps4eye under indigo #20

Open
thieri opened this issue Jan 17, 2016 · 8 comments
Open

Ps4eye under indigo #20

thieri opened this issue Jan 17, 2016 · 8 comments

Comments

@thieri
Copy link

thieri commented Jan 17, 2016

I am haveing trouble running this code with indigo.
Is there something to look for?
Is gscam the reason?
Keep getting "No space left on device" or "Failed to PAUSE stream, check your gstreamer configuration." errors.

Ubuntu 14.4 LTS vivid kernel 3.19+

@hyaguchijsk
Copy link
Collaborator

Please check followings:

  • Is the firmware updated?
    To check this, run lsusb,
    05a9:058a is correct, 05a9:0580 is bad.
  • Is the device file correct?
    By the default, /dev/video1 is used.
    If camera is assigned to /dev/video0, please set device file via DEVICE arg.
roslaunch ps4eye stereo.launch DEVICE:=/dev/video0

@thieri
Copy link
Author

thieri commented Jan 18, 2016

Thanks for answering so fast,

sudo lsusb -v -d 05a9:058a gives the complete output,...

Bus 002 Device 015: ID 05a9:058a OmniVision Technologies, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 9
idVendor 0x05a9 OmniVision Technologies, Inc.
idProduct 0x058a
bcdDevice 1.00
iManufacturer 1 Omnivision Technologies, Inc.
iProduct 2 USB Camera-OV580
... and so on.

ls -la /dev/video0
crw-rw-rw-+ 1 root video 81, 0 Jan 18 17:14 /dev/video0

Device is correctly created, maybe permissions need "x"...

changed launchfile to /dev/video0
AND
ran it with
roslaunch ps4eye stereo.launch DEVICE:=/dev/video0 viewer:=true

result:

libv4l2: error turning on stream: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
[FATAL] [1453133920.285333892]: Failed to PAUSE stream, check your gstreamer configuration.
[FATAL] [1453133920.285989725]: Failed to initialize gscam stream!

error-message is german, for "No space left on device"

pyusb is 1.0.0b2
kernel is 3.19.0-46-generic
ps4eye is newest version

Any ideas?

@thieri
Copy link
Author

thieri commented Jan 18, 2016

tried
unloading and reloading uvcvideo with UVC_QUIRK_FIX_BANDWIDTH
errormessage changed to
libv4l2: error turning on stream: Eingabe-/Ausgabefehler
[FATAL] [1453135564.377304865]: Failed to PAUSE stream, check your gstreamer configuration.
[FATAL] [1453135564.377435643]: Failed to initialize gscam stream!
error-message is german, for "input/output error"

@thieri
Copy link
Author

thieri commented Jan 18, 2016

after some googeling around...
sudo rmmod uvcvideo
sudo modprobe uvcvideo trace=1024

started nodelet

tail /var/log/kern.log
gave following output:

Jan 18 19:45:55 Toady kernel: [ 3917.087135] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd
Jan 18 19:45:55 Toady kernel: [ 3917.108673] usb 2-2: New USB device found, idVendor=05a9, idProduct=058a
Jan 18 19:45:55 Toady kernel: [ 3917.108680] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 18 19:45:55 Toady kernel: [ 3917.108684] usb 2-2: Product: USB Camera-OV580
Jan 18 19:45:55 Toady kernel: [ 3917.108688] usb 2-2: Manufacturer: Omnivision Technologies, Inc.
Jan 18 19:45:55 Toady kernel: [ 3917.117798] uvcvideo: Found UVC 1.00 device USB Camera-OV580 (05a9:058a)
Jan 18 19:46:13 Toady kernel: [ 3934.423294] uvcvideo: Device requested 49152 B/frame bandwidth.
Jan 18 19:46:13 Toady kernel: [ 3934.423301] uvcvideo: Selecting alternate setting 1 (49152 B/frame bandwidth).
Jan 18 19:46:13 Toady kernel: [ 3934.423537] usb 2-2: Not enough bandwidth for new device state.
Jan 18 19:46:13 Toady kernel: [ 3934.423546] usb 2-2: Not enough bandwidth for altsetting 1

looks like it is demanding to much bandwidth

@thieri
Copy link
Author

thieri commented Jan 18, 2016

Sorry for all the trouble...

I think i sorted it out. The usb3 is on a expresscard, so maybe no full datarate. What is the combination of resolution/fps with the lowest possible datarate?

@longjie
Copy link
Owner

longjie commented Mar 27, 2016

#19 may help you.

@robograffitti
Copy link
Contributor

Use gscam instead. But, you need to get gscam compliled from its source. Also, there is one pitfall.

First, ros-indigo-gscam and ros-indigo-opencv2 do not exist. To solve this problem...

  1. Clone gscam package.
  2. Replace opencv2 with opencv3 in package.xml and resolve rosdep.
  3. Built it.

Here is a command line instruction:

$ git clone https://github.com/yoshimalucky/gscam.git
$ git checkout indigo-devel-opencv3
$ rosdep install gscam
$ catkin b gscam

If you can not resolve the dependency on libgstreamer0.10-dev, install it manuallly:
$ sudo apt-get install libgstreamer0.10-dev

Related PR:
ros-drivers/gscam#29

@robograffitti
Copy link
Contributor

In issue #20 and #23, they are trying to use uvc_camera insterad of gscam.

I'm just wondering how to set device file for left and right camera with uvc_camera. It require two device files for each camera although there is one device file /dev/video1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants