|
#!/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
|
|
}
|