I’m in the process of porting a VISCA/NDI camera controller from Raspberry Pi to run on Rock Pi (4B+ version 1.73), and I’m running into some serious GPIO hardware failures that I don’t quite know how to deal with.
As a starting point, I took a pre-built collection of LEDs and disconnected them from a working Raspberry Pi setup and connected them to the Rock Pi. They all worked fine when driving them from the Raspberry Pi, so I’m reasonably certain that the problems are specific to the hardware or drivers on the Rock Pi side, and are not bad LEDs or other wiring mistakes.
And I’m seeing the misbehavior from the mraa command-line tool, which likely rules out anything in my code.
I’ve also tried switching to a different power supply, with no effect.
Here’s what I’m seeing when I do “sudo mraa-gpio set XX 1” for any given pin XX:
-
Pin 32 (GPIO3_C0) works exactly as expected, and is the only fully functional pin.
-
Pins 29, 31, 33, and 37 light up, but every 1.3 seconds or so, the brightness dips twice in short succession, in a rhythmic fashion. Apparently, these pins are 3V by default, and the working pin is 3.3V by default, so I’m thinking that the 3V regulator on this board is unstable for some reason, or that something is pulling the entire bus low, I’d like to set all the pins to use 3.3V, but I can’t find any documentation about how to do that.
-
Pins 35, 36, 38, and 40 do not work at all. I’m guessing this is some secondary function interfering with it, but no overlays are turned on, and I can’t find any documentation that provides any other hints as to what might be wrong. I did notice that fdtfile was wrong (pointing at the 4c), and changed that, but it made no difference.
What’s even more bizarre is that pin 29 is turned on by default right after booting at about a 50% booting cycle (the Raspberry Pi does the same thing), and the LED doesn’t start the periodic flashing until I use mraa-gpio to change its state.
Any ideas? Another dud board? Kernel bug? Hardware bug?
Configuration:
Rock Pi 4B+
Armbian Jammy (Desktop)
MRAA library from top-of-tree on GitHub (because no Jammy binary builds exist for MRAA, apparently)
No overlays enabled
Tested with official Rock Pi power supply and Apple 87W USB-C supply