diff options
Diffstat (limited to 'recipes-core/mlinux-scripts/mlinux-scripts-1.1/mlinux-switch-cell-fw')
-rwxr-xr-x | recipes-core/mlinux-scripts/mlinux-scripts-1.1/mlinux-switch-cell-fw | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/recipes-core/mlinux-scripts/mlinux-scripts-1.1/mlinux-switch-cell-fw b/recipes-core/mlinux-scripts/mlinux-scripts-1.1/mlinux-switch-cell-fw deleted file mode 100755 index 9edacac..0000000 --- a/recipes-core/mlinux-scripts/mlinux-scripts-1.1/mlinux-switch-cell-fw +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/bash -lna3_chat_link=/etc/ppp/peers/lna3_chat -lna3_readme=/etc/ppp/peers/README.lna3 -function usage { ->&2 echo "\ -Usage: $0 <image_id> [timeout] - image_id <0|1|-1> : for dual FW image SKU-s, the id of the image to switch to - (LTE910-NA1 is the only supported radio for now). - -1 is based on SIM - timeout : wait time for radio to come up if set (default : 15 sec) - -" - exit 1 -} - -if [ $# -gt 2 ] ; then - usage -fi - -# -# Load args (don't wait for the radio by default) -# -FWIMAGE=$1 -if ((FWIMAGE < -2)) || ((FWIMAGE > 1)) ; then - usage -fi -if ! >&2 /usr/sbin/mlinux-cell-radio-ready ; then - [ "$VERBOSE" ] && >&2 echo Radio is not ready - [ "$VERBOSE" ] && >&2 echo Try again later - exit 1 -fi -if ((FWIMAGE == -1)) ; then - iccid=$(radio-query --iccid) - if (($? == 0)); then - if ((${#iccid} == 0)) ; then - [ "$VERBOSE" ] && >&2 echo "No carrier. Maybe no SIM?" - [ "$VERBOSE" ] && >&2 echo "ERROR: Cannot decide on firmware" - exit 1 - fi - if [[ "$iccid" =~ ^89148.* ]] ; then - ((FWIMAGE=1)) - else - ((FWIMAGE=0)) - fi - else - >&2 echo "Cannot get ICCID from SIM" - >&2 echo "Try again later" - exit 1 - fi -fi - - -TIMEOUT=${2:-15} -if [ "$VERBOSE" != "yes" ]; then - VERBOSE="" -fi - -[ "$VERBOSE" ] && >&2 echo -n "Switching the radio firmware image: " - -# -# Check if the radio present -# -MODEL=$(radio-query --model) -if [ $? -ne 0 ]; then - [ "$VERBOSE" ] && >&2 echo "Assume no radio on this device." - exit 0 -fi - -# -# Applicable for LTE910-NA1 with dual FW images only -# -productid=$(/usr/sbin/mts-io-sysfs show product-id) -if [[ $MODEL != LE910-NA1 ]] || ! [[ $productid =~ -LNA3- ]] ; then - [ "$VERBOSE" ] && >&2 echo "Firmware switch is supported only on LE910-NA1 models with product-id containing -LNA3-." - exit 0 -fi - -# -# Check if firmware switch is required -# -FWACTIVE=$(radio-query --active-firmware) -if [ $? -ne 0 ] || [ "$FWACTIVE" == "" ]; then - [ "$VERBOSE" ] && >&2 echo "The $MODEL radio does not support firmware switching." - exit 0 -fi - -if (( FWACTIVE == FWIMAGE )); then - echo "Cellular radio firmware has already been switched to $FWIMAGE image." - exit 0 -fi - -# Disable the LNA3 chat script in case of failure. -if ! [[ -L $lna3_chat_link ]] || [[ $(basename $(readlink -f $lna3_chat_link)) != README.lna3 ]] ; then - ln -sf "${lna3_readme}" "${lna3_chat_link}" - echo "Chat script is now disabled." -fi - -# -# Switch the firmware -# -RESULT=$(radio-cmd --set-active-firmware "$FWIMAGE") -if [ $? -ne 0 ]; then - [ "$VERBOSE" ] && >&2 echo "$RESULT" - exit 1 -fi - - -# -# Exit if no TIMEOUT set -# -# This is somewhat dangerous in that we assume the radio -# will switch. -if ((TIMEOUT == 0)) ; then - if ((FWIMAGE == 0)) ; then - [ "$VERBOSE" ] && >&2 echo "Use mlinux-switch-apn to switch the APN when the radio is ready, before dialing" - exit 0 - fi -fi -# -# -# Wait for the radio to be ready before continuing -# -COUNTER=0 - -[ "$VERBOSE" ] && echo -n "Wait..." - -# -# Give it some time -# -sleep 5 - -while [ $COUNTER -lt $TIMEOUT ]; do - MODEL=$(radio-query --model) - if [ $? -eq 0 ]; then - echo "Cellular radio firmware has been switched to $FWIMAGE image." - exit 0 - fi - - let COUNTER=COUNTER+1 - - [ "$VERBOSE" ] && echo -n "." - - sleep 1 -done - ->&2 echo "Cellular radio is not ready." ->&2 echo "When it becomes ready, invoke /usr/sbin/mlinux-switch-apn" ->&2 echo "to set the APN" -exit 1 |