MAVProxy connection results in GPIO_Sysfs error

I’m trying to connect to my drone (hardware: Navio2+RP3A+) via MAVProxy. On Terminal on my mac I use the following command:

mavproxy.py --master 192.168.1.155:14550

where the IP 192.168.1.155 is the one of my mac, not of RP3A+. What I get is an infinite loop of GPIO_Sysfs regarding pin 4 and pin 16. I thought this error was only occurring on 3.6.5 version but I just updated to 3.6.11 on purpose … and it’s still there.

Any suggestions about how to fix this?

Thanks
Emanuel

Connect 192.168.1.155:14550 source_system=255
Log Directory: 
Telemetry log: mav.tlog
Waiting for heartbeat from 192.168.1.155:14550
 MAV> online system 1
STABILIZE> Mode STABILIZE
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.
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.
fence present
fence enabled
fence breach
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.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
......
and so on
.....

Hi Emanuel,

We are looking into this issue.

In the meantime, you can try the workaround proposed in this thread.

Thanks for you feedback, I have seen this in a old post … I thought it was already solved with the .11 version.

Might be that this error have effects on the performance of the communication? I will set “shownoise” to False but at least it would be interesting to know if on the background the MAVProxy communication keep working properly or this error have an impact on it …

Thanks, Emanuel

@gleb.gira Might be that this error has effects on the performance of the communication?

I will set “shownoise” to False but at least it would be interesting to know if on the background the MAVProxy communication keeps working properly or this error has an impact on it …

Hi Emanuel,

We’ll look into how this may affect MAVProxy communication, and I’ll write back to you. Thanks!

Hi @Therkc,

Could you please provide us with the screenshots demonstrating your step-by-step actions? It’ll help a lot in understanding what may go wrong.

Hi,

I tried setting shownoise to False using :
set shownoise False

but still,

I have been having a similar issue :

Can you please help me with the same
pi@navio:~ $ mavproxy.py --master 127.0.0.1:14550
Connect 127.0.0.1:14550 source_system=255
Failed to load module: No module named adsb. Use ‘set moddebug 3’ in the MAVProxy console to enable traceback
Log Directory:
Telemetry log: mav.tlog
MAV> Waiting for heartbeat from 127.0.0.1:14550
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.
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 read 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.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to read 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.
GPIO_Sysfs: Unable to get value file descriptor for pin 4.
GPIO_Sysfs: Unable to write pin 16 value.
online system 1
STABILIZE> Mode STABILIZE
Exception in thread main_loop:
Traceback (most recent call last):
File “/usr/lib/python2.7/threading.py”, line 801, in __bootstrap_inner
self.run()
File “/usr/lib/python2.7/threading.py”, line 754, in run
self.__target(*self.__args, **self.__kwargs)
File “/home/pi/.local/bin/mavproxy.py”, line 783, in main_loop
master.wait_heartbeat()
File “/home/pi/.local/lib/python2.7/site-packages/pymavlink/mavutil.py”, line 383, in wait_heartbeat
return self.recv_match(type=‘HEARTBEAT’, blocking=blocking)
File “/home/pi/.local/lib/python2.7/site-packages/pymavlink/mavutil.py”, line 344, in recv_match
m = self.recv_msg()
File “/home/pi/.local/lib/python2.7/site-packages/pymavlink/mavutil.py”, line 922, in recv_msg
m = self.mav.parse_char(s)
File “/home/pi/.local/lib/python2.7/site-packages/pymavlink/dialects/v10/ardupilotmega.py”, line 9257, in parse_char
self.__callbacks(m)
File “/home/pi/.local/lib/python2.7/site-packages/pymavlink/dialects/v10/ardupilotmega.py”, line 9234, in __callbacks
self.callback(msg, *self.callback_args, **self.callback_kwargs)
File “/home/pi/.local/lib/python2.7/site-packages/MAVProxy/modules/mavproxy_link.py”, line 460, in master_callback
mavutil.mavlink.MAV_TYPE_DODECAROTOR]:
AttributeError: ‘module’ object has no attribute ‘MAV_TYPE_DODECAROTOR’

Thanks

Hi Vihnagi,

We’ll try to reproduce the issue.

Would you mind describing your hardware setup and the steps you took so far?

HI Polina,

I used navio2 shield with raspberry pi 3b+

Notes -
pi@navio:~ $ sudo ls -l /dev/serial*
lrwxrwxrwx 1 root root 7 Mar 17 22:17 /dev/serial0 -> ttyAMA0
lrwxrwxrwx 1 root root 5 Mar 17 22:17 /dev/serial1 -> ttyS0
pi@navio:~ $

pi@navio:~ $ cat /etc/default/arducopter

Default settings for ArduPilot for Linux.

The file is sourced by systemd from arducopter.service

TELEM1="-A udp:127.0.0.1:14550"
TELEM2="-C /dev/ttyAMA0"

Options to pass to ArduPilot

ARDUPILOT_OPTS="$TELEM1 $TELEM2"

                      #    # ###### #      #####  
                      #    # #      #      #    # 
                      ###### #####  #      #    # 
                      #    # #      #      #####  
                      #    # #      #      #      
                      #    # ###### ###### #      

-A is a console switch (usually this is a Wi-Fi link)

-C is a telemetry switch

Usually this is either /dev/ttyAMA0 - UART connector on your Navio

or /dev/ttyUSB0 if you’re using a serial to USB convertor

-B or -E is used to specify non default GPS

Type “emlidtool ardupilot” for further help

and lastly the command i use to run mavproxy:
mavproxy.py --master 127.0.0.1:14450

Thanks
Vi

Hi Vi,

Sorry it takes so long to investigate the issue!

Thank you for the details. We’re still looking into the GPIO_Sysfs error. I’ll reach out to you once there’s news.