Emlid

Community Forum

After Raspbian update unable to start emlid tool


(Palo Sestak) #1

Hallo there,
today I was about to configure mu arduplane on emlid2+raspberyII. When connected with Mission Planner I got message the new Aprduplane is available. Since current version on my raspberry was 3.9.0 I decided to update it. So I connected with PuTTY and typed:
sudo apt-get update && sudo apt-get dist-upgrade
After raspbian got updated I wanted to start emlid tool:
emlidtool ardupilot
Then I got unpleasant message like:

Traceback (most recent call last):
File “/usr/local/bin/emlidtool”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 355, in main
emlidtool.parse_args()
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 258, in parse_args
getattr(self, args.command)()
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 286, in ardupilot
self.func(ardupilot, args)
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 333, in func
args.func(args)
File “/usr/local/lib/python3.5/dist-packages/emlid/util/util.py”, line 37, in wrapped
return fn(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 51, in do_ardupilot
main_window = MainWindow(rcio_update)
File “/usr/local/lib/python3.5/dist-packages/emlid/ui/mainwindow.py”, line 455, in init
self._info_widget = InfoWidget()
File “/usr/local/lib/python3.5/dist-packages/emlid/ui/mainwindow.py”, line 54, in init
self._emlidtool_version = Emlidtool.get_version()
File “/usr/local/lib/python3.5/dist-packages/emlid/ui/mainwindow.py”, line 45, in get_version
version = pkg_resources.require(“emlidtool”)[0].version
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 963, in require
needed = self.resolve(parse_requirements(requirements))
File “/usr/lib/python3/dist-packages/pkg_resources/init.py”, line 854, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (six 1.12.0 (/usr/lib/python3.5/dist-packages), Requirement.parse(‘six==1.10.0’), {‘emlidtool’})

Has anybody here hint for me, how to fix it please?
P.


(Tatiana Andreeva) #3

Hi @lospalos,

It seems there is a package six that requires another version (1.10.0). You can install it using pip.


(Palo Sestak) #4

With python installation I’m quite beginner. Please would you specify more precisely how to get there python 1.10.0?


(Palo Sestak) #5

Anyway should not be also emlidtool updated? I mean - I read documentation carefully and according to it I just tried to update my autopilot - see the section about Upgrading (https://docs.emlid.com/navio2/common/ardupilot/upgrade/)
I followed the instructions and now I have got not working emlidtool :frowning:
How is it with emlidtool, should it to be upgraded to? Should I have to add some new repository for apt to make it upgrade?


(Palo Sestak) #6

Now I tried to reinstal emlidtool with apt remove and apt install but it didn.t help. Now when trying to start emlidtool get more strange error:
pi@navio:~ $ sudo emlidtool ardupilot
Traceback (most recent call last):
_ File “/usr/local/lib/python3.5/dist-packages/emlid/rcio/versionchecker.py”, line 64, in copy_to_binary_
_ check_output(command, shell=True, stderr=STDOUT)_
_ File “/usr/lib/python3.5/subprocess.py”, line 316, in check_output_
_ **kwargs).stdout_
_ File “/usr/lib/python3.5/subprocess.py”, line 398, in run_
_ output=stdout, stderr=stderr)_
subprocess.CalledProcessError: Command ‘objcopy -O binary /lib/firmware/rcio.fw /tmp/tmpbxni2et8’ returned non-zero exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/bin/emlidtool”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 355, in main
emlidtool.parse_args()
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 258, in parse_args
getattr(self, args.command)()
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 286, in ardupilot
self.func(ardupilot, args)
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 333, in func
args.func(args)
File “/usr/local/lib/python3.5/dist-packages/emlid/util/util.py”, line 37, in wrapped
return fn(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/emlid/emlidtool.py”, line 49, in do_ardupilot
if FirmwareVersionChecker().update_needed():
File “/usr/local/lib/python3.5/dist-packages/emlid/rcio/versionchecker.py”, line 71, in update_needed
self._firmware_crc = self.calculate_crc()
File “/usr/local/lib/python3.5/dist-packages/emlid/rcio/versionchecker.py”, line 50, in calculate_crc
self.make_tmp()
File “/usr/local/lib/python3.5/dist-packages/emlid/rcio/versionchecker.py”, line 59, in make_tmp
self.copy_to_binary()
File “/usr/local/lib/python3.5/dist-packages/emlid/rcio/versionchecker.py”, line 67, in copy_to_binary
raise InappropriateFirmwareError(‘There is an error while updating firmware.\n’
emlid.rcio.versionchecker.InappropriateFirmwareError: There is an error while updating firmware.
Please make sure that you have chosen an appropriate one and try again

How can I reinstall ardupilot? When listing apt I get these packages starting with ardu:
arduino/stable 2:1.0.5+dfsg2-4.1 all
arduino-core/stable 2:1.0.5+dfsg2-4.1 all
arduino-mighty-1284p/stable 1-2 all
arduino-mk/stable 1.5.2-1 all
ardupilot-meta-3.5/unknown,now 3.5.7-2.0 armhf [installed]
ardupilot-navio-copter-3.5/unknown,now 3.5.7-1.0 armhf [installed,automatic]
ardupilot-navio-plane-3.8/unknown 3.8.5-2.0 armhf
ardupilot-navio-plane-3.9/unknown,now 3.9.0-1.0 armhf [installed,automatic]
ardupilot-navio-rover-3.2/unknown 3.2.0-rc1-2.0 armhf
ardupilot-navio-rover-3.3/unknown 3.3.0-2.0 armhf
ardupilot-navio-rover-3.4/unknown,now 3.4.2-1.0 armhf [installed,automatic]
ardupilot-navio-sub-3.5/unknown,now 3.5.3-1.0 armhf [installed,automatic]
ardupilot-navio2-copter-3.5/unknown,now 3.5.7-1.0 armhf [installed,automatic]
ardupilot-navio2-plane-3.8/unknown 3.8.5-1.0 armhf
ardupilot-navio2-plane-3.9/unknown,now 3.9.0-1.0 armhf [installed,automatic]
ardupilot-navio2-rover-3.2/unknown 3.2.0-rc1-2.0 armhf
ardupilot-navio2-rover-3.3/unknown 3.3.0-1.0 armhf
ardupilot-navio2-rover-3.4/unknown,now 3.4.2-1.0 armhf [installed,automatic]
ardupilot-navio2-sub-3.5/unknown,now 3.5.3-1.0 armhf [installed,automatic]
ardupilot-service-3.5/unknown,now 3.5.7-1.0 armhf [installed,automatic]

Which should I remove and install again?


(Tatiana Andreeva) #7

Hi @lospalos,

You can reinstall six package using the following commands:
sudo pip uninstall six
sudo pip install six==1.10.0

Could you please post the output of apt show rcio-firmware command?

May I ask you to clarify why do you want to reinstall ardupilot?


(Palo Sestak) #8

Hi Tatiana,
I decided to use completely new image from emlid, so now it is OK.
Anyway the latest Arduplane I can get from emlid is 3.8. And when starting Missionplanner I get hint on newer version of Arduplane: 3.9.5. It is quite big difference. So the question is why emlid doesn’t update arduplane (or even arducopter) to the latest version from Ardupilot project? I mean it sould be updated when I start
sudo apt-get update && sudo apt-get dist-upgrade
but it isn’t :frowning:
So when I want to use latest version of Arduplane (3.9.5) I have to download it from builds: http://firmware.ardupilot.org/Plane/stable/navio2/arduplane
and manually replace current version set by emlidtool (which for now is 3.8). It is located somewhere in /etc/default I guess. This is but not clear solution, since emlidtool would display still version 3.8, isn’t it?


(Tatiana Andreeva) #9

Hi @lospalos,

We’ll update ArduPilot version to the latest stable in the nearest time.

Thanks!