В недавно загруженном 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, не спотыкаясь.Но в идеале было бы неплохо понять, почему это происходит, и, возможно, даже заставить его работать без всяких проблем.