New Release Candidate Image ready with 31.0.0 RC



Hi Rune

I’m not sure what you realy mean by Stuttering…
But in that dive I had a GoPro camera underneat, and that touch the bottom when I go forward, the ROV are very close to the bottom.
I guess that home edition work of NCH are just as good, I don’t remember the difference.
In that dive I use the 30.1.0 DEV image, I have not upgrade to 31.0.0 RC yet.



Not sure. If there are other things taking up the browers resources, it is possible it has to spend extra time cleaning up resources that may affect its ability to process the packets in realtime. That said, the stuttering that happens is something we are very actively working on and we seem to be having some success in reducing the impact. More to come.


I was able to load the image once I followed the instructions properly. I did notice a minor bug though.

If you click on the “invert” in the camera set up, it will move the dot properly but the camera icon angle does not invert. What you get is a camera that is pointing to +40 and a camera icon at -40. I love the ability to easily remap the keyboard and the gamepad control and to save them as a preset. I also like the way the power settings are shown on the motor control module. What I do miss is the IMU pitch, roll, and compass from the 30 series cockpit. Can that be put back in as an option?


Hi Brian,
I’m coming a little late to the party and with relatively minor concerns. I’ve managed to install 31.0.0 on my 2.8 and am suitably impressed. I particularly like the smooth vertical panning of the camera. I haven’t yet experimented with my Logitech gamepad or my Fat Shark goggles but am enjoying my exploration of the options. I have noticed a couple of inconsistencies. I am running the cockpit on an old laptop with Win 7 and the sidebar boxes don’t seem to scale properly by default so I don’t get a view on the battery or time data, particularly if I’ve toggled the full screen. If I max zoom out and toggle full screen I can see the missing boxes but the screenbar options are too small to read. I’ve also noticed that the default keyboard settings have a conflict with the external lights dim/bright and the motor increase/decrease (easily rectified I know). I note from ‘Major feature changes’ that a ‘single external light control’ has been added; did this not exist as alt+IOP in 30.0.3? I’m disappointed that there is no support for cockpit control of pwm4 (my interest is for 2nd external lights) since the wiring is present and it exists on the controller board. Any chance of this addition? Anyhow, congratulations and keep up the good work!


Adding back the pwm4 control is on our list of things we would like to do. Note, @Walt_Holm has a post on the forum showing how to modify the controller board to gang 4 pairs of lights off the single pwm channel as well.
We have a redesign of how we dynamically register things like additional pairs of external lights that we have not finalized yet and which along with development time against Trident is gaiting us.
For the coders among us, it is possible to modify the firmware by cloning the existing external light code to an external_light_2 and changing the assigned pwm to be pwm4. If that is all you do, it would simply listen for the same message as the 1st pair of external lights and react along with them.


Hi Brian,
Thanks for taking the time to reply with that comprehensive reply; I have already carried out the controller board mod that @Walt_Holm describes in his excellent tutorial but it stops short of giving the explanation of how to activate pwm4.
I have written various bits of code in the past but have no Linux/Arduino experience. I’d be happy to write the additional code but I just need some guidance as to which files need alteration/cloning. Do I need a new plug-in, and if so what else?


Hi All,
I am presently using an earlier RC version of 31.0.0 RC that came with my OROV Pro Camera-HD Upgrade kit.
Do I need to use Wetty, as outlined here, to use 31.0.0 RC4 or can I just use RC4 as is from the SD card slot?


Hi all
I download the 31.0.0 and try to burnt the image to BBB, however, it spent me nearly an hour and the LED kept flashing without any indication of success burning. It is a little bit wierd because in the past it usually took 15 mins to finish the process.So what’s the problem.


Which release candidate did you try to burn to the BBB? Since RCs are still developmental I would not try and burn a release candidate to the BBB and instead would just run it off of the SD card.


my version is RC4. And do you mean that “run it off the SD” is just inserting the SD card into BBB without burning ?


I have installed RC4.But there is something bad happening and I have to reboot rov several times


You can either run it off an SD card or burn it into the BBB EEPROM.

