pmaports/device/main
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
..
device-pine64-pinephone device-pine64-pinephone: automatically recover modem when it dies (MR 4937) 2024-03-23 10:12:14 +01:00
device-purism-librem5 device/*: rebuild all devices (MR 4551) 2024-01-22 19:32:30 +01:00
device-qemu-aarch64 device-qemu-{amd64,aarch64}: add myself as maintainer (MR 4940) 2024-03-17 22:48:47 +00:00
device-qemu-amd64 device-qemu-{amd64,aarch64}: add myself as maintainer (MR 4940) 2024-03-17 22:48:47 +00:00
device-qemu-riscv64 device/*: rebuild all devices (MR 4551) 2024-01-22 19:32:30 +01:00
firmware-brcm43752 firmware-brcm43752: upgrade to 0.3_git20230613 (4411) (MR 4411) 2023-11-03 21:55:40 +01:00
firmware-pine64-ov5640 main/firmware-pine64-ov5640: compress with zstd (MR 4812) 2024-02-10 09:39:50 -08:00
firmware-pine64-rtl8723bt main/firmware-pine64-rtl8723bt: compress with zstd (MR 4812) 2024-02-10 09:39:50 -08:00
firmware-siliconlabs-rs9116 device/main/firmware-siliconlabs-rs9116: upgrade to 2.5.1 (MR 3061) 2022-04-06 00:34:07 +03:00
linux-postmarketos-allwinner pocketbook-614-plus: new device (MR 4901) 2024-03-13 21:33:28 +01:00
linux-purism-librem5 linux-purism-librem5: upgrade to 6.6.18pureos1 (MR 4866) 2024-02-27 08:39:44 -08:00
u-boot-librem5 u-boot-librem5: add myself as co-maintainer (MR 3850) 2023-02-07 01:22:23 -08:00
u-boot-pinephone main/u-boot-pinephone: fix build to work with crust from aports (MR 4785) 2024-02-06 08:44:31 -08:00