d67aa6b44d
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
1 line
138 B
Text
1 line
138 B
Text
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}="2c7c/125/318", RUN+="/sbin/rc-service eg25-manager restart"
|