Skip to content

maltegrosse/go-modemmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt Go-ModemManager

GoDoc License Go Go Report Card

Go D-Bus bindings for ModemManager

Additional information: ModemManager D-Bus Specs

Tested with ModemManager - Version 1.12.8, Go 1.13, on Debian Buster (armv7) with Kernel 5.4.x and libqmi 1.24.6.

Test hardware: SolidRun Hummingboard Edge and a Quectel EC25 - EC25EFA mini pcie modem.

Notes

ModemManager works great together with GeoClue. A dbus wrapper can be found here.

A NetworkManager dbus wrapper in golang can be found here.

Status

Some methods/properties are untested as they are not supported by my modem/lack of how to use them. See todo tags in the code.

Installation

This packages requires Go 1.13 (for the dbus lib). If you installed it and set up your GOPATH, just run:

go get -u github.com/maltegrosse/go-modemmanager

Usage

You can find some examples in the examples directory.

Limitations

Not all interfaces, methods and properties are supported in QMI or AT mode. In addition, not all methods and properties are supported by every modem. A brief overview of the availability of each interface by using Quectel EC-25:

Interface QMI AT
ModemManager1 true true
Modem true true
Simple true true
Modem3gpp true true
Ussd false true
ModemCdma false false
Messaging true false
Location true true
Time true true
Firmware true true
Signal true false
Oma false false
Bearer true true
Sim true true
SMS true true
Call true true

License

MIT license

Copyright 2020 © Malte Grosse.

Other: