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.
ModemManager works great together with GeoClue. A dbus wrapper can be found here.
A NetworkManager dbus wrapper in golang can be found here.
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.
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
You can find some examples in the examples directory.
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 |
Copyright 2020 © Malte Grosse.
Other: