We have been using Navio2 with software built on the examples provided here https://docs.emlid.com/navio2/ for a university class for a couple of years. We are currently working on migrating toward ROS and we have been able to port everything over except for the Servo example.
The problem is that the Servo example (and the ROS node which was developed from the example) need access to the PWM pins without root access. I have searched the internet and tried several fixes including those at the following links: https://www.raspberrypi.org/forums/viewtopic.php?t=194174, https://raspberrypi.stackexchange.com/questions/66890/accessing-pwm-module-without-root-permissions. But I have not found anything that will allow me to succesfully write PWM duty cycle without using sudo
There seems to have been a kernel patch issued for udev not being properly triggered by PWM object creation https://github.com/raspberrypi/linux/issues/1983. It seems like this could be related to my issue but I have no way to apply this patch to the pre-built image. I have upgraded to the most current Navio2 image and successfully updated using sudo apt-get update && sudo apt-get dist-upgrade.
My other idea as to the source of the problem is that the commands in /etc/udev/rules.d/99-com.rules are not correct for the specific implementation on this hardware in which case I would need help figuring out which files I need to change permissions on.
Any suggestions are appreciated.