Failed to write reg: Remote I/O Error

Hello everyone,

I just keep bumping into the following issue when sending a PWM signal through Navio2:

Failed to write reg: Remote I/O Error

Failed to write device(-1): Remote I/O Error

The setup is quite simple, with the servo rail powered by external source and a simple servo attached on the physical pin 2. The virtual pin that is entered in my C++ code is 1, as suggested by the Github sample code.

Is there anything that I should consider when using a fresh Raspbian on RPi with Navio2? Should there be some settings for the GPIO done?

Many thanks in advance,

The error you mention is issued by I2C subsystem but Navio 2 doesn’t use I2C for that. Is there a chance you git cloned Navio instead of Navio2 git repository?

Hey George,

I presumed that you were right and cloned the repo again. Unfortunately, even though the libs were ok, my code was calling the old constructor. With the new code, I wrote:
// header
#define SERVO_PIN 0
RCOutput_Navio2 *pwm = new RCOutput_Navio2();
// cpp file

But still, the object failed to initiate, thus all command weren’t sent. When running the Servo example from terminal, it did work nicely, therefore I thought it may be due to the lack of some privileges of the Qt program.

I have managed to get around this issue using the suggestion written here. Nevertheless, an extra terminal window opens everytime I run the program. I thought the privileges upon Navio and RPi were addressed in the custom Raspbian image that Emlid developed. Is there any method to get have these privileges without running each program in terminal?

Many thanks

adding the program to sudoers.