Update 1.3.1 to Open Solo 4 dev via SSH/Sftp

Joined
Sep 3, 2016
Messages
6
Reaction score
5
I got stuck upgrading from 3dr original firmaware 1.3.1 to open solo 4 dev using SSH and SFTP. I loaded arducopter.apj (4 Dec 2019) into the solo /firmware directory and rebooted and nothing changed!
I found in the instructions: "ArduCopter 3.7 uses the new ChibiOS RTOS. The firmware files have a file extension of *.apj. Due to the file extension change, the firmware will not load without some additional file changes. The beta testing packages in Solex and SidePilot include this"
What are the file changes and what is the process for installing ardupilot.apj instead of .px4? I don't have Solex or Sidepilot and prefer to use SSH/SFTP
 
Ah, you found a bug in the instructions. The automated scripts copy some updated python files to the copter at the same time to make that work. You'll need to put the new pixhawk.py and uploader.py files in the /usr/bin directory and reboot (delete what you had in the /firmware folder first). While you're in there, make sure those new files you copied in have execute permissions. Then retry the copter firmware.

Right click, save as on these two files.
https://raw.githubusercontent.com/OpenSolo/OpenSolo/master/sololink/flightcode/python/pixhawk.py
https://raw.githubusercontent.com/OpenSolo/OpenSolo/master/sololink/px_uploader/uploader.py
 
Ah, you found a bug in the instructions. The automated scripts copy some updated python files to the copter at the same time to make that work. You'll need to put the new pixhawk.py and uploader.py files in the /usr/bin directory and reboot (delete what you had in the /firmware folder first). While you're in there, make sure those new files you copied in have execute permissions. Then retry the copter firmware.

Right click, save as on these two files.
https://raw.githubusercontent.com/OpenSolo/OpenSolo/master/sololink/flightcode/python/pixhawk.py
https://raw.githubusercontent.com/OpenSolo/OpenSolo/master/sololink/px_uploader/uploader.py
Matt,
Thanks for all the work you have done on open solo. You have injected new life into the solo!
I don't think there is a bug in the instructions. They just did not address updating from the old 3DR firmware to open solo for the black cube via SSH.
Could you take a quick look at the instruction summary before I proceed?
Should anything be done with artoo_2019-09-29_01-59.bin??
Install instructions for SSH/SFTP to upgrade from 3dr 1.3.1 to open solo 4
SSH into the copter with IP 10.1.1.10, username root, password TjSDBkAu
  • Put the new pixhawk.py and uploader.py files in the /usr/bin directory with execute permissions
  • Delete what you had in the /firmware folder
  • Reboot
  • Copy ardupilot.apj (Dec 2019 version) to /firmware
  • Reboot and it should install ardupilot v3.7
Then
SSH into the copter with IP 10.1.1.10, username root, password TjSDBkAu.
# sololink_config --update-prepare sololink cleans up and prepares the directories.
Copy 3dr-solo.tar.gz and 3dr-solo.tar.gz.md5 to the /log/updates directory on the copter.
# sololink_config --update-apply sololink --reset executes the update and reboots.
And
SSH into the controller with IP 10.1.1.1, username root, password TjSDBkAu
# sololink_config --update-prepare sololink cleans up and prepares the directories.
Copy 3dr-controller.tar.gz and 3dr-controller.tar.gz.md5 to the /log/updates directory on the controller.
# sololink_config --update-apply sololink --reset executes the update and reboots.
Then:
SSH into the copter with IP 10.1.1.10, username root, password TjSDBkAu.
# sololink_config --make-golden executes the update. Disconnect when complete.
SSH into the controller with IP 10.1.1.1, username root, password TjSDBkAu
# sololink_config --make-golden executes the update. Disconnect when complete.
Thanks
Tony
 
  • Like
Reactions: SJS3DR
Yes that is all correct.

When you do that ArduCopter firmware update, it may not give you the final happy tones/lights. So if after a few minutes it is still just sitting there, manually power cycle the copter. It should power up again happy and glad with ArduCopter 4.0 installed (it is 4.0, not 3.7 at this point).
 
Thanks for your instructions, it worked.
I did the update and am now on opensolo 4-dev with arducopter 4
One minor problem
I get a message on the solo android app to update to version 2.4.2
It says "you must update your vehicle to access smart shots.....no other changes since 2.4.1???
Also what is artoo.bin?
Best regards
Tony
 
The old 3DR app is not compatible with many many things today. It hasn't been updated by 3DR since 2016. You're getting that error message because the app doesn't like the version number 4-dev. It will do that with any version number that isn't clean numbers. Ignore the error, and really I wouldn't suggest using the 3DR app anymore.
 
This just helped me out a lot, thank you! I did the same process from stock solo to opensolo 3.0 via ssh and then trying to go to 4.0-dev again via ssh. The python file update was the key to getting it done. I use SSH method because the Solex app does not show me any software to pick in the update menu and the refresh option is grayed out. Not sure why Solex does not show this. Maybe because I am new to it and did something wrong there. I also cannot find the calibration options in Solex, so I used the old 3dr app to activate level and compass calibrations.
Thanks again for all the great work keeping these solo's up to date.
Dale
 
