modemmanager: refactoring hotplug debug logging
The output of the hotplug is very chatty and floods the log with messages that are not necessary in functioning operation. So that the log can be filtered. A log level was added to each message as the first opiton on mm_log function call. In addition, the facility of the hotplug script has been set to daemon, which in my view fits better than user. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
parent
dc7095baff
commit
45a56a8899
1 changed files with 19 additions and 18 deletions
|
@ -20,7 +20,8 @@ MODEMMANAGER_EVENTS_CACHE="${MODEMMANAGER_RUNDIR}/events.cache"
|
|||
# Common logging
|
||||
|
||||
mm_log() {
|
||||
logger -t "ModemManager" "hotplug: $*"
|
||||
local level="$1"; shift
|
||||
logger -p "daemon.${level}" -t "ModemManager[$$]" "hotplug: $*"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
@ -169,7 +170,7 @@ mm_wait_for_modem() {
|
|||
|
||||
while [ $n -ge 0 ]; do
|
||||
[ -d "${sysfspath}" ] || {
|
||||
mm_log "error: ignoring modem detection request: no device at ${sysfspath}"
|
||||
mm_log "error" "ignoring modem detection request: no device at ${sysfspath}"
|
||||
proto_set_available "${cfg}" 0
|
||||
return 1
|
||||
}
|
||||
|
@ -177,10 +178,10 @@ mm_wait_for_modem() {
|
|||
# Check if the modem exists at the given sysfs path
|
||||
if ! mmcli -m "${sysfspath}" > /dev/null 2>&1
|
||||
then
|
||||
mm_log "error: modem not detected at sysfs path"
|
||||
mm_log "error" "modem not detected at sysfs path"
|
||||
else
|
||||
mm_log "modem exported successfully at ${sysfspath}"
|
||||
mm_log "setting interface '${cfg}' as available"
|
||||
mm_log "info" "modem exported successfully at ${sysfspath}"
|
||||
mm_log "info" "setting interface '${cfg}' as available"
|
||||
proto_set_available "${cfg}" 1
|
||||
return 0
|
||||
fi
|
||||
|
@ -189,7 +190,7 @@ mm_wait_for_modem() {
|
|||
n=$((n-step))
|
||||
done
|
||||
|
||||
mm_log "error: timed out waiting for the modem to get exported at ${sysfspath}"
|
||||
mm_log "error" "timed out waiting for the modem to get exported at ${sysfspath}"
|
||||
proto_set_available "${cfg}" 0
|
||||
return 2
|
||||
}
|
||||
|
@ -201,7 +202,7 @@ mm_report_modem_wait() {
|
|||
|
||||
parent_sysfspath=$(mm_find_physdev_sysfs_path "$sysfspath")
|
||||
[ -n "${parent_sysfspath}" ] || {
|
||||
mm_log "error: parent device sysfspath not found"
|
||||
mm_log "error" "parent device sysfspath not found"
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -212,23 +213,23 @@ mm_report_modem_wait() {
|
|||
|
||||
cfg=$(mm_get_modem_config "${parent_sysfspath}")
|
||||
if [ -n "${cfg}" ]; then
|
||||
mm_log "interface '${cfg}' is set to configure device '${parent_sysfspath}'"
|
||||
mm_log "now waiting for modem at sysfs path ${parent_sysfspath}"
|
||||
mm_log "info" "interface '${cfg}' is set to configure device '${parent_sysfspath}'"
|
||||
mm_log "info" "now waiting for modem at sysfs path ${parent_sysfspath}"
|
||||
mm_set_modem_wait_status "${parent_sysfspath}" "processed"
|
||||
# Launch subshell for the explicit wait
|
||||
( mm_wait_for_modem "${cfg}" "${parent_sysfspath}" ) > /dev/null 2>&1 &
|
||||
else
|
||||
mm_log "no need to wait for modem at sysfs path ${parent_sysfspath}"
|
||||
mm_log "info" "no need to wait for modem at sysfs path ${parent_sysfspath}"
|
||||
mm_set_modem_wait_status "${parent_sysfspath}" "ignored"
|
||||
fi
|
||||
;;
|
||||
"processed")
|
||||
mm_log "already waiting for modem at sysfs path ${parent_sysfspath}"
|
||||
mm_log "info" "already waiting for modem at sysfs path ${parent_sysfspath}"
|
||||
;;
|
||||
"ignored")
|
||||
;;
|
||||
*)
|
||||
mm_log "error: unknown status read for device at sysfs path ${parent_sysfspath}"
|
||||
mm_log "error" "unknown status read for device at sysfs path ${parent_sysfspath}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -258,7 +259,7 @@ mm_cleanup_interface_by_sysfspath() {
|
|||
cfg=$(mm_get_modem_config "$dev")
|
||||
[ -n "${cfg}" ] || return
|
||||
|
||||
mm_log "setting interface '$cfg' as unavailable"
|
||||
mm_log "info" "setting interface '$cfg' as unavailable"
|
||||
proto_set_available "${cfg}" 0
|
||||
}
|
||||
|
||||
|
@ -286,7 +287,7 @@ mm_report_event() {
|
|||
esac
|
||||
|
||||
# Report the event
|
||||
mm_log "event reported: action=${action}, name=${name}, subsystem=${subsystem}"
|
||||
mm_log "debug" "event reported: action=${action}, name=${name}, subsystem=${subsystem}"
|
||||
mmcli --report-kernel-event="action=${action},name=${name},subsystem=${subsystem}" 1>/dev/null 2>&1 &
|
||||
|
||||
# Wait for added modem if a sysfspath is given
|
||||
|
@ -302,7 +303,7 @@ mm_report_event_from_cache_line() {
|
|||
subsystem=$(echo "${event_line}" | awk -F ',' '{ print $3 }')
|
||||
sysfspath=$(echo "${event_line}" | awk -F ',' '{ print $4 }')
|
||||
|
||||
mm_log "cached event found: action=${action}, name=${name}, subsystem=${subsystem}, sysfspath=${sysfspath}"
|
||||
mm_log "debug" "cached event found: action=${action}, name=${name}, subsystem=${subsystem}, sysfspath=${sysfspath}"
|
||||
mm_report_event "${action}" "${name}" "${subsystem}" "${sysfspath}"
|
||||
}
|
||||
|
||||
|
@ -317,11 +318,11 @@ mm_report_events_from_cache() {
|
|||
# Wait for ModemManager to be available in the bus
|
||||
while [ $n -ge 0 ]; do
|
||||
sleep $step
|
||||
mm_log "checking if ModemManager is available..."
|
||||
mm_log "info" "checking if ModemManager is available..."
|
||||
|
||||
if ! mmcli -L >/dev/null 2>&1
|
||||
then
|
||||
mm_log "ModemManager not yet available"
|
||||
mm_log "info" "ModemManager not yet available"
|
||||
else
|
||||
mmrunning=1
|
||||
break
|
||||
|
@ -330,7 +331,7 @@ mm_report_events_from_cache() {
|
|||
done
|
||||
|
||||
[ ${mmrunning} -eq 1 ] || {
|
||||
mm_log "error: couldn't report initial kernel events: ModemManager not running"
|
||||
mm_log "error" "couldn't report initial kernel events: ModemManager not running"
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue