Calling on GPIO experts....
This one has me perplexed. I can control most of the the other GPIO pins with Tinker's version of gpio from the shell. However, physical pin 18 (GPIO5B3) doesn't seem to work completely. I need to set it to an output and drive it to 1. I've tried with the latest TinkerOS (4.4.132+) and with Armbian Buster for the Tinker Board S.
When it first boots up, a "gpio readall" shows that pin 18 is SERL.
First, I change the mode to output:
gpio mode 5 out
I can verify this with another "gpio readall". It now shows that pin 18 is OUT
I then try to set the value to 1 with
gpio write 5 1
The pin never goes high and I verified this with a multimeter.
For grins, I tried the same test with pin 16 (GPIO5B2) and setting it to OUT with a value of 1 does work.
So I went native and did:
echo export 163 > /sys/class/gpio echo out > /sys/class/gpio/gpio163 echo 1 > /sys/class/gpio/gpio163 cat /sys/class/gpio/gpio163
This didn't work either. I checked the /boot/hw_intf.conf to see if I was fighting an overlay and I had the default that comes with the TinkerOS (uart1/4 on, uart2/3 off, i2c1/4 on, spi0 off, spi2 on, etc). I don't have any applications running that might interfere (I don't think) and no hats are plugged in. This problem persists with two different OSs as well.
What am I missing? Hopefully something simple I've overlooked...