Arnaud Ferraris
3d076e8bc8
README: add details about config files
0.2.1
2021-02-21 16:40:36 +01:00
Arnaud Ferraris
2e7bf44f2d
Merge branch 'at-value-expected-switched' into 'master'
...
at: fix argument order
See merge request mobian1/devices/eg25-manager!9
2021-02-21 15:37:36 +00:00
Dylan Van Assche
3bf2d785bb
at: fix argument order
...
'expected' and 'value' parts of the AT command were switched.
2021-02-21 16:27:30 +01:00
Arnaud Ferraris
9e40ae11d6
data: add AT command reporting firmware version
...
Fixes #7
2021-02-20 20:12:21 +01:00
Arnaud Ferraris
11c9cee111
meson.build: release version 0.2.0
0.2.0
2021-02-20 17:18:25 +01:00
Arnaud Ferraris
89ce52f709
Merge branch 'config' into 'master'
...
Implement config file
Closes #6
See merge request mobian1/devices/eg25-manager!8
2021-02-20 16:16:45 +00:00
Arnaud Ferraris
8a41a3203b
data: add config files for all pinephone versions
2021-02-20 17:11:56 +01:00
Arnaud Ferraris
042de572ea
at: parse config file
...
The AT commands list for each stage is now configured per-device, as
well as the UART port to be used.
As this list can be changed by the user, there is no more need for a
special GNSS-related option
2021-02-20 17:10:43 +01:00
Arnaud Ferraris
cfbbbd0167
gpio: parse config file
...
The GPIO numbers are now moved to the config file instead of being
hardcoded.
2021-02-20 17:10:43 +01:00
Arnaud Ferraris
f276d9cf9e
suspend: make timeouts configurable
...
Instead of fixed values, the modem boot timeout and recovery timeout are now
(optional) config values.
2021-02-20 17:10:01 +01:00
Arnaud Ferraris
433982e4f7
manager: parse config file
...
The need to use libusb to check for the modem state on startup now
depends on a config option, instead of the device type. The USB PID and
VID are moved to config as well.
2021-02-20 17:04:49 +01:00
Arnaud Ferraris
d9256251fd
src: implement config file lookup and initial parsing
...
This commit prepares the use of device-specific configuration files.
These files should be named after the device-tree `compatible` string
with the `toml` extension.
`eg25-manager` will search for config files in
`<prefix>/etc/eg25-manager` first (or `/etc/eg25-manager` if prefix is
`/usr`), then in `<prefix>/share/eg25-manager`.
2021-02-20 17:04:49 +01:00
Arnaud Ferraris
c92746e875
src: add TOML parser
2021-02-20 17:04:49 +01:00
Arnaud Ferraris
19d00bee3b
manager: make sure we don't block suspend when rebooting the modem
2021-02-20 17:04:38 +01:00
Arnaud Ferraris
b929c6a380
src: minor cleanups and cosmetic fixes
2021-02-20 17:01:17 +01:00
Arnaud Ferraris
4962fcd13e
Merge branch 'sleep-inhibit' into 'master'
...
suspend: add boot timer
See merge request mobian1/devices/eg25-manager!7
2021-02-20 15:49:40 +00:00
Dylan Van Assche
b8d269cf2f
suspend: add boot timer
...
The EG25 modem needs at least 2 minutes after indicating 'RDY'
to be fully operational. If the modem is suspended before that,
calls or texts may not be seen by the userspace.
This mostly occurs when a full reboot or poweroff/poweron
sequence of the phone is performed.
:
2021-02-17 21:05:58 +01:00
Arnaud Ferraris
4ff727a7d4
udev: install using meson
2021-02-16 23:48:35 +01:00
Arnaud Ferraris
7765e6c541
udev: rename configure script
2021-02-16 23:47:29 +01:00
Arnaud Ferraris
94cbd03921
udev: rules: fix wrong ENV match and pass devpath to script
2021-02-16 23:45:25 +01:00
Arnaud Ferraris
4c832a00dc
configure-usb-modem: make more generic
2021-02-16 23:44:42 +01:00
Arnaud Ferraris
ded092ef04
Merge branch 'avoid-modem-resets' into 'master'
...
udev: add udev rule to configure modem USB
See merge request mobian1/devices/eg25-manager!5
2021-02-16 19:09:59 +00:00
Dylan Van Assche
235eff02ac
udev: add udev rule to configure modem USB
...
Quectel advises to configure the USB autosuspend feature as:
- power/control: auto
- power/autosuspend_delay_ms: 3000
Futhermore, the following settings are also needed:
- power/wakeup: enabled
- power/persist: 0
- avoid_reset_quirk: 1
2021-02-16 07:12:01 +01:00
Arnaud Ferraris
3bb6e15de0
mm-iface: keep watching bus if MM vanishes
2021-01-25 23:55:57 +01:00
Arnaud Ferraris
692f9134f8
suspend: handle case when MM doesn't manage suspend/resume
2021-01-23 11:14:41 +01:00
Arnaud Ferraris
31133affa0
meson.build: release version 0.1.2
0.1.2
2021-01-14 00:07:15 +01:00
Arnaud Ferraris
79974bc9ee
manager: don't manage the GNSS by default
2021-01-14 00:06:55 +01:00
Arnaud Ferraris
150ff67e7b
udev: only check if modem USB ID is set
2021-01-13 23:46:38 +01:00
Arnaud Ferraris
c2e83f15a6
manager: improve error checking in modem_reset()
2020-12-30 17:31:44 +01:00
Arnaud Ferraris
cb5220a1b8
at: reduce delay between retries
...
There's no reason we should wait 3s before retrying a failed AT command.
This can even cause issues with suspend inhibition: 3 retries of a
failed command would take 9s, while logind ignores the inhibitor after
only 5s.
Reducing the delay to 500ms should be enough and wouldn't interfere with
suspend inhibition.
Fixes #3
2020-12-30 16:28:39 +01:00
Arnaud Ferraris
abc05e86e5
manager: only toggle GPIOs for suspend after executing all AT commands
2020-12-30 16:20:32 +01:00
Arnaud Ferraris
d990ab667e
at: make sure URC cache is disabled on startup
2020-12-30 16:10:41 +01:00
Arnaud Ferraris
2a18b1cb0c
meson.build: release version 0.1.1
0.1.1
2020-12-18 01:38:58 +01:00
Arnaud Ferraris
067c01b685
manager: rename suspend_source to suspend_timer
...
This makes its role more explicit.
2020-12-18 01:38:27 +01:00
Arnaud Ferraris
62a07f9c51
src: add udev watcher to improve modem recovery
...
Most of the modem issues follow a (incomplete) USB device reset. Instead
of relying solely on the existing timer, this patch adds a udev monitor
which resets the modem as soon as its associated USB device is reset,
which greatly improves recovery time.
2020-12-18 01:37:06 +01:00
Arnaud Ferraris
74b91c7d58
manager: make sure we don't reset the modem twice in a row
...
This patch adds a 3s delay when resetting the modem during which we
avoid triggering a new reset. This makes sure we don't trigger a reset
twice in a row.
It also disables any related running timer to avoid being re-triggered
unnecessarily.
2020-12-18 00:45:58 +01:00
Arnaud Ferraris
c39000bf93
suspend: increase modem detection delay by 1s
...
Sometimes it takes just a little bit longer than usual, so this avoids
unnecessary modem recovery.
2020-12-18 00:35:32 +01:00
Arnaud Ferraris
fdbc2cfa69
Merge branch 'fix_gerror_pointer' into 'master'
...
mm-iface: fix GError pointer
See merge request mobian1/devices/eg25-manager!2
0.1.0
2020-12-14 00:29:58 +00:00
fortysixandtwo
aa85cd873c
mm-iface: fix GError pointer
2020-12-13 16:54:10 +01:00
Arnaud Ferraris
a8e6da534c
Merge branch 'autofree_gerror' into 'master'
...
use g_autoptr for GError
See merge request mobian1/devices/eg25-manager!1
2020-12-13 14:33:52 +00:00
fortysixandtwo
1bb2f80fef
use g_autoptr for GError
2020-12-13 15:14:11 +01:00
Arnaud Ferraris
9c9169a972
manager: get rid of compiler warnings
2020-12-13 00:55:22 +01:00
Arnaud Ferraris
b495d6c747
gpio: get rid of compiler warnings
2020-12-13 00:52:38 +01:00
Arnaud Ferraris
dd904bc8c1
at: get rid of compiler warnings
2020-12-13 00:52:35 +01:00
Arnaud Ferraris
8c9a2b21f9
gpio: exit if we can't request output GPIOs
...
This means the system is in a very bad shape as no other software should
make use of those, so exit the daemon (will be restarted by systemd).
2020-12-13 00:35:17 +01:00
Arnaud Ferraris
90a016a8f6
src: be more careful before dereferencing potentially NULL pointers
2020-12-12 23:59:53 +01:00
Arnaud Ferraris
ff60016e5d
release version 0.0.6
0.0.6
2020-12-11 15:10:13 +01:00
Arnaud Ferraris
5715138a96
suspend: reset sleep inhibitor if already present upon resume
2020-12-11 15:09:43 +01:00
Arnaud Ferraris
fd6a292a8f
manager: don't change modem state after reset
...
This makes sure the resume commands (disable URC cache and enable GPS)
are executed.
2020-12-11 15:09:38 +01:00
Arnaud Ferraris
5fa345ec92
mm-iface: don't reset USB ID unless quitting
...
As ModemManager releases the modem while going to sleep, we clear the
USB ID too, which causes a segfault when trying to recover the modem.
2020-12-11 14:34:34 +01:00