Can't update ArduSub

I am getting the ArduSub version “Not found” error.
image

When I click “stable” it comes up with an error, and appears to be downloading the upfate from this website, which doesn’t exist: https://firmware.ardupilot.org/Sub/beta/PX4/ArduSub-v2.px4

Is there another way I can use the companion computer to update the firmware? It’s not an internet issue as I can successfully ping ardusub.com. I’d rather not take the electronics out and connect the pixhawk to update through QGC if possible.

Hi @SUIFCA, that’s from a bug in companion that was fixed a while ago. Please try updating companion first :slight_smile:

1 Like

Thanks Eliot. These issues actually started after I updated companion to 0.0.28. It was working fine before (with 0.0.17). Updating to 0.0.28 gave me the bug where I had the missing wifi SSID (even though it was meant to fix it) so I went back to 0.0.21. Now I am getting this missing ArduSub issue. I will try and update to 0.0.28 again today to see if I can solve the issue, but last night it was aborting the update after failing to download a mavlink update (I think). Will post more details once I have tried to run it again.

1 Like

Hi Eliot,

I still can’t update the Companion software. I’ve copied the info from the system log below. You can see the error right at the end. Any idea? I’ve also been trying to install previous versions through http://192.168.2.2:2770/git but getting the same “ImportError: No module named future” when updating mavlink.

Jen

STARTING UPDATE
SSH_AGENT_PID=978 TERM=screen SHELL=/bin/bash USER=pi SUDO_USER=root SUDO_UID=0 TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ :li#24:co#80:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\ :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\ :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\ :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ :ti=\E[?1049h:te=\E[?1049l:Km=\E[M:k0=\E[10~:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ :kh=\E[1~:@1=\E[1~:kH=\E[4~:@7=\E[4~:kN=\E[6~:kP=\E[5~:\ :kI=\E[2~:kD=\E[3~:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD: SSH_AUTH_SOCK=/tmp/ssh-T1Vi8kfm09UL/agent.977 USERNAME=pi PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin MAIL=/var/mail/pi STY=865.webui PWD=/home/pi/companion/br-webui LANG=en_GB.UTF-8 HOME=/home/pi SUDO_COMMAND=/usr/bin/screen -dm -S webui /home/pi/companion/scripts/start_webui.sh SHLVL=2 COMPANION_DIR=/home/pi/companion LOGNAME=pi WINDOW=0 SUDO_GID=0 _=/usr/bin/printenv
The update process will begin momentarily.
This update may take more than 15 minutes.
Please be patient and DO NOT REMOVE POWER FROM THE ROV!
adding lock
removing old backup
backup current repo
stashing local changes
No local changes to save
tagging revert-point as a9a744951fdee4fd7480963dfa53e30aec23ba4e
Updated tag ‘revert-point’ (was 5c0feac)
Check for local changes to save.
No local changes to save
using tag reference
fetching
moving to f636d9a5d347a92e4ecba60f50797145c755bd88
HEAD is now at f636d9a ping1d_mavlink_driver: set_ping_interval once at startup
running post-update
STARTING POST UPDATE
SSH_AGENT_PID=978 SHELL=/bin/bash TERM=screen USER=pi SUDO_USER=root SUDO_UID=0 SSH_AUTH_SOCK=/tmp/ssh-T1Vi8kfm09UL/agent.977 TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\ :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\ :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\ :li#24:co#80:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\ :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\ :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\ :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\ :ti=\E[?1049h:te=\E[?1049l:Km=\E[M:k0=\E[10~:k1=\EOP:\ :k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\ :k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ :kh=\E[1~:@1=\E[1~:kH=\E[4~:@7=\E[4~:kN=\E[6~:kP=\E[5~:\ :kI=\E[2~:kD=\E[3~:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD: USERNAME=pi MAIL=/var/mail/pi PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin STY=865.webui PWD=/home/pi/companion LANG=en_GB.UTF-8 SHLVL=3 SUDO_COMMAND=/usr/bin/screen -dm -S webui /home/pi/companion/scripts/start_webui.sh HOME=/home/pi COMPANION_DIR=/home/pi/companion LOGNAME=pi WINDOW=0 DEBIAN_FRONTEND=noninteractive SUDO_GID=0 _=/usr/bin/printenv
run npm install
webui@0.0.1 /home/pi/companion/br-webui
├─┬ body-parser@1.19.0
│ ├── bytes@3.1.0
│ ├── content-type@1.0.4
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── depd@1.1.2
│ ├─┬ http-errors@1.7.2
│ │ ├── setprototypeof@1.1.1
│ │ ├── statuses@1.5.0
│ │ └── toidentifier@1.0.0
│ ├─┬ iconv-lite@0.4.24
│ │ └── safer-buffer@2.1.2
│ ├── qs@6.7.0
│ ├── raw-body@2.4.0
│ └─┬ type-is@1.6.18
│ └─┬ mime-types@2.1.32
│ └── mime-db@1.49.0
├── cors@2.8.5
├─┬ express@4.15.2
│ └─┬ finalhandler@1.0.3
│ └─┬ debug@2.6.7
│ └── ms@2.0.0
├─┬ http-proxy@1.18.1
│ ├── eventemitter3@4.0.7
│ ├── follow-redirects@1.14.3
│ └── requires-port@1.0.0
└─┬ node-file-manager@0.4.6
└─┬ koa-morgan@0.3.0
└─┬ morgan@1.8.2
└─┬ debug@2.6.8
└── ms@2.0.0

Updating submodules…
Synchronizing submodule url for ‘submodules/MAVProxy’
Synchronizing submodule url for ‘submodules/mavlink’
Checking mavlink status…
mavlink needs update.
Submodule path ‘submodules/mavlink’: checked out ‘8d8fb9c529b5b11b2eca8c8b162e4b5018700b7d’
Submodule path ‘submodules/mavlink/pymavlink’: checked out ‘df125236b6769eae913f2c71712fa24ecbfa0078’
Installing mavlink…
running build
running build_py
Traceback (most recent call last):
File “setup.py”, line 158, in
ext_modules = extensions
File “/usr/lib/python2.7/distutils/core.py”, line 151, in setup
dist.run_commands()
File “/usr/lib/python2.7/distutils/dist.py”, line 953, in run_commands
self.run_command(cmd)
File “/usr/lib/python2.7/distutils/dist.py”, line 972, in run_command
cmd_obj.run()
File “/usr/lib/python2.7/distutils/command/build.py”, line 128, in run
self.run_command(cmd_name)
File “/usr/lib/python2.7/distutils/cmd.py”, line 326, in run_command
self.distribution.run_command(command)
File “/usr/lib/python2.7/distutils/dist.py”, line 972, in run_command
cmd_obj.run()
File “setup.py”, line 93, in run
generate_content()
File “setup.py”, line 21, in generate_content
from generator import mavgen, mavparse
File “/home/pi/companion/submodules/mavlink/pymavlink/generator/mavgen.py”, line 12, in
from future import standard_library
ImportError: No module named future
Failed to install mavlink; Aborting update
Rebooting to repair installation, this will take a few minutes
Please DO NOT REMOVE POWER FROM THE ROV! (until QGC makes a connection again)

Not sure what’s gone wrong here, although there have been some issues recently more generally with pip (Python’s package index manager), perhaps this is from another case of that.

It seems like for some reason the future module isn’t installed. You can install it by typing

sudo python -m pip install --user future

into the terminal, which might fix your update issue, but if this is due to some underlying problem that’s occurred at some point in your various update/downgrade attempts then it’s possible there’ll be several more issues after it, in which case your best bet is likely to flash an image directly (which unfortunately requires opening the enclosure). If that does end up being the case, you may as well update the Pixhawk while you’re at it.

If the future install doesn’t help and you’re very against opening your enclosure then the software team may have some further insights/things to try, but generally at a point like this the most efficient use of time is to flash on a working image rather than trying to hunt down and fix some arbitrary number of things that may have gone wrong across multiple failed updates.

If it’s helpful, I’ve covered the easiest way of accessing the enclosure electronics here.

1 Like

I’ve managed to get it working! I got an old version 0.0.21 to install, which then allowed me to update Ardusub latest version. I was then able to update to 0.0.28 (which made Ardusub go back to “version not found”) and then update ardusub again to the latest version. I spoke to the guys that we purchased the ROV from and they suggested that maybe there was too much of a difference between them when I tried to update from 0.0.17 to 0.0.28.

The only issue I have now, is the wifi SSID is missing (so this bug doesn’t seem to have been solved in the Companion 0.0.28 release):

Thank you for your help! I’m leaving it for now as we need to use the ROV tomorrow and it’s currently working. I’ll save this thread in case I need to go back to it though!

Glad to hear it :slight_smile:

This shouldn’t be an issue - part of the update process pulls the latest updating code, which then does the relevant steps for each version later than the current one.

I’d guess that the most likely scenario here is some weird leftover from a broken update or similar. If you want you can check if there are any error messages in the network service with

sudo screen -r network-service

(press CTRL+a+d to detach once you’ve looked).

If there is an easy fix it’s probably running

cd ~/companion/services/network/ && sudo pip3 install . && cd -

in the terminal, which you can also safely do even if there aren’t problems :slight_smile:

1 Like