[Solved] The GPIO channel has not been set up as an OUTPUT

What is the problem?
Can't use any plugin using GPIO
What did you already try to solve it?

Running Octopi as root
Logs (octoprint.log, serial.log or output on terminal tab, ...)

2019-07-08 22:26:31,111 - octoprint.plugins.enclosure - INFO - Setting GPIO mode to BCM
2019-07-08 22:26:31,117 - octoprint.plugins.enclosure - INFO - Setting GPIO pin 26 as OUTPUT with initial value: 1
2019-07-08 22:26:31,285 - octoprint.plugins.enclosure - WARNING - An exception of type RuntimeError occurred on write_gpio when writing on pin 26. Arguments:
('The GPIO channel has not been set up as an OUTPUT',)

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, ...)
Latest firmware, Raspberry Pi 2

You might try running this manually using sudo from the command prompt.

# Temporarily elevate our rights to become root
sudo -i
# Export pin 26 so that it appears in the device tree
echo "26" > /sys/class/gpio/export
# Set GPIO 26 as an output port
echo "out" > /sys/class/gpio/gpio26/direction
# Exit from our elevated rights shell

Working great, any way for making it permanent (on reboot ect...) ?

Let's see... I think the pin export is persistent; it will continue to report the pin status to the device tree after a reboot. And I see no reason why the direction wouldn't persist. Why not reboot it and do a cat /sys/class/gpio/gpio26/direction to verify that it's still set to out?

cat: /sys/class/gpio/gpio26/direction: No such file or directory

after reboot.

root@octopi:~# echo "26" > /sys/class/gpio/export
root@octopi:~# cat /sys/class/gpio/gpio26/direction

Wow, it looks like something changed in Raspbian so that the device tree state doesn't persist between boots.

Try this:

sudo nano /etc/rc.local
...and add this:

echo "26" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio26/direction

And then reboot with sudo reboot. In theory, rc.local runs as root so you wouldn't need to sudo inside that.

I did what you said, after a week and multiple reboot, everything hold up, thanks !

1 Like