# VOXL UVC Server not connecting

Source: https://forum.modalai.com/topic/1262/voxl-uvc-server-not-connecting
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2022-08-29 15:16:41 UTC by Kris
Replies: 18 · Views: 2726

## Kris · 2022-08-29 15:16:41 UTC

I have been trying to connect my UVC camera to view either in VLC or in QGC.
I thought if I followed the guide for the VOXL UVC Server, that it would work or at least get me in the right direction.
When I enter;
```
voxl:~$ voxl-uvc-server
```
nothing happens.

```
voxl:~$ voxl-version
--------------------------------------------------------------------------------
system-image: 3.8.0
kernel:       #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf
--------------------------------------------------------------------------------
hw version:   VOXL
--------------------------------------------------------------------------------
voxl-suite:   0.8.1
0.7.0
--------------------------------------------------------------------------------
voxl:~$ voxl-inspect-services
 Service Name             |  Enabled  |   Running   |  CPU Usage
-------------------------------------------------------------------
 docker-autorun           | Disabled  | Not Running |  
 docker-daemon            | Disabled  | Not Running |  
 modallink-relink         | Disabled  | Not Running |  
 voxl-camera-server       |  Enabled  |   Running   |    18.0
 voxl-cpu-monitor         |  Enabled  |   Running   |     0.0
 voxl-dfs-server          |  Enabled  | Not Running |  
 voxl-imu-server          |  Enabled  |   Running   |     2.0
 voxl-mavlink-server      |  Enabled  |   Running   |     2.0
 voxl-modem               | Disabled  | Not Running |  
 voxl-portal              |  Enabled  |   Running   |     0.0
 voxl-qvio-server         |  Enabled  |   Running   |     8.0
 voxl-rangefinder-server  | Disabled  | Not Running |  
 voxl-streamer            | Disabled  | Not Running |  
 voxl-tag-detector        |  Enabled  | Not Running |  
 voxl-tflite-server       | Disabled  | Not Running |  
 voxl-time-sync           | Disabled  | Not Running |  
 voxl-vision-px4          |  Enabled  |   Running   |     2.0
 voxl-wait-for-fs         |  Enabled  |  Completed  |  
voxl:~$ cd /home/root/ipk
voxl:~/ipk$ opkg update
Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//Packages.gz.
Updated source 'modalai'.
voxl:~/ipk$ opkg install voxl-uvc-server
Package voxl-uvc-server (0.1.1) installed in root is up to date.
voxl:~/ipk$ cd
voxl:~$ voxl-uvc-server
^Cvoxl:~$ 
voxl:~$ voxl-uvc-server -m
Enabling MPA debug messages
^Chelper thread received sigusr 10
channel 0 request thread closing
voxl:~$ 
voxl:~$ voxl-uvc-server -d
Enabling debug messages
voxl-uvc-server starting
Image resolution 640x480, 30 fps chosen
UVC initialized
Device found
Device opened
uvc_get_stream_ctrl_format_size succeeded for format 0
Streaming starting
Got frame callback! frame_format = 3, width = 640, height = 480, length = 614400, ptr = (nil)
 * got image 30
 * got image 60
 * got image 90
 * got image 120
 * got image 150
 * got image 180
 * got image 210
 * got image 240
 * got image 270
^CGot SIGINT, exiting
Done streaming
UVC exited
voxl-uvc-server ending
voxl:~$ 

```

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 15:23:41 UTC

@Kris What do you get if you try ```voxl-uvc-server -s```?

## Reply by Kris · 2022-08-29 15:27:41 UTC (in reply to Eric Katzfey)

Hi, @Eric-Katzfey.
This is what I get.

