There have been a lot of posts regarding which mono version to use and how to install it on a Raspberry PI2.
Below is how I managed to install a working Cumulus using mono 4.0.5.
This post is primarily based on:
https://cumulus.hosiene.co.uk/viewtopic.p ... 21#p126018
Installation is based on post from:
l2k » Thu Aug 24, 2017 8:40 am
mono problems from:
SpaceHiker » Mon Sep 18, 2017 12:09 am
As I read the posts, the last unbroken mono version is 4.0.5
But it can be quite difficult to install that old version in a resent version of Linux raspberrypi.
This is a clean installation on a new formatted SD card (16GB).
Step by step guide:
Download the latest version of Linux raspberrypi (4.9.41-v7+) to a PC (win10) and flash the SD using Etcher.
Then transfer the SD card to the PI2 and fire it up.
Setup keyboard, lokalisation, time zone … from Preferences/Raspberry Pi configuration
Check that the OS is up to date:
$ sudo apt-get update
$ sudo apt-get dist-upgrade
Reboot PI2
Add the mono repository:
$ cd /etc/apt/sources.list.d
$ sudo vi mono-xamarin.list
add below line:
deb
http://download.mono-project.com/repo/debian wheezy/snapshots/4.0.5 main
Update:
( "aptitude update" failed for me, therefore I used)
$ sudo apt-get update
Just ignore the warnings about signatures and conflicting distribution.
In order to fix dependencies, aptitude must be used to install mono:
$ sudo aptitude install mono-complete=4.0.5.1-0xamarin1
Then you will get a proposal from aptitude to solve the dependencies:
Keep the following packages at their current version:
1) mono-complete [Not Installed]
Do NOT accept this solution, when that would install the current version of mono(4.6.2) which has errors (as documented by SpaceHiker).
Respond with "n"
Accept the next solution from aptitude to install mono version 4.0.5 with this warning:
Leave the following dependencies unresolved:
186) libmono-webbrowser4.0-cil recommends libgluezilla (>= 2.6)
Respond with "Y"
At the next prompt:
0 packages upgraded, 186 newly installed, 0 to remove and 0 not upgraded.
Need to get 61,8 MB of archives. After unpacking 163 MB will be used.
Do you want to continue? [Y/n/?]
Respond "Y"
At the last prompt:
Do you want to ignore this warning and proceed anyway?
To continue, enter "yes"; to abort, enter "no":
Respond "yes"
Now mono-complete 4.0.5 will be installed.
In order to protect this old mono version (4.0.5) from future upgrades:
$ sudo apt-mark hold mono-runtime mono-complete
Installed version is now:
$ mono -V
Mono JIT compiler version 4.0.5 (Stable 4.0.5.1/1d8d582 Thu Nov 12 12:22:41 UTC 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors.
www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp+hard
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
Now download CumulusMXDist3043.zip from this forum.
Then go to pi home:
$ cd /home/pi
and extract Cumulus:
$ unzip ./Downloads/CumulusMXDist3043.zip
Go to CumulusMX folder and start Cumulus (using your preferred localization):
$ cd CumulusMX
$ sudo mono CumulusMX.exe -lang da-DK
Current culture: Danish (Denmark)
Serial: 74FECEABEB2DA94ECB5EBA0CD11A7137
Cumulus MX v.3.0.0 build 3043
Station type not set
Cumulus running at: http://*:8998/
(Replace * with any IP address on this machine, or localhost)
Starting web socket server on port 8002
10-10-2017 11:35:55
Type Ctrl-C to terminate
Now point your browser to:
http://localhost:8998/
and set up your station in "Settings"
Then restart Cumulus:
$ sudo mono CumulusMX.exe -lang da-DK
Current culture: Danish (Denmark)
Serial: 74FECEABEB2DA94ECB5EBA0CD11A7137
Cumulus MX v.3.0.0 build 3043
Today.ini = data/today.ini
Last update=2017-10-10T11:39:46
Looking for Fine Offset station, VendorID=0x1941 ProductID=0x8021
sysname=Linux release=4.9.41 machine=armv7l
Fine Offset station found
Connected to station
Cumulus running at: http://*:8998/
(Replace * with any IP address on this machine, or localhost)
Starting web socket server on port 8002
10-10-2017 11:39:48
Type Ctrl-C to terminate
Cumulus is running and using "," as decimal separator.
Enjoy