Arducopter spams GPIO related mavlink messages

Can reproduce with latest navio2 raspbian image as well as with latest arducopter binary installed which has version 3.6.8

Looking at the tcpdump sudo tcpdump -n udp port 14550 -X the arducopter spams messages (edited for clarity):

GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
APM: ArduCopter V3.6.8 (2f409678)
APM: Frame: QUAD
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.

I found that the issue has been reported before in the ardupilot github, but it seems that it has been resolved since ~3.6.0, so I’m a little confused why it’s happening now.

Has anyone else witnessed a similar behavior?

Can you tell a little bit more about what you’re trying to accomplish?

I want interact with the drone using Dronekit via MAVLINK.

When I connected to the drone using e.g. mavproxy.py I noticed that there’s a huge amount of GPIO_Sysfs messages being sent from the arducopter daemon.

It’s not a show-stopper issue, because I can ignore them, but it seemed to have been fixed in the latest versions of Ardupilot, so I wanted to know why I’m still seeing this behavior. Or maybe there’s actually something wrong with my raspberry/navio2 shield’s GPIO pins.

Just for FYI - I’ve just tried 3.6.9 and the issue remains.

I’m seeing the same thing, a constant stream of:

GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.

messages. I re-flashed my operating system to make sure and it’s happening with the arduplane image currently on the Navio site. The first message is coming from line 114 of ardupilot/GPIO_Sysfs.cpp at master · ArduPilot/ardupilot · GitHub. Not only does it make MAVProxy unusable but it may indicate an incompatibility or issue with this version of arduplane and the hardware.

Can I ask you to try with 3.6.5, @mkarklins @iain @robinhilliard?

I am experiencing exactly the same issue described above. I am using version 3.6.5

GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_
SSTABILIZE> ysfs: Unable to write pin 16 value.
APM: ArduCopter V3.6.5 (b5f637fc)
APM: Frame: QUAD
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
Flight battery 100 percent
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.

1 Like

Have you learned anything more about this?

Thanks for all your tests, guys :slightly_smiling_face:
We’ll fix it as soon as possible.

2 Likes

To work around this in mavproxy for the time being, type:

set shownoise False

Looking forward to finding out the root cause.

Cheers,
Robin

You can check out the new image for Navio2 that solves the GPIO_sysfs error. The details are in this thread: