Aren Moynihan c4b3b75047 manager: always set the reset line when exiting
This splits the logic from gpio_check_poweroff into two separate
functions, allowing the caller more control over when the reset line is
asserted to force the modem to turn off.

Previously if the modem didn't respond to the power key sequence in
quit_app, gpio_check_poweroff wouldn't set the reset pin, and
eg25-manager could leave the modem running after exiting.
2024-10-04 17:11:26 -04:00
2022-02-19 15:17:27 +01:00
2022-02-19 15:05:31 +01:00
2020-12-10 15:03:29 +01:00
2020-12-10 15:03:29 +01:00
2024-08-27 09:45:45 +02:00

eg25-manager - Quectel EG25 management daemon

eg25-manager is a daemon for managing the Quectel EG25 modem found on the Pine64 PinePhone.

It implements the following features:

  • cleanly power on/off the modem
  • configure/check essential parameters (such as the audio format) on startup
  • monitor the modem state through ModemManager
  • put the modem in low-power mode when suspending the system, and restore it back to normal behavior when resuming
  • monitor the modem state on resume and recover it if needed

Dependencies

eg25-manager requires the following development libraries:

  • libglib2.0-dev
  • libgpiod-dev (>= 2.0)
  • libmm-glib-dev

Building

eg25-manager uses meson as its build system. Building and installing eg25-manager is as simple as running the following commands:

$ meson ../eg25-build
$ ninja -C ../eg25-build
# ninja -C ../eg25-build install

Configuration

eg25-manager uses device-specific configuration files, named after the device-tree compatible field. These files are installed to /usr/share/eg25-manager. They can be copied to /etc/eg25-manager then modified, that way they won't be overwritten during an upgrade.

Running

eg25-manager is usually run as a systemd service, but can also be manually started from the command-line (requires root privileges):

# eg25manager

License

eg25-manager is licensed under the GPLv3+.

Description
Manager daemon for the Quectel EG25 mobile broadband modem
Readme 378 KiB
Languages
C 97.3%
Meson 2.6%
Shell 0.1%