]> git.ipfire.org Git - people/ms/network.git/commitdiff
modem: Deduplicate some code to show status of a serial modem
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 26 Mar 2016 23:11:34 +0000 (23:11 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 26 Mar 2016 23:11:34 +0000 (23:11 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/functions/functions.modem
src/hooks/zones/modem
src/network

index 0f7cdee9c0b690f1b635e681c3545c43a5bde2c5..90def3f354bee10ee3056f0356fa7a491cf8f0eb 100644 (file)
@@ -348,6 +348,52 @@ modem_is_mobile() {
        modem_get_device_imei ${device} &>/dev/null
 }
 
+modem_mobile_network_status() {
+       local device="${1}"
+       assert isset device
+
+       local ident="${2}"
+       isset ident || ident=1
+
+       cli_headline "${ident}" "Network status"
+
+       modem_sim_status ${device} &>/dev/null
+       local sim_status_code=$?
+
+       local sim_status="unknown"
+       case "${sim_status_code}" in
+               ${EXIT_SIM_READY})
+                       sim_status="SIM ready"
+                       ;;
+               ${EXIT_SIM_PIN})
+                       sim_status="PIN locked"
+                       ;;
+               ${EXIT_SIM_PUK})
+                       sim_status="PUK locked"
+                       ;;
+       esac
+       cli_print_fmt1 "${ident}" "SIM status" "${sim_status}"
+
+       if [ ${sim_status_code} -eq ${EXIT_SIM_READY} ]; then
+               cli_print_fmt1 "${ident}" "Network Registration" \
+                       "$(modem_get_network_registration ${device})"
+               cli_print_fmt1 "${ident}" "Operator" \
+                       "$(modem_get_network_operator ${device})"
+               cli_print_fmt1 "${ident}" "Mode" \
+                       "$(modem_get_network_mode ${device})"
+               cli_print_fmt1 "${ident}" "IMSI" \
+                       "$(modem_get_sim_imsi ${device})"
+               cli_print_fmt1 "${ident}" "Signal quality" \
+                       "$(modem_get_signal_quality ${device}) dBm"
+
+               local ber=$(modem_get_bit_error_rate ${device})
+               isset ber || ber="unknown"
+               cli_print_fmt1 "${ident}" "Bit Error Rate" "${ber}"
+       fi
+
+       return ${EXIT_OK}
+}
+
 # Exit codes of the network registration function.
 EXIT_REG_REGISTERED_TO_HOME_NETWORK=0
 EXIT_REG_NOT_REGISTERED_NOT_SEARCHING=1
index d12a464e2756e621aaa8febd7e67ce45b2509f85..ff21d4558a85a8cf6c6f6fa0ac463ea24ae082f4 100644 (file)
@@ -197,8 +197,6 @@ hook_status() {
        cli_print_fmt1 2 "MTU/MRU" "${MTU}"
        cli_space
 
-       cli_headline 2 "Carrier network"
-
        # If the device and the monitor device are both locked,
        # we cannot show any carrier information.
        local device dev
@@ -215,19 +213,7 @@ hook_status() {
        done
 
        if isset device && modem_is_mobile "${device}"; then
-               cli_print_fmt1 2 "Network Registration" \
-                       "$(modem_get_network_registration ${device})"
-               cli_print_fmt1 2 "Operator" \
-                       "$(modem_get_network_operator ${device})"
-               cli_print_fmt1 2 "SIM IMSI" \
-                       "$(modem_get_sim_imsi ${device})"
-               cli_print_fmt1 2 "Mode" \
-                       "$(modem_get_network_mode ${device})"
-               cli_print_fmt1 2 "Signal strength" \
-                       "$(modem_get_signal_quality ${device}) dBm"
-               local ber=$(modem_get_bit_error_rate ${device})
-               isset ber || ber="unknown"
-               cli_print_fmt1 2 "Bit error rate" "${ber}"
+               modem_mobile_network_status "${device}" 2
        else
                cli_print 2 "Device is locked."
        fi
index 632a423bd5b8e5782a6fb92ef37210b45d3a25f1..922ad66f113bf9e2ca05f5d6bf3b0e89952fae45 100644 (file)
@@ -225,45 +225,17 @@ cli_device_status_serial() {
        cli_print_fmt1 1 "Software version" \
                "$(modem_get_software_version ${device})"
 
-       if modem_is_mobile ${device}; then
+       # Mobile
+       if modem_is_mobile "${device}"; then
                cli_print_fmt1 1 "IMEI" \
                        "$(modem_get_device_imei ${device})"
-               cli_space
-
-               cli_headline 2 "Network status"
-               modem_sim_status ${device} &>/dev/null
-               local sim_status_code=$?
-
-               local sim_status="unknown"
-               case "${sim_status_code}" in
-                       ${EXIT_SIM_READY})
-                               sim_status="SIM ready"
-                               ;;
-                       ${EXIT_SIM_PIN})
-                               sim_status="PIN locked"
-                               ;;
-                       ${EXIT_SIM_PUK})
-                               sim_status="PUK locked"
-                               ;;
-               esac
-               cli_print_fmt1 2 "SIM status" "${sim_status}"
-
-               if [ ${sim_status_code} -eq ${EXIT_SIM_READY} ]; then
-                       cli_print_fmt1 2 "IMSI" \
-                               "$(modem_get_sim_imsi ${device})"
-                       cli_print_fmt1 2 "Operator" \
-                               "$(modem_get_network_operator ${device})"
-                       cli_print_fmt1 2 "Mode" \
-                               "$(modem_get_network_mode ${device})"
-                       cli_print_fmt1 2 "Signal quality" \
-                               "$(modem_get_signal_quality ${device}) dBm"
-
-                       local ber=$(modem_get_bit_error_rate ${device})
-                       isset ber || ber="unknown"
-                       cli_print_fmt1 2 "Bit Error Rate" "${ber}"
-               fi
        fi
        cli_space
+
+       if modem_is_mobile "${device}"; then
+               modem_mobile_network_status "${device}" 2
+               cli_space
+       fi
 }
 
 cli_device_status_phy() {