pmaports/device/main/device-pine64-pinephone
Arnav Singh d67aa6b44d
device-pine64-pinephone: automatically recover modem when it dies (MR 4937)
eg25-manager is supposed to watch for the modem going away and recover it
automatically, but it doesn't seem to actually do anything.
Manually restarting eg25-manager in this situation does recover the modem.
This upstream issue https://gitlab.com/mobian1/eg25-manager/-/issues/47
is probably the same, and as that issue says, manually restarting eg25-manager
in this situation does recover the modem.

So this change adds a udev rule to automatically restart eg25-manager when
the modem dies. Common triggers for the modem dying are:

1. When the phone wakes up from suspend.

2. When an incoming call is disconnected, especially if the disconnect happens
   very quickly after the call started, such as what happens when
   phosh-antispam identified the call as spam.

3. When plugging or unplugging the phone from USB power, and when plugging
   or unplugging other USB devices like keyboard from a connected dock.

udev shouldn't be used for spawning long-lasting processes,
but `rc-service start` will parent the process to the service manager and exit,
so that's fine. It does take a few seconds during which udev is blocked and
can't process other events, which udev also recommends against,
but in this case it's not a big deal IMO.

Fixes #2641
[ci:skip-build]: already built successfully in CI
2024-03-23 10:12:14 +01:00
..
sensorfw pine64-pinephone: remove sensorfw/primaryuse.conf (MR 3338) 2022-08-03 20:38:13 +02:00
ucm
00_alsa_pinephone_dshare.conf
10-pinephone-proximity.rules
50_sleep.gschema.override
51_keyboard.gschema.override device-pine64-pinephone: add gschema override for keyboard symbols (MR 3310) 2022-07-27 08:42:33 +02:00
60-flashlight.rules
70-wifi-pm.rules
90-modem-eg25-openrc.rules device-pine64-pinephone: automatically recover modem when it dies (MR 4937) 2024-03-23 10:12:14 +01:00
90-modem-eg25.rules Revert "device/pine64-pinephone: add recommended modem udev rules (MR 3235)" (MR 3632) 2022-11-10 21:14:07 +01:00
APKBUILD device-pine64-pinephone: automatically recover modem when it dies (MR 4937) 2024-03-23 10:12:14 +01:00
device-pine64-pinephone.post-install pine64-pinephone: remove gpsd config (MR 4507) 2023-11-03 23:28:29 -07:00
device-pine64-pinephone.post-upgrade pine64-pinephone: remove gpsd config (MR 4507) 2023-11-03 23:28:29 -07:00
device-pine64-pinephone.pre-upgrade
deviceinfo device/*: transform deviceinfo_modules_initfs into a file (MR 4169) 2023-08-04 08:27:44 +02:00
hwtest.ini
kirigami-lowpower.sh
kxkbrc device-pine64-pinephone: add kxkbrc for plasma-mobile pinephone-keyboard (MR 3438) 2022-10-09 12:45:35 -05:00
modemmanager.conf
modules-initfs device/*: transform deviceinfo_modules_initfs into a file (MR 4169) 2023-08-04 08:27:44 +02:00
pinephone-vccq-mod.dts
ppkb.sh
pulse-pinephone.conf
setup-modem.sh
sun50i-a64-psci.dts main/device-pine64-pinephone: U-Boot script update (MR 3806) 2023-01-14 19:07:07 +01:00
sway-pinephone-keyboard.conf device-pine64-pinephone: subpkgs for sway and x11 keyboard configs (MR 3845) 2023-03-02 08:22:41 +01:00
uboot-script.cmd main/device-pine64-pinephone: U-Boot script update (MR 3806) 2023-01-14 19:07:07 +01:00
uboot-user.cmd
UPower.conf
x11-pinephone-keyboard.conf device-pine64-pinephone: subpkgs for sway and x11 keyboard configs (MR 3845) 2023-03-02 08:22:41 +01:00