```
voxl:~$ voxl-uvc-server -s
*** START DEVICE LIST ***

Found device 1

Got device descriptor for 0bda:3035 200901010001

Found device 0bda:3035

DEVICE CONFIGURATION (0bda:3035/200901010001) ---
Status: idle
VideoControl:
	bcdUVC: 0x0100
VideoStreaming(1):
	bEndpointAddress: 129
	Formats:
	MJPEGFormat(1)
		  bits per pixel: 0
		  GUID: 4d4a5047000000000000000000000000 (MJPG)
		  default frame: 1
		  aspect ratio: 0x0
		  interlace flags: 00
		  copy protect: 00
			FrameDescriptor(1)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 995328000-995328000
			  max frame size: 4147200
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(2)
			  capabilities: 00
			  size: 640x480
			  bit rate: 147456000-147456000
			  max frame size: 614400
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(3)
			  capabilities: 00
			  size: 800x600
			  bit rate: 230400000-230400000
			  max frame size: 960000
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(4)
			  capabilities: 00
			  size: 1024x768
			  bit rate: 377487360-377487360
			  max frame size: 1572864
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(5)
			  capabilities: 00
			  size: 1280x720
			  bit rate: 442368000-442368000
			  max frame size: 1843200
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(6)
			  capabilities: 00
			  size: 1280x960
			  bit rate: 589824000-589824000
			  max frame size: 2457600
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(7)
			  capabilities: 00
			  size: 1920x1070
			  bit rate: 986112000-986112000
			  max frame size: 4108800
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(8)
			  capabilities: 00
			  size: 2048x1536
			  bit rate: 1509949440-1509949440
			  max frame size: 6291456
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(9)
			  capabilities: 00
			  size: 2592x1944
			  bit rate: -1876320256--1876320256
			  max frame size: 10077696
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(10)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 995328000-995328000
			  max frame size: 4147200
			  default interval: 1/30
			  interval[0]: 1/30
			StillFrameDescriptor
			  bEndPointAddress: 00
			  wWidth(1) = 1920
			  wHeight(1) = 1080
			  wWidth(2) = 640
			  wHeight(2) = 480
			  wWidth(3) = 640
			  wHeight(3) = 480
			  wWidth(4) = 640
			  wHeight(4) = 480
			  wWidth(5) = 640
			  wHeight(5) = 480
			  wWidth(6) = 640
			  wHeight(6) = 480
			  wWidth(7) = 640
			  wHeight(7) = 480
			  wWidth(8) = 640
			  wHeight(8) = 480
			  wWidth(9) = 640
			  wHeight(9) = 480
	UncompressedFormat(2)
		  bits per pixel: 16
		  GUID: 5955593200001000800000aa00389b71 (YUY2)
		  default frame: 1
		  aspect ratio: 0x0
		  interlace flags: 00
		  copy protect: 00
			FrameDescriptor(1)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 99532800-99532800
			  max frame size: 4147200
			  default interval: 1/3
			  interval[0]: 1/3
			FrameDescriptor(2)
			  capabilities: 00
			  size: 640x480
			  bit rate: 147456000-147456000
			  max frame size: 614400
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(3)
			  capabilities: 00
			  size: 1280x720
			  bit rate: 117964800-117964800
			  max frame size: 1843200
			  default interval: 1/8
			  interval[0]: 1/8
			FrameDescriptor(4)
			  capabilities: 00
			  size: 800x600
			  bit rate: 153600000-153600000
			  max frame size: 960000
			  default interval: 1/20
			  interval[0]: 1/20
			FrameDescriptor(5)
			  capabilities: 00
			  size: 1280x960
			  bit rate: 157286400-157286400
			  max frame size: 2457600
			  default interval: 1/8
			  interval[0]: 1/8
			FrameDescriptor(6)
			  capabilities: 00
			  size: 2048x1536
			  bit rate: 150994944-150994944
			  max frame size: 6291456
			  default interval: 1/3
			  interval[0]: 1/3
			FrameDescriptor(7)
			  capabilities: 00
			  size: 2592x1944
			  bit rate: 161243136-161243136
			  max frame size: 10077696
voxl:~$ lsusb
Bus 001 Device 003: ID 0bda:3035 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
voxl:~$ voxl-uvc-server -s
*** START DEVICE LIST ***

Found device 1

Got device descriptor for 0bda:3035 200901010001

Found device 0bda:3035

DEVICE CONFIGURATION (0bda:3035/200901010001) ---
Status: idle
VideoControl:
	bcdUVC: 0x0100
VideoStreaming(1):
	bEndpointAddress: 129
	Formats:
	MJPEGFormat(1)
		  bits per pixel: 0
		  GUID: 4d4a5047000000000000000000000000 (MJPG)
		  default frame: 1
		  aspect ratio: 0x0
		  interlace flags: 00
		  copy protect: 00
			FrameDescriptor(1)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 995328000-995328000
			  max frame size: 4147200
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(2)
			  capabilities: 00
			  size: 640x480
			  bit rate: 147456000-147456000
			  max frame size: 614400
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(3)
			  capabilities: 00
			  size: 800x600
			  bit rate: 230400000-230400000
			  max frame size: 960000
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(4)
			  capabilities: 00
			  size: 1024x768
			  bit rate: 377487360-377487360
			  max frame size: 1572864
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(5)
			  capabilities: 00
			  size: 1280x720
			  bit rate: 442368000-442368000
			  max frame size: 1843200
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(6)
			  capabilities: 00
			  size: 1280x960
			  bit rate: 589824000-589824000
			  max frame size: 2457600
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(7)
			  capabilities: 00
			  size: 1920x1070
			  bit rate: 986112000-986112000
			  max frame size: 4108800
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(8)
			  capabilities: 00
			  size: 2048x1536
			  bit rate: 1509949440-1509949440
			  max frame size: 6291456
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(9)
			  capabilities: 00
			  size: 2592x1944
			  bit rate: -1876320256--1876320256
			  max frame size: 10077696
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(10)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 995328000-995328000
			  max frame size: 4147200
			  default interval: 1/30
			  interval[0]: 1/30
			StillFrameDescriptor
			  bEndPointAddress: 00
			  wWidth(1) = 1920
			  wHeight(1) = 1080
			  wWidth(2) = 640
			  wHeight(2) = 480
			  wWidth(3) = 640
			  wHeight(3) = 480
			  wWidth(4) = 640
			  wHeight(4) = 480
			  wWidth(5) = 640
			  wHeight(5) = 480
			  wWidth(6) = 640
			  wHeight(6) = 480
			  wWidth(7) = 640
			  wHeight(7) = 480
			  wWidth(8) = 640
			  wHeight(8) = 480
			  wWidth(9) = 640
			  wHeight(9) = 480
	UncompressedFormat(2)
		  bits per pixel: 16
		  GUID: 5955593200001000800000aa00389b71 (YUY2)
		  default frame: 1
		  aspect ratio: 0x0
		  interlace flags: 00
		  copy protect: 00
			FrameDescriptor(1)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 99532800-99532800
			  max frame size: 4147200
			  default interval: 1/3
			  interval[0]: 1/3
			FrameDescriptor(2)
			  capabilities: 00
			  size: 640x480
			  bit rate: 147456000-147456000
			  max frame size: 614400
			  default interval: 1/30
			  interval[0]: 1/30
			FrameDescriptor(3)
			  capabilities: 00
			  size: 1280x720
			  bit rate: 117964800-117964800
			  max frame size: 1843200
			  default interval: 1/8
			  interval[0]: 1/8
			FrameDescriptor(4)
			  capabilities: 00
			  size: 800x600
			  bit rate: 153600000-153600000
			  max frame size: 960000
			  default interval: 1/20
			  interval[0]: 1/20
			FrameDescriptor(5)
			  capabilities: 00
			  size: 1280x960
			  bit rate: 157286400-157286400
			  max frame size: 2457600
			  default interval: 1/8
			  interval[0]: 1/8
			FrameDescriptor(6)
			  capabilities: 00
			  size: 2048x1536
			  bit rate: 150994944-150994944
			  max frame size: 6291456
			  default interval: 1/3
			  interval[0]: 1/3
			FrameDescriptor(7)
			  capabilities: 00
			  size: 2592x1944
			  bit rate: 161243136-161243136
			  max frame size: 10077696
			  default interval: 1/2
			  interval[0]: 1/2
			FrameDescriptor(8)
			  capabilities: 00
			  size: 1920x1080
			  bit rate: 99532800-99532800
			  max frame size: 4147200
			  default interval: 1/3
			  interval[0]: 1/3
			StillFrameDescriptor
			  bEndPointAddress: 00
			  wWidth(1) = 640
			  wHeight(1) = 480
			  wWidth(2) = 1920
			  wHeight(2) = 1080
			  wWidth(3) = 1280
			  wHeight(3) = 720
			  wWidth(4) = 2592
			  wHeight(4) = 1944
END DEVICE CONFIGURATION

*** END DEVICE LIST ***
voxl:~$ 

```

