When I run the ROV for a longer time, I always recognize that the video gets jerky, making it diffcult to control the ROV. CPU load of the BeagleBone seems to be rather high in the cockpit software (around 80%), so I can imagine that the choppy video is due to a high cpu load.
When I SSH to the ROV, the top command shows me something like this:
The cpu load by mjpeg streamer is typically around 30%, but it it always accompnied by to other processes (kworker/u:0 and kworker/u:1) which eat up another 40% of cpu.
With some googling I found out that many people have similar issues with kworker, especially when operating USB media devices like webcams or audio speakers. It seems as it has to do with USB DMA access. The solution I heard most often is to recompile the linux kernel with the config option 'CONFIG_MUSB_PIO_ONLY=y' which disables DMA for USB devices and reduces the load generated by kworker to almost zero.
However, I'm stuck with recompiling the kernel the rigth way (don't know how to get the source files, how to recompile, how to echange the current kernel by the new one). Maybe someone can help here? Has anyone experienced the same?