| #!/bin/sh /etc/rc.common |
| # Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es> |
| |
| USE_PROCD=1 |
| START=70 |
| |
| stop_service() { |
| # Load common utils |
| . /usr/share/ModemManager/modemmanager.common |
| # Set all configured interfaces as unavailable |
| mm_cleanup_interfaces |
| } |
| |
| start_service() { |
| # Setup ModemManager service |
| # |
| # We will make sure that the rundir always exists, and we initially cleanup |
| # all interfaces flagging them as unavailable. |
| # |
| # The cached events processing will wait for MM to be available in DBus |
| # and will make sure all ports are re-notified to ModemManager every time |
| # it starts. |
| # |
| # All these commands need to be executed on every MM start, even after |
| # procd-triggered respawns, which is why they're all included as instance command |
| # |
| procd_open_instance |
| procd_set_param command sh -c ". /usr/share/ModemManager/modemmanager.common; \ |
| mkdir -m 0755 -p ${MODEMMANAGER_RUNDIR}; \ |
| mm_cleanup_interfaces; \ |
| ( mm_report_events_from_cache ) >/dev/null 2>&1 & \ |
| /usr/sbin/ModemManager" |
| procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}" |
| procd_set_param pidfile "${MODEMMANAGER_PID_FILE}" |
| procd_close_instance |
| } |