Giter Site home page Giter Site logo

go-modemmanager's Introduction

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:

go-modemmanager's People

Contributors

lixin9311 avatar maltegrosse avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.