Trouble with using Failure and Shell plugin

Hi!
I trying to inject failures (gps off) into system to test failsafes.

In qgc I can stop and run gps:
image.

But I whant do it in auto mode from onbord compute (RPi4)

I tried do it by MAVSDK C++ with Failure plugin.

auto failure = std::make_shared<mavsdk::Failure>(_system);
auto result = failure->inject(mavsdk::Failure::FailureUnit::SensorGps,mavsdk::Failure::FailureType::Off,0);
std::cout << "Result\t" << result << std::endl;

but geted some warnigns and error

[03:15:05|Warn ] sending again after 0.5003 s, retries to do: 3  (420). (mavlink_command_sender.cpp:287)
[03:15:05|Warn ] sending again after 1.00061 s, retries to do: 2  (420). (mavlink_command_sender.cpp:287)
[03:15:06|Warn ] sending again after 1.5092 s, retries to do: 1  (420). (mavlink_command_sender.cpp:287)
[03:15:06|Error] Retrying failed (420) (mavlink_command_sender.cpp:307)
Result  Timeout

I tried do it by MAVSDK C++ with Shell plugin

auto shell = std::make_shared<mavsdk::Shell>(_system);
auto result = shell->send("gps stop");
std::cout << "Result\t" << result << std::endl;

Result Success

But the gps didn’t actually stoped.

Аnyone can help me?
I will be very grateful :blush: