Почему при экспорте GPIO beaglebone возникают непостоянные ошибки в разрешениях? - PullRequest
0 голосов
/ 12 октября 2018

В недавно загруженном BeagleBone Black я выполняю:

me@beaglebone:~$ sudo -i
[sudo] password for me: 
root@beaglebone:~# cd /sys/class/gpio/
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > unexport
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > unexport

... как видите, попытка работает второй раз.Попытка через любое другое время выдает ошибку.Отмена экспорта после экспорта не выдает ошибку и позволяет избежать ошибки во второй раз.Имеет смысл, верно?Так что, возможно, при новой загрузке вывод экспортируется по умолчанию?

Тогда он сможет отменить экспорт этого вывода после новой загрузки:

me@beaglebone:~$ sudo -i
[sudo] password for me: 
root@beaglebone:~# cd /sys/class/gpio
root@beaglebone:/sys/class/gpio# echo 60 > unexport
-bash: echo: write error: Invalid argument
root@beaglebone:/sys/class/gpio# echo 60 > unexport
-bash: echo: write error: Invalid argument
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > unexport
-bash: echo: write error: Invalid argument
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 60 > export
root@beaglebone:/sys/class/gpio# echo 60 > unexport
root@beaglebone:/sys/class/gpio# 

........ Нету!- Homey, не играйте в это.

Может быть, этот пин находится в каком-то особом состоянии.Попытка другого пина при новой загрузке:

root@beaglebone:/sys/class/gpio# echo 49 > export
-bash: echo: write error: Operation not permitted
root@beaglebone:/sys/class/gpio# echo 49 > export
root@beaglebone:/sys/class/gpio#

... то же поведение.

Простой обходной путь - вызвать один из этих фиктивных экспортов при загрузке, после чего программное обеспечение / сценарии могутиспользуйте 60, не спотыкаясь.Но в идеале было бы неплохо понять, почему это происходит, и, возможно, даже заставить его работать без всяких проблем.

...