ModemManager and GPS devices
Marc Murphy
marcmltd at marcm.co.uk
Sun Jun 14 12:02:40 PDT 2015
Hi Thomas,
I use MM with different modems and the preferred interface to configure and get data is to use the dbus interface. It is fairly simple and reasonably quick.
I can send you some sample code if you like or just look at the nmcli code as that uses all the dbus interfaces to talk to MM.
I would write my own process that probes MM and then publishes the NMEA sentences on a pseudo interface for you apps to connect to.
Cheers
Marc
> -----Original Message-----
> From: ModemManager-devel [mailto:modemmanager-devel-
> bounces at lists.freedesktop.org] On Behalf Of Tomas Jura
> Sent: 14 June 2015 17:49
> To: modemmanager-devel at lists.freedesktop.org
> Subject: ModemManager and GPS devices
>
> Hi
>
> I have Ericsson modem F3507 with the GPS. For a long time I was using it with
> the modemmanager and a control tool called mbm-gpsd which was handling
> the GPS (ttyACM02) port. It was working together somewhat. Most
> problems were during the start-up and restart when two different daemons
> (mm and mbm-gpsd) were pushing together the setup AT commands to
> device.
> So startup was a bit tricky, first start mm and let device initialize, then start
> mbm-gpsd. It was working, but not smoothly.
>
> Mbm-gpsd has a very simple, but very well working solution to publish GPS
> data. It creates pseudoterminals (a pseudo tty), that it feeds by raw GPS
> NMEA senteces. NMEA sentences are well known and widely supported
> protocol, most of navigational sw understands them. I use that configuration
> with OpenCPN and Navit applications. It also provides dbus api to set up gps
> cycletime and assisted GPS.
>
> I found that GPS in F3507 got supported in mm ( commit
> 534eea345dd8dda96a88559b621ab1a55028cee8 2015-04-08). But how to
> connect it to existing applications? I see several options how to get GPS data
> from device. I want to know your opinion about the right way.
>
> First of all I understand that mbm-gpsd will be eliminated. There must be
> only one daemon to control the device, otherwise it will be mess in a device
> configuration. I do not like eliminating mbm-gpsd idea very much, because it
> has a nice gui (mbm-gpsd-control) and good control of gps ( GPS cycletime,
> assisted gps https://en.wikipedia.org/wiki/Assisted_GPS ).
>
> Here are the solutions:
>
> 1. Extended the modemmanager so that it will provide a pseudo terminal
> with NMEA sentences.
> Pros: Easy to implement, simple solution. There is a nice example of a
> working code in mbm-gpsd. Can be extended so that the mbm-gpsd d-bus
> api will be fully supported and existing client can be reused.
> Cons: IMHO not a systematic solution. Publishing the GPS data over
> pseudoterminal has limited number of clients ( = number of created
> pseudoterminal devices ).
>
> 2. Improve the clients so that they will understand mm dbus location
> protocol.
> Pros:
> Cons: Very laborious. Non systematic solution, we need a common protocol
> for GPS data publishing. mm dbus Location protocol is limited.
>
> 3. Improve gpsd daemon (http://www.catb.org/gpsd/), so that it will
> understand mm Location protocol. Gpsd provides a common, well supported
> protocol to provide GPS data from different devices.
> Pros: Nice systematic solution which allows integration with other GPS
> devices. No limits of GPS clients.
> Cons:
> - Another daemon which has to be running to get GPS data.
> - Implementation of special features ( GPS cycletime, assisted GPS ) needs
> implementation on both sides (laborious)
>
> Do you see other pros and cons or may be another solution? The right
> solution is 1 or 3. #1 seems to me as the most feasible solution.
>
> Thanks
>
> Tomas
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
More information about the ModemManager-devel
mailing list