```
voxl:~$ lsusb
Bus 001 Device 003: ID 0bda:3035 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 15:33:57 UTC (in reply to Kris)

@Kris Okay, that all looks good. What about ```voxl-uvc-server -d -m```?

## Reply by Kris · 2022-08-29 15:38:23 UTC (in reply to Eric Katzfey)

@Eric-Katzfey 

```
voxl:~$ voxl-uvc-server -d -m
Enabling debug messages
Enabling MPA debug messages
voxl-uvc-server starting
Image resolution 640x480, 30 fps chosen
UVC initialized
Device found
Device opened
uvc_get_stream_ctrl_format_size succeeded for format 0
Streaming starting
Got frame callback! frame_format = 3, width = 640, height = 480, length = 614400, ptr = (nil)
 * got image 30
 * got image 60
 * got image 90
 * got image 120
 * got image 150
 * got image 180
 * got image 210
 * got image 240
 * got image 270
 * got image 300
 * got image 330
 * got image 360
 * got image 390
 * got image 420
 * got image 450
 * got image 480
 * got image 510
 * got image 540
 * got image 570
 * got image 600
 * got image 630
 * got image 660
 * got image 690
 * got image 720
 * got image 750
 * got image 780
 * got image 810
 * got image 840
 * got image 870
 * got image 900
 * got image 930
 * got image 960
 * got image 990
