Two dead Piksi's after FW update - HELP please

87 views
Skip to first unread message

Paul Bouchier

unread,
Feb 5, 2017, 10:23:32 AM2/5/17
to swiftnav-discuss
I was trying to test my ROS driver against the latest Piksi FW & sbp library. I updated my Ubuntu PC with the latest console, then tried to update the Piksi's (which I'd successfully updated prior to this console upgrade, but they were not at the latest FW rev & the console complained. I followed the instructions on the FW update page at http://docs.swiftnav.com/wiki/HOW-TO:_Flashing_the_Piksi_firmware_using_the_bootloader

The stm firmware on Piksi #1 upgraded successfully but I didn't see it upgrade the nap FW. The Piksi was sitting there with both red & green lights flashing rapidly, and the console said the nap FW was at the latest rev (BUG - it wasn't). I foolishly rebooted, and now at startup I see the red LED flash rapidly for a few seconds then both go off, and the console prints:
ERROR NAP firmware version >= v0.16 require, please update!(instructions at....)
continuously. Both LEDs are off.

I then tried to upgrade Piksi #2. This time I pushed the upgrade nap button after the stm FW had been upgraded. It was upgrading when I had an accidental disconnect of USB. Now the console just prints:
Loaded settings yaml file....
Number of settings loaded 101
and hangs.
No LEDs are on

I tried to use the bootloader following the instructions on this page:
http://docs.swiftnav.com/wiki/HOW-TO:_Flashing_the_Piksi_firmware_using_the_bootloader
However the boot loader doesn't work in accordance with the instructions: if I start it with no cable attached per the instructions, it exits immediately complaining about no serial port. If I plug it in then immediately run the program while the red like is flashing quickly, or after, it gives this error:
piksi_tools $ python bootload.py -s ../piksi_firmware_v0.21.hex
Waiting for bootloader handshake message from Piksi ...
Traceback (most recent call last):
  File "bootload.py", line 227, in <module>
    main()
  File "bootload.py", line 193, in main
    handshake_received = piksi_bootloader.handshake(args.timeout[0])
  File "bootload.py", line 105, in handshake
    self.link(MsgReset())
  File "/usr/local/lib/python2.7/dist-packages/sbp/piksi.py", line 339, in __init__
    self.flags = kwargs.pop('flags')
KeyError: 'flags'

This happens regardless of the -m or -s or -t flags. Also, the console won't exit cleanly - I have to ^C in the window. I get the same error when trying to update Piksi #1 which is alive enough to tell the console it needs new nap firmware.

Please help me resuscitate my Piksis.

Thanks

Paul Bouchier



Clive Turvey

unread,
Feb 16, 2017, 11:37:22 PM2/16/17
to swiftnav-discuss
Really not looking to wade into this too deeply, one potential course of action would be to push firmware via the JTAG/SWD debug header using an ST-LINK + Utilities. If it has the older NAP firmware, you could push in STM32 firmware that is contemporaneous with that and then reinitiate the update from there using the console.

The console update needed the radio link removed/suppressed to be successful.

I also seem to recall a way of using the boot loader, but I'm afraid it has been too long since I last fiddled with that to provide any clear directions.

Paul Bouchier

unread,
Feb 20, 2017, 5:04:37 AM2/20/17
to swiftnav-discuss
Thanks for the suggestions Clive. I resuscitated one by using the pre-compiled Windows console - it talked to the bootloader just fine. The console I had been using was compiled on linux & apparently didn't work properly with the bootloader. One down, one to go.

Paul
Reply all
Reply to author
Forward
0 new messages