v30.0.3 ROV FLASH image 30.0.3 release of the OpenROV FLASH image. Must be burned on a SD card and is used to FLASH the onboard memory on the ROV 7 Oct 2015
v30.0.3 ROV SD Card image 30.0.3 release of the OpenROV SD CARD image. Must be burned on a SD card and remains in your ROV 7 Oct 2015

The Cockpit version 31.0.0-RC4 that I have is an ROV SD CARD image. The Dev Image is intended to run from the SD card.



Just finished my 2.8 build, can’t seem to get video from the Pro Camera. Video from the regular camera will appear if plugged in, but not luck on the pro.
I’ve noticed that there is an error in dmesg regarding the v4l driver

[   73.969726] usb 1-1: USB disconnect, device number 2
[   74.806392] usb 1-1: new high-speed USB device number 3 using musb-hdrc
[   74.935262] usb 1-1: New USB device found, idVendor=29fe, idProduct=4d53
[   74.935290] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   74.935301] usb 1-1: Product: Condor
[   74.935310] usb 1-1: Manufacturer: GEO Semi
[   74.935319] usb 1-1: SerialNumber: 12345
[   75.574609] uvcvideo: Found UVC 1.10 device Condor (29fe:4d53)
[   75.623342] input: Condor as /devices/platform/ocp/47400000.usb/47401c00.usb/
[   75.638456] uvcvideo: Found UVC 1.10 device Condor (29fe:4d53)
[   75.648778] uvcvideo: Unable to create debugfs 1-3 directory.
[   75.668692] input: Condor as /devices/platform/ocp/47400000.usb/47401c00.usb/
[   75.687620] usbcore: registered new interface driver uvcvideo
[   75.687646] USB Video Class driver (1.1.1)
[   76.294565] usbcore: registered new interface driver snd-usb-audio
[   92.670342] ------------[ cut here ]------------
[   92.670408] WARNING: CPU: 0 PID: 1996 at drivers/media/v4l2-core/v4l2-ioctl.c:1272 v4l_enum_fmt+0x10e0/0x1474()
[   92.670417] Unknown pixelformat 0x2058554d
[   92.670424] Modules linked in: snd_usb_audio snd_hwdep snd_usbmidi_lib snd_rawmidi snd_seq_device uvcvideo(O) videobuf2_vmalloc videobuf2_mem
ops videobuf2_v4l2 videobuf2_core snd_soc_hdmi_codec spidev snd_soc_simple_card omap_aes_driver omap_sham omap_rng rng_core tilcdc snd_soc_davin
ci_mcasp snd_soc_edma snd_soc_omap snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer snd spi_omap2_mcspi soundcore evdev tda998x uio_pdrv_genirq 
uio 8021q garp mrp stp llc usb_f_acm u_serial usb_f_rndis u_ether bnep libcomposite bluetooth rfkill dummy
[   92.670577] CPU: 0 PID: 1996 Comm: v4l2-ctl Tainted: G           O    4.4.30-ti-r65 #1
[   92.670584] Hardware name: Generic AM33XX (Flattened Device Tree)
[   92.670625] [<c001acb8>] (unwind_backtrace) from [<c0015a14>] (show_stack+0x20/0x24)
[   92.670651] [<c0015a14>] (show_stack) from [<c05b9ab8>] (dump_stack+0x9c/0xb0)
[   92.670672] [<c05b9ab8>] (dump_stack) from [<c0042e24>] (warn_slowpath_common+0x98/0xc8)
[   92.670686] [<c0042e24>] (warn_slowpath_common) from [<c0042ea4>] (warn_slowpath_fmt+0x50/0x6c)
[   92.670701] [<c0042ea4>] (warn_slowpath_fmt) from [<c08334f8>] (v4l_enum_fmt+0x10e0/0x1474)
[   92.670718] [<c08334f8>] (v4l_enum_fmt) from [<c0834254>] (__video_do_ioctl+0x2c4/0x33c)
[   92.670731] [<c0834254>] (__video_do_ioctl) from [<c0833a34>] (video_usercopy+0x1a8/0x6e0)
[   92.670744] [<c0833a34>] (video_usercopy) from [<c0833f8c>] (video_ioctl2+0x20/0x24)
[   92.670758] [<c0833f8c>] (video_ioctl2) from [<c082e91c>] (v4l2_ioctl+0xb8/0xe8)
[   92.670777] [<c082e91c>] (v4l2_ioctl) from [<c01d6544>] (do_vfs_ioctl+0x4dc/0x714)
[   92.670792] [<c01d6544>] (do_vfs_ioctl) from [<c01d67f8>] (SyS_ioctl+0x7c/0x8c)
[   92.670812] [<c01d67f8>] (SyS_ioctl) from [<c0010e60>] (ret_fast_syscall+0x0/0x44)
[   92.670822] ---[ end trace b1958b0870bd25c2 ]---
rov@openrov:~$ ls -al /dev/v4l/by*
total 0
drwxr-xr-x 2 root root 60 Jan 25 21:13 .
drwxr-xr-x 4 root root 80 Jan 25 21:13 ..
lrwxrwxrwx 1 root root 12 Jan 25 21:13 usb-GEO_Semi_Condor_12345-video-index0 -> ../../video1
total 0
drwxr-xr-x 2 root root 80 Jan 25 21:13 .
drwxr-xr-x 4 root root 80 Jan 25 21:13 ..
lrwxrwxrwx 1 root root 12 Jan 25 21:13 -> ../../video0
lrwxrwxrwx 1 root root 12 Jan 25 21:13 -> ../../video1
rov@openrov:~$ ls -al /dev/video* 
crw-rw---- 1 root video 81, 0 Jan 25 21:13 /dev/video0
crw-rw---- 1 root video 81, 1 Jan 25 21:13 /dev/video1
rov@openrov:~$ sudo mxcam list
device #1:
        Core: Condor
        State: Booted
        ID: 29fe:4d53
        Bus number: 1
        Device address: 3
