Switch a Quectel EG25-G modem between QMI, ECM, and MBIM modes from a Mac without needing Linux.
Send and read SMS messages through the modem using either a web dashboard or the command line.
Change the modem's USB vendor and product IDs directly, useful when a device expects a specific USB identity.
Open an interactive AT command terminal or bridge the modem to a virtual serial port for other tools to use.
| hey1874/eg25g-toolset | 0c33/agentic-ai | adennng/stock_strategy_lab | |
|---|---|---|---|
| Stars | 14 | 14 | 14 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | hard | hard |
| Complexity | 3/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires installing libusb and the pyusb Python package, plus physical access to the EG25-G USB modem.
This project is a management toolset for the Quectel EG25-G, a 4G modem module also sold under the Baiwang QDC507 name and commonly paired with DJI hardware. It is built to work on both macOS and Linux, and its main selling point is that several tasks that normally require Linux can now be done directly on a Mac, including changing the module's USB vendor and product IDs, switching its operating mode, and sending or receiving text messages. The toolset offers a few ways to interact with the modem. There is a web dashboard, started with a small Flask server, that gives you a browser-based control panel with an AT command terminal, mode switching, and SMS features all in one place. There is also a command-line tool for the same tasks, including checking module info, sending raw AT commands, switching between ECM, QMI, and MBIM modes, sending and listing text messages, opening an interactive AT terminal, and bridging the modem to a virtual serial port so other programs, like screen, can talk to it directly. For changing the VID and PID on macOS without Linux, the README walks through a script that uses the pyusb library to bypass the normal OS driver and talk to the module directly over its USB bulk endpoints, sending the AT command that tells the module to switch its USB identifiers and restart. The module itself is built around a Qualcomm MDM9x07 chipset, supports Cat 4 LTE speeds, and includes GPS, GLONASS, BeiDou, and Galileo satellite positioning. QMI and ECM modes are supported, MBIM works with some caveats, and RNDIS is not supported. Setup requires installing libusb and the pyusb Python package. The project is released under the MIT license.
A macOS and Linux toolset for managing the Quectel EG25-G 4G modem, letting you switch modes, send SMS, and change USB IDs without needing Linux.
Mainly Python. The stack also includes Python, pyusb, libusb.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.