Hard thread necro, don't mind me...

So I am blasphemously devoid of any understanding of python or linux. After transferring the pixhawk.py and uploader.py files from the opensolo 4.0 directory to the drone via winSCP - how do I ensure that the files have execute permissions? can I open the files in notepad++ and just check a flag? or is there some other associated means?
also, when running the command # sololink_config --update-prepare in the command shell of winSCP it becomes stuck and I get the loading circle of death.

where have I gone wrong? I am currently working on a older solo which hasn't flown before. It previously showed the arducopter version as 1.2.0 before I overwrote that with the arducopter 4.0.1CubeSolo.abj

was I supposed to use arducopter v3_3.5.4.Solo.px4 instead?

When I followed the above directions, I deleted the firmware I had previously installed, transferred the pixhawk and uploader files from the opensolo 4.0 file pack and restarted the drone. It gave me some weird behavior with a constant beeping - but once the disco lights stopped I transferred arducopter 4.0.1CubeSolo.abj and then restarted. After that I ran into the issue with the command shell glitching out, which I ran into before when trying to follow the directions given on the wiki for open solo 4 install via SSH and the arducopter firmware install.

any clarification or help would be much appreciated. thanks!
 
This is how I did it if I remember correctly:
using SSH terminal change directory to /usr/bin using cd
check content ls -l
then change permissions with:
chmod 777 pixhawk.py or chmod 777 /usr/bin/pixhawk.py and chmod 777 /usr/bin/uploader.py
then check result withcommand:
ls -l

from
Using the octal notations table instead of ‘r’, ‘w’ and ‘x’. Each digit octal notiation can be used of either of the group ‘u’,’g’,’o’.
So, the following work the same.
chmod ugo+rwx [file_name]
chmod 777 [file_name]
 
  • Like
Reactions: AllHailTheRossman
okay so running the list command worked fine, and I think I understand the security notations.
but feel free to correct me if I am wrong.

-rwxrwxrwx 1 root root 24845 Jan 26 2020 pixhawk.py (This is good, everything here is readable, writeable and excuteable by all groups)
-rw-r--r-- 1 root root 37593 Jan 26 2020 uploader.py (This needs to be changed)

Now the items causing me some trouble is my attempts at using the chmod command. no matter how I format the command, it doens't seem to do anything other then list itself in the commandshell. Im going to try again here momentarily and see if it is changing the security notation of uploader.py - and theres just no output for the command, or if its actually doing nothing....
AND THERES JUST NO OUTPUT!

uploader now reads like this : -rwxrwxrwx 1 root root 37593 Jan 26 2020 uploader.py
which means it is readable and writeable and executable by all groups! - right?

I'm going to contiune on with the rest of the steps as normal... However I've noticed that the aruducopter firmware has restricted rights (rw-r--r--) should this also be modified to rwxrwxrwx or should the firmware permissions be left alone?

.... And the command shell in WinSCP still hard locks up when running the command "# sololink_config --update-prepare sololink"
I'm trying to jump straight to open solo 4 and using the 2021 release of arduocopter 4.0.1cubesolo.apj
would downgrading to the 2019 release fix these shell crashes?
 