rov@openrov:~$ sudo mxcam info
Firmware image currently running: 
Release Version  : 7.4.1 
Vendor Info      : 
Created          : Fri Aug 28 13:45:20 2015
Image Size       : 1407124 Bytes = 1374.14 kB = 1.34 MB
Bootloader image: 
Release Version  : 7.4.1 
Vendor Info      : 
Created          : Fri Aug 28 13:48:26 2015
Image Size       : 33568 Bytes = 32.78 kB = 0.03 MB

Any suggestions on where to go from here?

edit: using OpenROVSuite_31.0.0-2017-01-25.img from SD card


Found the issue; I’d misread the earlier post regarding using rather that https:// vs http://:8080/

Dug down into the nginx conf before I figured out what was up!


Hm…trying to get the external servo working. I don’t have an option to enable it in the “plugin” section, and can’t see a keyboard mapping for it in “input”. I thought it was alt+z and alt+q, but that’s not working either.


Depth hold not working for anyone else on 31 RC4?

Reading of depth from the imu is ok.
When I activate depth lock everything in the cockpit behave as usual (LK appears under the depth gauge and DLK appears as a ‘‘on’’ switch in the bottom right corner of cockpit.

That is happening on 2 rovs on which it used to work fine.

Any ideas?


The external servo code was pulled out when the firmware code was refactored and has not been added back in yet.

@Trinh did rebooting eventually get you passed the firmware not updating errors?

No, that step for so that you could apply the firmware. That is done automatically in the Release Candidate

The quick and dirty fix is to alter the firmware so that the existing message that enables the external lights will also enable the 2 pair at the same time. You can then work backwards and clone the exiting external lights plugin and then rename it, and then introduce a serial message that only the 2nd set of external lights would react to by cloning the extenral lights driver in the firmware and renaming it for external lights.

@charlesdc where do they find the matching source code for the firmware deployed with the RC on github?


Hi Brian,

I see some changes to the code on GitHub.
Are there any plans for an RC5 image?



Yes. There are improvements for exporting video and the connection process to the ROV that need to be rolled out in an RC before general go live.


@badevguru firmware is at the same location:

Should be using the master branch.

The AltServo code is still there; it hasn’t been removed. The only aspects that were removed were those specific to the Arduino Mega 328p used in very old versions of the robot.

Enable by setting the define to 1 in: