GPS MLR SP24XC "Free Flying" & Linux & OLC
back
Siehe auch "Lufträume und das MLR"
Notez aussi "MLR et espaces aériennes"
Since the information displayed on this page might be useful to people
all over the planet earth, I'll write it in english and not in a
official swiss language ;-)
MLR-Protocol
You should have received a pretty longuish documentation with your GPS.
At the end you will find some useful information to comunicate with you
GPS, in case, you want to write some software of your own. But the
intersting part is missing: The fast transfer. So here it is:
MLR-Protocol for the fast transfer of tracks for the GPS MLR SP24XC
"Free Flying"
Based on this information I've written a perl-script, wich downloads
the traces and stores them in the IGC-format.
This is all fine, as long as you don't wish to participate at the Online-Contest,
because they want the IGC-file signed with a G-Record, to "prevent
manipulations".
There are several window$ programs which can produce IGC-files with a
valid G-Record:
- Trackview
(works with some versions of wine under Linux)
- SeeYou (works quite well with
wine under Linux, but not enough to invest the amount of money they are
asking for)
- MaxPunkte
(I could not make it work at all under Linux, as it requires DirectX)
For Trackview, there exists a Linux-version. I've tried a lot of
work-arounds. First I had library problems, and, once I resolved that
matter, the program terminated with a seg-fault.
I had the chance to test Trackview on a Window$-machine, but there are
problems with the implementation of the MLR-protocol. Only every
27th trackpoint is downloaded. If you study the MLR-protocol, you
will understand what might be wrong. I've sent a comment the author,
but he does not want to invest time to fix the MLR-Protocol. And for
"security" reasons (see below, section G-Record),
he is, of course, not allowed to open the source-code, so I could fix
the MLR problem and compile a Linux version. What a pitty...
Current solution
I'm using the Window$-version of Trackview under SuSE Linux 9.1 and the
wine package "wine-20050111-SuSELinux91.i586.rpm". With other wine
version, trackview crashes when it attemps to open the serial port.
Furthermore I'm using a perl-script of mine (written in April, while we
had a ton of snow in Lausanne).
First I download the tracks with my program and save them in an
IGC-file. Then I use another script to simulate my GPS, but sending
only one trackpoint at a time, instead of 27. Trackview reads only
every other point, which I can live with. I should probably send every
point twice to get the complete track, but I'll do that later. This, of
course, makes a G-Record absurd. But is generally true for "security
through obscurity".
I've been using SeeYou Evalution (with wine under Linux) before,
but after one month the program stops working.
G-Record
What is this G-Record anyway? It produced by some algorithm, known only
to the author of the software, and, of course, the olc web-server to
verify the submitted IGC-files. I guess every program has its own
algorithm and I don't know anything about the cryptographic security of
those algorithms. There a two problems: First of all, it does not
prevent manipulation. It is not straight forward, but one rainy sunday
is more than enough. Second, it does prevent the creation of
open-source tools to use for the online-contest because a secret
algorithm can not be open-source, or it is not secret anymore.
The only solution to make a G-Record secure, and, at the same time,
accessible to open-source software, is to implement it into the GPS
directly. But since todays models do not seems to do such a thing, it
would take years to introduce that...
Download
The scripts I'm using are currently not available for download, because
they're one big mess and not userfriendly at all. If you are
interested, send me an e-mail, and I'll send you a cleaned version.
back
Ivo Blöchliger
e-mail: ivo @ linuxbox . ch