Factory Reset Not Working

All, I messed with parameters today trying to connect via tower (Serial_1 IIRC) and now I’ve lost most contact with the quad. I’ve tried factory reset a couple of times with no change. I can connect via web interface but no parameters are accessible. About the only thing I get response from in System Status is the camera live stream. I even tried to update the quad via app and web interface and it appears to update but after update it says: Current Version: unknown unknown

Any help to re-establish contact is appreciated.

1 Like

All, I messed with parameters today trying to connect via tower (Serial_1
IIRC) and now I’ve lost most contact with the quad. I’ve tried factory
reset a couple of times with no change. I can connect via web interface but
no parameters are accessible. About the only thing I get response from in
System Status is the camera live stream. I even tried to update the quad
via app and web interface and it appears to update but after update it
says: Current Version: unknown unknown

Any help to re-establish contact is appreciated.

OK, so fiddling with the SERIAL1 parameters probably means the flight
control board can’t talk to the sonix board (hopefully) due to mismatched
baud rates. WAS it SERIAL1_BAUD you modified?

If so, recovery can be done by connecting to the debug console on port
2017 (using telnet) and using the baud command to change the baud rate the
Sonix is talking to the one the flight control board is talking.

Do you need me to talk you through that process?

Once this is sorted, we need to add the procedure here:
http://ardupilot.org/dev/docs/skyviper.html

Hey, I have an issue with my controller (wrote about it on another post) what is the baud rate and commands? I went to the link but didn’t see anything about it

I believe I changed Serial1 and probably Serial2 when it didn’t work. I have never connected to a debug console or used telnet so any help would be appreciated. Will any additional hardware be required? I’m happy to lend pictures and or writing to add to the group.

I believe I changed Serial1 and probably Serial2 when it didn’t work. I
have never connected to a debug console or used telnet so any help would be
appreciated. Will any additional hardware be required? I’m happy to lend
pictures and or writing to add to the group.

Realised we actually have this written down:

http://ardupilot.org/dev/docs/skyviper.html#development-console

If those are inadequate but you struggle through, feel free to update
those docs :slight_smile:

If you get stuck, ask again here :slight_smile:

1 Like

I was able to regain connection to the flight controller by setting the uart2 baudrate to 115200. The trouble I continued to have was each time I restarted the system I was left with no mavlink connection again. What I finally figured out was that I changed serial_0 data type from Mavlink2 to Mavlink1 instead of changing serial_1. Now everything is back to functioning properly. Thanks for your help Peter!

2 Likes

Thanks for your references, @peterbarker. However, I am still stuck: using JuiceSSH on my Android phone, I was able to connect via telnet on port 2017, and issue baudrate command to set it to 115200 (I had set Serial1_Baud to that while trying to get my drone to connect with Tower app on my phone). Still cannot connect to the flight controller, and like @James_Cox, I am only getting camera feeds and no telemetry. I am going to try FACRESET.TXT in the root of the SD card as soon as my battery is recharged from all the WiFi action while trying to get it working again.

