I am in the progress of enabling ROS Noetic on Ubuntu 20.04 and went through many pitfalls already:
- Installed Robot Control Library (needed to load older Kernel)
- Installed ROS
- Ported the
bbblue_drivers
Now I am stuck on:
ubuntu@ubuntu:~/catkin_ws$ rosrun bbblue_drivers imu_pub_node
[ INFO] [1654446545.826307375]: FrameID: imu_link
ERROR opening gpiochip: Permission denied
ERROR: in rc_mpu_initialize_dmp, failed to initialize GPIO
probably insufficient privileges
[ INFO] [1654446545.858926005]: rc_mpu_initialize_failed
rc_mpu_initialize_failed
imu_pub_
It looks like the GPIO3_21 (MPU interrupt) is not available in the device tree at all:
ubuntu@ubuntu:~/catkin_ws$ config-pin -q p3_21
ERROR: open() for /sys/devices/platform/ocp/ocp:P3_21_pinmux/state failed, No such file or director
I am using bone-ubuntu-20.04.4-console-armhf-2022-05-22-4gb.img
from Index of /ubuntu
Any idea?
@RobertCNelson ?
Thanks!
(BTW, as there is some interest in this project - I will publish all the steps later when I’ll have it fully working)
1 Like
It actually runs under root user, which means it’s a permission problem.
Any idea how to allow running it under “ubuntu” user?
1 Like
Hello @mirots ,
Seth here. This is awesome! Nice and nice all over again.
I am glad you are showing interest in this process. I slacked off years ago when people were producing the images for ROS.
Maybe some udev rules will help: customizations/etc/udev/rules.d at master · beagleboard/customizations · GitHub
Seth
P.S. Also, I think there are a couple of commands to set the debian:debian user for accessing specific libs. but in your case ubuntu:ubuntu.
https://help.ubuntu.com/community/FilePermissions
If that does not give enough info, please view this too:
^
Hi @silver2row ,
I am very well aware on how permissions in Linux work on files, yet this is a GPIO device.
Usually it is something like:
sudo echo "21" > /sys/class/gpio/export'
where 21 is the GPIO pin.
Yet it is not working for me
Any idea?
@mirots ,
i.e. GPIO2_24 is 32*2+24
, making it GPIO_88. If this pin were to be referenced anywhere in software, the user would use the number 88, not 24 !
I found that idea here: Setting Up the BeagleBone Black's GPIO Pins
If you are not using udev rules, try them in /etc/udev/rules.d/
.
There should be some already set up. You may need additional udev rules set up.
Seth