In case anyone else is having problems, I had trouble with getting Mission Planner to work on Linux after about version 1.2.36. I was getting various "System.TypeLoadException" errors.
Anyway, as I understand, MP has been upgraded to use a newer version of .net and that means some other packages need installing.
So, to ensure MP 1.2.36 and up works properly on Ubuntu (tested on my Ubuntu Quantal laptop and Ubuntu Precise netbook) install the following packages:
sudo apt-get install mono-runtime libmono-winforms2.0-cil libmono-corlib2.0-cil libmono-system-web4.0-cil libmono-system-management4.0-cil
It's important to mention that current 1.2.43 version fails to start with:
Unhandled Exception: System.TypeLoadException: Could not load type 'ArdupilotMega.Program' from assembly 'ArdupilotMegaPlanner10, Version=1.1.4849.35552, Culture=neutral, PublicKeyToken=null'.
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'ArdupilotMega.Program' from assembly 'ArdupilotMegaPlanner10, Version=1.1.4849.35552, Culture=neutral, PublicKeyToken=null'.
- it's reported -
I installed John Leach's package and showed an error at start up. the program opens, but doesn't show COM4 (it stays on AUTO)
Also tried with Wine and seemed to work better. it started up with no errors, but still doesn't show COM4.
the command 'usb-devices' shows the FTDI connected though.
I will keep searching for ways to make this work.
So I got Mission Planner to open up. I'm running Ubuntu 12.04 and Mission Planner 1.2.36. I'm opening Mission Planner with mono runtime, after installing John Leach's extra packages for mono. previosly, I had installed 'mono runtime' and 'mono runtime (terminal)'
I also included my user in the dialout group, and changed the permissions for serial com. the codes are:
sudo gpasswd --add yourusername dialout
chmod o+rw /dev/ttyS0sudo chmod 666 /dev/ttyACM0
now Mission Planner opens and tells me: you are missing some DLL's. I will keep trying tomorrow to fix this.
You need to ensure you are a part of the dialout group:
sudo adduser USERNAME dialout
Log out, and log back in.
did Moe's solution solve your problem?
no.. i think the problem is that ubuntu doesnt run net framework 4.0
This is wrong. You don't need any of the chmod stuff - just the gpasswd command is needed, then log out and log back in again.
A more convenient way of running the command:
sudo gpasswd --add $USER dialout
This gives your user access to the serial ports (the group is called dialout because modems used to be connected to serial ports :)