FACRESET.TXT didn’t work, as far as I can tell (the file is gone, but the ArduPilot firmware version is still “unknown unknown”. Still can’t connect to Flight board. Remote can connect to it, at least, but won’t fly/arm.

Tried NVRAMRESET via telnet as well. No dice.

Is there a way to set configuration values on the Flight board via telnet, or is the entire issue that there is no way to communicate with the Flight board if the baud rate is wonky? I may have actually typed in 115200 instead of picking it from the dropdown (for it to set 115 as the literal value) so it could be some absurd, non-functional number that’s out of bounds of the field.

FACRESET.TXT didn’t work, as far as I can tell (the file is gone, but the
ArduPilot firmware version is still “unknown unknown”. Still can’t connect
to Flight board. Remote can connect to it, at least, but won’t fly/arm.

What do you mean by “Remote can connect to it” here?

What version of the ArduPilot firmware are you trying to use?
FACRESET.TXT only resets the Sonix board IIRC). To reset the flight
controller firmware you may need to drop a flight_fw.abin onto the SD
card.

Is there a way to set configuration values on the Flight board via telnet,
or is the entire issue that there is no way to communicate with the Flight
board if the baud rate is wonky? I may have actually typed in 115200
instead of picking it from the dropdown (for it to set 115 as the literal
value) so it could be some absurd, non-functional number that’s out of
bounds of the field.

Either of 115 or 115200 are valid values.

If you think you might have put something truly bizarre in here then we
might need to create a custom firmware to wipe parameters at boot. That’s
probably just a matter of creating a firmware with a different constant
here:

You’d then flash on a standard firmware (which will erase parameters
again).

The transmitter handset / manual controller. It will sing the song of its people for connection to the drone (and the drone LEDs stop blinking / go steady-on), and the transmitter and drone both know when the other has powered off / lost connection, because they react normally to those events. But pressing up on the left thumb stick does nothing.

arducopter-2017-11-24.abin. I tried dropping it in the root of the SD card, but it didn’t seem to do anything with it. I booted it up again and tried to connect with the Sky Viper app, and it complained about the controller/transmitter not being connected (the drone’s LEDs disagree), then wanted to do the firmware dance. IE, there was no change in behavior.

Thanks for the tip! I couldn’t find a tutorial on building firmware from source files into an abin file; is there one you know of? Otherwise, I’ll keep looking in the developer section.

Thank you for your help!

1 Like

arducopter-2017-11-24.abin. I tried dropping it in the root of the SD
card, but it didn¢t seem to do anything with it. I booted it up again and

After renaming it as I suggested? Did the file disappear after booting
with it?

  That¢s probably just a matter of creating a firmware with a
  different constant here:

Thanks for the tip! I couldn¢t find a tutorial on building firmware from
source files into an abin file; is there one you know of? Otherwise, I¢ll
keep looking in the developer section.

There’s lots of docs on the Wiki :slight_smile: If you need a quick-start you can
try using the Vagrant virtual machine.

.abin is an output format common to all vehicles, which is a little silly.

Any time you create a firmware we also generate a .abin - and you’d
typically find it here:

pbarker@bluebottle:~/rc/ardupilot(afs-compile-fixes)$ ls
build/skyviper-v2450/bin/arducopter.abin
build/skyviper-v2450/bin/arducopter.abin
pbarker@bluebottle:~/rc/ardupilot(afs-compile-fixes)$

1 Like

Aha, I missed the renaming part. My brain just saw that as “drop any abin file” and didn’t parse the specific file name “flight_fw.abin”. It ingested the file (it no longer appears in the root folder), and the LED you can barely see thru the top shell looked like it was chewing on it, but after it rebooted, it didn’t appear to have resolved the issue. Looks like I will need to create one on a VM or cygwin or something.

Let me know if you get stuck and I’ll make you one up. Another option for
a recovery firmware would be to have one that’s locked to a specific
baudrate (625000) on SERIAL1.

I know your memory is probably rather hazy on this - but how sure of the
baud rate setting are you - and to confirm, you were aiming for 115,200?

Thanks! I’ll reply here whether my attempts to build an abin file succeed or fail, or if I get stuck.

Good idea; I’ll give that a shot.

Yes. I am fairly certain that was it. I thought I needed to change that for Tower to be able to connect (but I’m guessing that was a faulty assumption on my part; maybe it hadn’t switched to Mavlink1 when I changed SERIAL1_PROTOCOL to that value).

Aha! This page: http://ardupilot.org/copter/docs/skyrocket-software.html

And this page: http://firmware.sky-viper.com/V2450GPS/

I downloaded an older SkyRocket official FW to try overwriting, but it didn’t seem to work, nor did updating from that to the newest again (if it took). Also tried setting baudrate to 0 and -1 (the latter defaulted to 4 billion something, so whatever max unsigned 32 bit integer is).

Still stuck. Tried the latest ArduPilot FW as well as latest official SkyRocket FW, no dice. Tried factory reset via web API again, no dice. I am about flummoxed!

Might I take you up on this? I’m kind of at a loss at this point of what to do, short of taking the thing apart and trying to chop up the hardware in an effort to get the flight board parameters to reset to factory defaults.

I read somewhere that sometimes the only way to get it to write the parameters is to load a different AP firmware to the board. Meaning, not a different version of ArduCopter, but a DIFFERENT AP, like ArduPlane, or ArduRover, and the reloading ArduCopter…not sure the legitimacy of that suggestion…but i think i saw it on the wiki somewhere.

I had read the same, but when I tried to load ArduRover FW, it didn’t
attempt the flash. Mighta been wrong format. The ArduRover FW file I tried
had no extension, so I was skeptical of it working. I would gladly try
again with a correct FW file for a non-quad-copter unit.

The skyviper looks for a specific filename and extension

Right. I had missed that initially (thanks @peterbarker) but I renamed the
file to flight_fw.abin, just as with other attempts to flash. No dice. I
have gotten it to flash with copter FWs (the light under the shell blinks,
goes solid, then blinks again like normal boot) but this rover file didn’t
do that. And didn’t disappear from root after boot like it normally would.