{"id":26163676,"url":"https://github.com/maltegrosse/go-modemmanager","last_synced_at":"2025-04-14T14:15:57.090Z","repository":{"id":37407214,"uuid":"252269915","full_name":"maltegrosse/go-modemmanager","owner":"maltegrosse","description":"A Go wrapper around ModemManager's D-Bus API","archived":false,"fork":false,"pushed_at":"2025-03-29T02:36:32.000Z","size":224,"stargazers_count":40,"open_issues_count":2,"forks_count":22,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T14:15:50.265Z","etag":null,"topics":["dbus","golang","gsm","modem-manager","modemmanager"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maltegrosse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-01T19:37:43.000Z","updated_at":"2025-03-29T02:34:07.000Z","dependencies_parsed_at":"2023-12-09T02:29:28.020Z","dependency_job_id":"ca3014cd-3ec5-42ff-9076-4653051dc989","html_url":"https://github.com/maltegrosse/go-modemmanager","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maltegrosse%2Fgo-modemmanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maltegrosse%2Fgo-modemmanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maltegrosse%2Fgo-modemmanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maltegrosse%2Fgo-modemmanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maltegrosse","download_url":"https://codeload.github.com/maltegrosse/go-modemmanager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248894943,"owners_count":21179153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbus","golang","gsm","modem-manager","modemmanager"],"created_at":"2025-03-11T14:39:04.246Z","updated_at":"2025-04-14T14:15:57.084Z","avatar_url":"https://github.com/maltegrosse.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Alt Go-ModemManager](./go-modemmanager.png)\r\n\r\n[![GoDoc](https://godoc.org/github.com/maltegrosse/go-modemmanager?status.svg)](https://pkg.go.dev/github.com/maltegrosse/go-modemmanager)\r\n[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)\r\n![Go](https://github.com/maltegrosse/go-modemmanager/workflows/Go/badge.svg) \r\n[![Go Report Card](https://goreportcard.com/badge/github.com/maltegrosse/go-modemmanager)](https://goreportcard.com/report/github.com/maltegrosse/go-modemmanager)\r\n\r\nGo D-Bus bindings for ModemManager\r\n\r\n\r\nAdditional information: [ModemManager D-Bus Specs](https://www.freedesktop.org/software/ModemManager/api/1.12.0/ref-dbus.html)\r\n\r\nTested with [ModemManager - Version 1.12.8](https://gitlab.freedesktop.org/mobile-broadband/ModemManager), Go 1.13, on `Debian Buster (armv7)` with `Kernel 5.4.x` and `libqmi 1.24.6`.\r\n\r\nTest hardware: [SolidRun Hummingboard Edge](https://www.solid-run.com/nxp-family/hummingboard/)   and a `Quectel EC25 - EC25EFA` mini pcie modem.\r\n\r\n## Notes\r\n ModemManager works great together with GeoClue. A dbus wrapper can be found [here](https://github.com/maltegrosse/go-geoclue2).\r\n\r\nA NetworkManager dbus wrapper in golang can be found [here](https://github.com/Wifx/gonetworkmanager).\r\n\r\n## Status\r\nSome methods/properties are untested as they are not supported by my modem/lack of how to use them. See `todo` tags in the code.\r\n\r\n## Installation\r\n\r\nThis packages requires Go 1.13 (for the dbus lib). If you installed it and set up your GOPATH, just run:\r\n\r\n`go get -u github.com/maltegrosse/go-modemmanager`\r\n\r\n## Usage\r\n\r\nYou can find some examples in the [examples](examples) directory.\r\n\r\n## Limitations\r\nNot all interfaces, methods and properties are supported in QMI or AT mode. In addition, not all methods and properties are supported by every modem.\r\nA brief overview of the availability of each interface by using Quectel EC-25:\r\n\r\n| Interface     | QMI   | AT    |\r\n|---------------|-------|-------|\r\n| ModemManager1 | true  | true  |\r\n| Modem         | true  | true  |\r\n| Simple        | true  | true  |\r\n| Modem3gpp     | true  | true  |\r\n| Ussd          | false | true  |\r\n| ModemCdma     | false | false |\r\n| Messaging     | true  | false |\r\n| Location      | true  | true  |\r\n| Time          | true  | true  |\r\n| Firmware      | true  | true  |\r\n| Signal        | true  | false |\r\n| Oma           | false | false |\r\n| Bearer        | true  | true  |\r\n| Sim           | true  | true  |\r\n| SMS           | true  | true  |\r\n| Call          | true  | true  |\r\n\r\n## License\r\n**[MIT license](http://opensource.org/licenses/mit-license.php)**\r\n\r\nCopyright 2020 © Malte Grosse.\r\n\r\nOther:\r\n- [ModemManager Logo under GPLv2+](https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/tree/master/data)\r\n\r\n- [GoLang Logo under Creative Commons Attribution 3.0](https://blog.golang.org/go-brand)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaltegrosse%2Fgo-modemmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaltegrosse%2Fgo-modemmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaltegrosse%2Fgo-modemmanager/lists"}