Looks like your read write execute is ok.
I can't remember but maybe you don't need # in front of the config cmd.
The first cmd is(maybe with #??),the end of the line is not part of the cmd:
sololink_config --update-prepare sololink
The next cmd after loading the tar.gz is
sololink_config --update-apply sololink --reset
I am just a user and not that familiar with linux.
Pedals2Paddles modified the sw but does not seem to be available anymore.
After doing this yo need to wait to be sure it has updated and then reboot ans pair to the controller
 
  • Love
Reactions: AllHailTheRossman
Thank you soo much for your help! it turns out the # was bad syntax and not needed. I was able to get both the controller and the drone updated! now I just need to wrangle my way through the calibration process!

Thank you!
 
Hmm, @Pedals2Paddles seems after 2 years the wiki bug is still not fixed :-< I've also found an old link to your forked OpenSolo

How do I submit a PR to a wiki? Is it even possible on github? There are some other obsolete parts after 4.0 release:

 
Hello guys, i have bought a brand new 3dr solo drone a few years ago and since the solo app does not work on android 10 and updating the 3dr solo trought Solex app fails, as also im not having an apple phone or pad the only left solution is to trying update it via SSH. Im on Windows 11 what SSH program is best to perform this operation? I have already tried WinScp but with it i can see the directories and files into the controller and the copter, but not know what i have to do to execute the commands.
Ah please if you guys can confirm if this guide is still good: Install via SSH ,or i will need to do a few extra steps in order to do it the best way? Eventually if you guys can write a more detailed, complete step by step guide to avoid unecessary confusion and problems on the drone. Even if the steps already written by sailor34 and Pedals2Puddles above seemto be already clear.
 
Last edited:
Hello guys, i have bought a brand new 3dr solo drone a few years ago and since the solo app does not work on android 10 and updating the 3dr solo trought Solex app fails, as also im not having an apple phone or pad the only left solution is to trying update it via SSH. Im on Windows 11 what SSH program is best to perform this operation? I have already tried WinScp but with it i can see the directories and files into the controller and the copter, but not know what i have to do to execute the commands.
Ah please if you guys can confirm if this guide is still good: Install via SSH ,or i will need to do a few extra steps in order to do it the best way? Eventually if you guys can write a more detailed, complete step by step guide to avoid unecessary confusion and problems on the drone. Even if the steps already written by sailor34 and Pedals2Puddles above seemto be already clear.
Hi,
It should work.
You will use your existing WinSCP program to copy those files into the directories specified. Once you have downloaded the files to your PC, you can simply drag and drop them into SOLO and controller (the wiki specifies where they go). That being done:

You need an app called PuTTY - get it here: Download PuTTY - a free SSH and telnet client for Windows This allows you to directly communicate with SOLO/Controller and enter commands.

Using this is similar to WinSCP - assuming the SOLO, login as 10.1.1.10 to Port 22, which should be the default. You have the SOLO password.

A new window will open. The login is 'root' and it wants the same password. At that point you enter the commands from the "Install via SSH" wiki. NOTE: they show the # with those commands. The # is actually the prompt, just enter what they say following the #.

Hope this helps. As an aside, if you're happy working on electronics, you can open up the SOLO and controller. There is an SD card in each. It's straight forward - each card is reprogrammed with a single file each. After reinserting the cards (and putting everything back together) you are immediately good to fly following the required calibrations to the gyros and magnetometer. If interested in that route, the details are on this site.

Best luck, John
 
  • Like
Reactions: Hu3aN0iD
Hi,
It should work.
You will use your existing WinSCP program to copy those files into the directories specified. Once you have downloaded the files to your PC, you can simply drag and drop them into SOLO and controller (the wiki specifies where they go). That being done:

You need an app called PuTTY - get it here: Download PuTTY - a free SSH and telnet client for Windows This allows you to directly communicate with SOLO/Controller and enter commands.

Using this is similar to WinSCP - assuming the SOLO, login as 10.1.1.10 to Port 22, which should be the default. You have the SOLO password.

A new window will open. The login is 'root' and it wants the same password. At that point you enter the commands from the "Install via SSH" wiki. NOTE: they show the # with those commands. The # is actually the prompt, just enter what they say following the #.

Hope this helps. As an aside, if you're happy working on electronics, you can open up the SOLO and controller. There is an SD card in each. It's straight forward - each card is reprogrammed with a single file each. After reinserting the cards (and putting everything back together) you are immediately good to fly following the required calibrations to the gyros and magnetometer. If interested in that route, the details are on this site.

Best luck, John
Correction: "Immediately" is not 100% accurate as in addition to programming the SD cards, the cube in the Solo must be reflashed. Files on the site. Best Luck!
 
  • Like
Reactions: Hu3aN0iD
Correction: "Immediately" is not 100% accurate as in addition to programming the SD cards, the cube in the Solo must be reflashed. Files on the site. Best Luck!
Hi Again, Should you be interested in manually updating the SD cards, follows is the link (in this site) - forgot last night... :


John
 
Thank you so muck for the support, i have downloaded all the required files, by the way after doing that i noticed there are 3 versions of arducopter there is a CubeGreen-Solo a CubeSolo and an OrangeSolo one, wich one is the correct version for my drone now my drone is like this one shown in this video
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
,Just in case there are many versions of it i not know but this shown in the launch video is the exact one im owning and the triangle on the logo is green not know if this mean something but by the way i think i can exclude the OrangeCube one, but still not know if i have to put the CubeGreen or the CubeSolo one?

Ah i also noticed there is a bin file called artoo_2020-01-26_18-55.bin but on the guide its not mentioned where or what to do with this file.
 
Last edited:
Thank you so muck for the support, i have downloaded all the required files, by the way after doing that i noticed there are 3 versions of arducopter there is a CubeGreen-Solo a CubeSolo and an OrangeSolo one, wich one is the correct version for my drone now my drone is like this one shown in this video
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
,Just in case there are many versions of it i not know but this shown in the launch video is the exact one im owning and the triangle on the logo is green not know if this mean something but by the way i think i can exclude the OrangeCube one, but still not know if i have to put the CubeGreen or the CubeSolo one?
Go with the CubeSolo. It's almost 100% certain that's in your bird. I just upgraded a Solo for a friend - CubeSolo. Mine is as well. The Green Cube was an original "fix" for SOLO that dealt with an electrical signalling issue - the OpenSolo 4 firmware addressed that issue, allowing the safe use of the original, stock Cube. Again, Best Luck John (CharlieKeck)
 
  • Like
Reactions: Hu3aN0iD

Members online

No members online now.

Forum statistics

Threads
13,093
Messages
147,741
Members
16,048
Latest member
ihatethatihavetomakeanacc