is udev and permissions set up correctly for the BeagleY-AI?

Hello,

I am facing an issue and I cannot figure it out so far with the BeagleY-AI as the board…

  1. Are the udev rules set up correctly on my board without me doing anything to the file(s)?
  2. Do I need to set up permissions outside of what beagleboard.org people have done?
  3. Would I need to rely on a DTS style of a file to handle porting GPIO usage to the board?

1 - 3 should cover most of what I am going through.

I have changed ownership, users, groups, and permissions so far. Before changing the previously mentioned ideas via commands, I was unable to execute regular GPIO files in the system.

I used commands like usermod, chown, and chmod to exchange file usage for the /dev/gpiochip[0 - 3] in /dev/. I see maybe that gpiochip0 is special.

I also used groupmod to access and change groups to allow for private permissions in a group for my user.

I say that gpiochip0 is special because of the address under platform.xxxxxx.

I have changed the file at /etc/udev/rules.d/85-gpio-noroot.rules which has gained some mention to me that I am in control but there is something getting in the way:

a. This something could be the virtual sys system that I am unfamiliar with now.
b. Another something that could be a reason are these examples:

  • crw-rw------ is listed in front of the udev rules for libgpiod-dev and /dev/gpiochip* files.
  • I change permissions and then find that root:gpio and/or root:gpiod, depending on my desire, has not changed to my username, i.e. even after making sure the user is me-me-me.

c. One last something here is just me not being able to describe what is going on within my own system.

If you are in discussion with what it is I am describing, please jump on in and help. If not, okay. I can try to remember this post and bring it up later.

Seth

P.S. Basically, I am only trying to handle two or three GPIO pins on the BeagleY-AI without breaking my system due to faulty readings and research. Any clues are welcomed and I will keep looking up what has changed with kernel 6.1.x.

If memory is correct they have all that stuff shut off. I had to make an overlay to enable it. Not sure why are you in udev rules, that really has nothing to do with getting to the pins. Make sure you are in gpio group. Typically run in root all the time until you get it working.

If the timing is not critical just use an i2c bus expander, much simpler to use and you drag your code base to another board by just changing the bus #.

1 Like

I will try DTS again…

I found a way to use DTS but for my driver, I cannot use the board. The LOW is too high for now.

Seth

P.S. I see some eCAP and other PWM style capabilities. I may try these on specific hardware one day.