^CGot SIGINT, exiting
helper thread received sigusr 10
channel 0 request thread closing
Done streaming
UVC exited
voxl-uvc-server ending
voxl:~$ 

```

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 15:39:35 UTC (in reply to Kris)

@Kris Okay, so that shows that voxl-uvc-server is running.

## Reply by Kris · 2022-08-29 15:43:34 UTC (in reply to Eric Katzfey)

@Eric-Katzfey 
What do I need to do to view the images/video from my UVC camera?

```
voxl:~$ show-video-device-info.sh
/dev/video2: USB Camera 0bda:3035

```

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 15:46:54 UTC (in reply to Kris)

@Kris You run ```voxl-uvc-server``` to get the frames from the camera. See docs.modalai.com/voxl-uvc-server for more information. Then you run ```voxl-streamer -c uvc-generic``` to create an RTSP stream that can be viewed remotely using VLC or QGC. Se docs.modalai.com/voxl-streamer for more information.

## Reply by Kris · 2022-08-29 15:54:05 UTC (in reply to Eric Katzfey)

@Eric-Katzfey 
This is where I am a little confused. Do I need to SSH into VOXL and run the 
```
voxl:~$ voxl-uvc-server
```
in one terminal. Then open a new terminal, SSH into VOXL again and run
```
voxl:~$ voxl-streamer -c uvc-generic
```

## Reply by Kris · 2022-08-29 15:57:44 UTC (in reply to Eric Katzfey)

@Eric-Katzfey  Ok, Thank you!!! I finally got it working :+1:

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 15:58:04 UTC (in reply to Kris)

@Kris I usually use ```adb shell``` to setup two separate sessions. I run voxl-uvc-server in one and voxl-streamer in the other.

## Reply by Kris · 2022-08-29 16:00:21 UTC (in reply to Eric Katzfey)

@Eric-Katzfey How can I change the frame rates, etc.
Or edit the config files?

## Reply by Kris · 2022-08-29 16:04:20 UTC (in reply to Eric Katzfey)

@Eric-Katzfey I am trying to get better quality because I need to record via some type of Screen Recorder. I would prefer to save the recorded videos to an SD card, but I don't think that is possible.

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 16:11:18 UTC (in reply to Kris)

@Kris Yes, you can edit the config files to change resolution, frame rate, etc.

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 16:12:47 UTC (in reply to Kris)

@Kris We don't currently have a way to save to SD card from the UVC camera. However, you can create your own code to do this. This is a feature that we will be adding in the future.

## Reply by Kris · 2022-08-29 16:15:35 UTC (in reply to Eric Katzfey)

@Eric-Katzfey Would I edit the config files from the "uvc-geneirc" at the top or the "uvc-video" at the bottom of the config files?

## Reply by Eric Katzfey (ModalAI staff) · 2022-08-29 16:17:12 UTC (in reply to Kris)

@Kris If you are using the uvc-generic configuration then that is the one that you would edit.

## Reply by Kris · 2022-08-29 16:18:57 UTC (in reply to Eric Katzfey)

@Eric-Katzfey Got it :+1: 
Thank you for your help and quick responses :blush:

## Reply by local ad · 2022-08-29 16:59:05 UTC

WOW what a great thread, so on time for me  Thanks Kris
