Categorygithub.com/maltegrosse/go-modemmanager
repositorypackage
0.1.4
Repository: https://github.com/maltegrosse/go-modemmanager.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

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:

InterfaceQMIAT
ModemManager1truetrue
Modemtruetrue
Simpletruetrue
Modem3gpptruetrue
Ussdfalsetrue
ModemCdmafalsefalse
Messagingtruefalse
Locationtruetrue
Timetruetrue
Firmwaretruetrue
Signaltruefalse
Omafalsefalse
Bearertruetrue
Simtruetrue
SMStruetrue
Calltruetrue

License

MIT license

Copyright 2020 © Malte Grosse.

Other: