summaryrefslogtreecommitdiff
path: root/recipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh')
-rwxr-xr-xrecipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh281
1 files changed, 0 insertions, 281 deletions
diff --git a/recipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh b/recipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh
deleted file mode 100755
index ab47d31..0000000
--- a/recipes-bsp/multitech/get-eeprom-device-config/get-eeprom-device-config.sh
+++ /dev/null
@@ -1,281 +0,0 @@
-#!/bin/bash
-# Radio ID loop count
-TRY_COUNT=30
-
-CONFIG_PATH=/var/run/config
-
-#system capabilities
-CAPABILITY_ADC="false"
-CAPABILITY_BLUETOOTH="false"
-CAPABILITY_DIN="false"
-CAPABILITY_DOUT="false"
-#CAPABILITY_EXTERNAL_SERIAL_PORT="false"
-#CAPABILITY_FLEXIBLE_SERIAL_PORT="false"
-CAPABILITY_GPS="false"
-CAPABILITY_WIFI="false"
-CAPABILITY_CELL="false"
-CAPABILITY_LORA="false"
-CAPABILITY_GPIO="false"
-CAPABILITY_SERIAL="false"
-CAPABILITY_RS232="false"
-CAPABILITY_RS422="false"
-CAPABILITY_RS485="false"
-CAPABILITY_NODE_RED="false"
-CAPABILITY_LORA_NETWORK_SERVER="false"
-
-
-# accessory cards constans
-TEMP_AC_PATH="/var/volatile/tmp"
-TEMP_AC_JSON="$TEMP_AC_PATH/ac_data.json"
-# Number of accessory card places - size of array
-AC_CARD_COUNT=4
-
-function usage {
- echo 'get-eeprom-device-info [-t TRY_COUNT]'
- echo ' Where TRY_COUNT is the number of half'
- echo ' second waits for the cellular radio'
- echo ' to be ready for identification'
- exit 1
-}
-
-# Reads accessory cards data
-# WARNING: Make sure function called after CAPABILITIY_* variables is set with initial values.
-ReadAcData() {
- # Doing the same as mts-io-sysfs, but with one step, without unnesesary parsing.
- MTS_IO_DIR="/sys/devices/platform/mts-io"
- AC_PRFIX="ap"
- TEMP_AC_FILE_PREFIX="/card"
- TEMP_AC_PREFIX="$TEMP_AC_PATH$TEMP_AC_FILE_PREFIX"
- # Fill property data for each accessory card
- rm -f $TEMP_AC_PREFIX*
- for f in `find $MTS_IO_DIR/$AC_PRFIX* -follow -maxdepth 1 -type f -follow -maxdepth 1 -type f 2>/dev/null`;
- do
- FILENAME=${f##*$MTS_IO_DIR/$AC_PRFIX}
- case $FILENAME in
- modalias )
- ;;
- power )
- ;;
- subsystem* )
- ;;
- uevent )
- ;;
- * )
- AC_NUMBER=$(echo "$FILENAME" | cut -d "/" -f1)
- AC_PROP=$(echo "$FILENAME" | cut -d "/" -f2)
- # Do camel casing
- # Because {sed -r '{s/-([a-z])/\U\1/g;}'} did not work for Not GNU sed 4.0 use awk + tr
- # Removing next 2 lines gives about 50% function speed-up
- AC_PROP=$( echo $AC_PROP | awk -F"-" '{for(j=1;j<=NF;j++){$j=toupper(substr($j,1,1))substr($j,2)}}1' | sed -r '{s/ //g;}' )
- AC_PROP=`echo ${AC_PROP:0:1} | tr '[A-Z]' '[a-z]'`${AC_PROP:1}
- #Output to temp file
- AC_FILE="$TEMP_AC_PREFIX$AC_NUMBER"
- printf "\"$AC_PROP\" : \"%s\",\n" `cat $f` >> $AC_FILE
- ;;
- esac
- done
- # Compose accessory cards data to array
- echo "\"accessoryCards\" : [ " > $TEMP_AC_JSON
- for ((I=1; I<=$AC_CARD_COUNT; ++I)) ;
- do
- AC_FILE="$TEMP_AC_PREFIX$I"
- if [ -f "$AC_FILE" ];then
- sed -i '$s/,$//' $AC_FILE # remove last comma
- echo "{" >> $TEMP_AC_JSON
- cat $AC_FILE >> $TEMP_AC_JSON
- echo "}," >> $TEMP_AC_JSON
-
- # Map product-id with capabilities.
- if $(grep -q '"productId" : "MTAC-MFSER-DTE"' $AC_FILE) || $(grep -q '"productId" : "MTAC-MFSER-DCE"' $AC_FILE); then
- CAPABILITY_SERIAL="true"
- CAPABILITY_RS232="true"
- CAPABILITY_RS422="true"
- CAPABILITY_RS485="true"
- elif $(grep -q '"productId" : "MTAC-GPIOB"' $AC_FILE) || $(grep -q '"productId" : "MTAC-GPIOI"' $AC_FILE); then
- CAPABILITY_GPIO="true"
- CAPABILITY_ADC="true"
- CAPABILITY_DIN="true"
- CAPABILITY_DOUT="true"
- elif $(grep -q '"productId" : "MTAC-LORA-.*"' $AC_FILE); then
- CAPABILITY_LORA="true"
- fi
- else
- echo "null," >> $TEMP_AC_JSON
- fi
- done
- sed -i '$s/,$//' $TEMP_AC_JSON # remove last comma
- echo "]," >> $TEMP_AC_JSON
-}
-
-#check if LORA is present onboard a device.
-#Lora capability from an MTAC card is determined by ReadAcData()
-isNativeLoraPresent() {
- LORA_ID_PREFIX="MTCAP-LORA-"
- LORA_ID=$(mts-io-sysfs show lora/product-id 2> /dev/null)
- if [[ $LORA_ID == $LORA_ID_PREFIX* ]]; then
- return 0
- else
- return 1
- fi
-}
-
-TEMP=$(getopt -o t: -n 'get-eeprom-device-info' -- "$@")
-eval set -- "$TEMP"
-# extract options and their arguments into variables.
-while true ; do
- case "$1" in
- -t)
- case "$2" in
- "") usage ;;
- *) TRY_COUNT=$2 ; shift 2 ;;
- esac ;;
- --) shift ; break ;;
- *) echo "usage" ;;
- esac
-done
-
-# Read device information from eeprom device
-
-mts-id-eeprom --in-file /sys/bus/i2c/devices/i2c-0/0-0056/eeprom > ${CONFIG_PATH}/device_info
-
-DEVICE_CAPA=${CONFIG_PATH}/device_capa
-DEVICE_INFO_JSON=${CONFIG_PATH}/device_info.json
-
-# Create json data files
-echo "{" > $DEVICE_CAPA
-echo "{" > ${CONFIG_PATH}/device_info.json
-
-
-# Read each line and parse the device data
-while read line
-do
-
-if [[ $line =~ ^vendor-id:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/vendor_id
- echo \"vendorId\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^product-id:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/device_type
- echo \"productId\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^device-id:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/device_id
- echo \"deviceId\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^hw-version:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/hw_version
- echo \"hardwareVersion\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^mac-addr:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/mac_addr
- echo \"macAddress\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^mac-bluetooth:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/mac_bluetooth
- echo \"macBluetooth\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^mac-wifi:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/mac_wifi
- echo \"macWifi\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^uuid:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/uuid
- echo \"uuid\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ ^imei:\ \"(.*)\" ]]; then
- echo ${BASH_REMATCH[1]} > ${CONFIG_PATH}/modem_imei
- echo \"imei\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ capa-gps:\ (.*) ]]; then
- CAPABILITY_GPS=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa-din:\ (.*) ]]; then
- CAPABILITY_DIN=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa-dout:\ (.*) ]]; then
- CAPABILITY_DOUT=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa-adc:\ (.*) ]]; then
- CAPABILITY_ADC=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa-wifi:\ (.*) ]]; then
- CAPABILITY_WIFI=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa-bluetooth:\ (.*) ]]; then
- CAPABILITY_BLUETOOTH=$(echo ${BASH_REMATCH[1]})
-elif [[ $line =~ capa:\ \"(.*)\" ]]; then
- echo \"mask\": \"${BASH_REMATCH[1]}\", >> $DEVICE_CAPA
-fi
-
-done <${CONFIG_PATH}/device_info
-
-HASRADIO=$(cat /sys/devices/platform/mts-io/has-radio)
-if ((HASRADIO == 1)) ; then
- echo "Finding cellular module..."
- for ((i=0; i < TRY_COUNT; i++))
- do
- # Check cellular module
- echo "Try #"$i
- if [[ -L "/dev/modem_at0" && -L "/dev/modem_at1" ]]; then
- CAPABILITY_CELL="true"
- break
- fi
- if ((TRY_COUNT > 1)) ; then
- sleep 0.5
- fi
- done
-fi
-
-if isNativeLoraPresent; then
- CAPABILITY_LORA="true"
-fi
-
-#
-# Check if NODE-RED and Lora Network Server packages are installed
-#
-OPKG_FILE=/tmp/opkg_inst.tmp
-opkg list-installed > $OPKG_FILE
-
-cat $OPKG_FILE | grep node-red > /dev/null
-[ $? -eq 0 ] && CAPABILITY_NODE_RED="true"
-
-cat $OPKG_FILE | grep lora-network-server > /dev/null
-[ $? -eq 0 ] && CAPABILITY_LORA_NETWORK_SERVER="true"
-
-rm -f $OPKG_FILE
-
-
-# Read firmware info from /etc/issue
-cat /etc/issue |
-(
-while read line
-do
-
-if [[ $line =~ Version:\ (.*) ]]; then
- echo \"firmware\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-elif [[ $line =~ Date:\ (.*) ]]; then
- echo \"firmwareDate\": \"${BASH_REMATCH[1]}\", >> $DEVICE_INFO_JSON
-fi
-
-done
-)
-# Add accessory cards
-echo "Reading accessory cards data"
-ReadAcData
-echo "Adding accessory cards data"
-cat $TEMP_AC_JSON >> $DEVICE_INFO_JSON
-
-# Complete the json files
-echo \"adc\": $CAPABILITY_ADC, >> $DEVICE_CAPA
-echo \"bluetooth\": $CAPABILITY_BLUETOOTH, >> $DEVICE_CAPA
-echo \"din\": $CAPABILITY_DIN, >> $DEVICE_CAPA
-echo \"dout\": $CAPABILITY_DOUT, >> $DEVICE_CAPA
-echo \"gps\": $CAPABILITY_GPS, >> $DEVICE_CAPA
-echo \"wifi\": $CAPABILITY_WIFI, >> $DEVICE_CAPA
-echo \"cell\": $CAPABILITY_CELL, >> $DEVICE_CAPA
-echo \"lora\": $CAPABILITY_LORA, >> $DEVICE_CAPA
-echo \"gpio\": $CAPABILITY_GPIO, >> $DEVICE_CAPA
-echo \"serial\": $CAPABILITY_SERIAL, >> $DEVICE_CAPA
-echo \"rs232\": $CAPABILITY_RS232, >> $DEVICE_CAPA
-echo \"rs422\": $CAPABILITY_RS422, >> $DEVICE_CAPA
-echo \"rs485\": $CAPABILITY_RS485, >> $DEVICE_CAPA
-echo \"nodeRed\": $CAPABILITY_NODE_RED, >> $DEVICE_CAPA
-echo \"loraNetworkServer\": $CAPABILITY_LORA_NETWORK_SERVER >> $DEVICE_CAPA
-echo "}" >> $DEVICE_CAPA
-echo \"capabilities\": >> $DEVICE_INFO_JSON
-cat $DEVICE_CAPA >> $DEVICE_INFO_JSON
-echo "}" >> $DEVICE_INFO_JSON
-
-# Clean up temp files
-rm $DEVICE_CAPA
-rm ${CONFIG_PATH}/device_info
-
-#echo device_info.json ----------
-#cat /var/run/config/device_info.json
-#echo ---------------------------