Index: scripts/run.sh =================================================================== diff -u -rf45f4093470d79f74c79f5a162bff598215b5dda -r7f61c3b45a50145fe5c245018d481d6266166fa6 --- scripts/run.sh (.../run.sh) (revision f45f4093470d79f74c79f5a162bff598215b5dda) +++ scripts/run.sh (.../run.sh) (revision 7f61c3b45a50145fe5c245018d481d6266166fa6) @@ -15,225 +15,13 @@ # ############################################################################ - -time_start=$(date +%s) - -echo nameserver 8.8.8.8 > /etc/resolv.conf -echo nameserver 192.168.10.20 >> /etc/resolv.conf # these need to be removed when/if the IoT WiFi doens't need them -echo nameserver 192.168.10.21 >> /etc/resolv.conf # these need to be removed when/if the IoT WiFi doens't need them -systemctl start systemd-resolved.service - - -echo "HOME : $HOME " > /home/root/post.debug -HOME="$1" +# globals.sh needs to be initialized by the user home path +# otherwise creates the post.log in the / folder instead of home. +HOME=/home/$(whoami) source ./globals.sh -COUT="/dev/$(echo $(dmesg | grep "printk: console") | sed 's/.*printk: console.*\(tty.*\)].*/\1/')" -echo "COMMENT_DASH: $COMMENT_DASH " >> /home/root/post.debug -echo "HOME : $HOME " >> /home/root/post.debug -echo "COUT : $COUT " >> /home/root/post.debug -echo "POSTLOG : $POSTLOG " >> /home/root/post.debug +timerStart +applicationPOST +timerEndLog -# cleanup the POST log file -post_log_clear -post_err_clear -post_out_clear -post_log_star " ***** " -post_log "Start: $(timestamp)" # log the current date, time - -#create folders for sd-card and usb if not exist -mkdir -p $SDCARD_MNT -mkdir -p $USB_MNT - - -# ---------------------------------------- STOP denali in case running (sys not rebooted) -killall $DENALI_BIN - - -#setting up ethernet----------------------- Ethernet -post_log_dash " Ethernet " -ieth=eth0 -udhcpc --timeout=5 --retries=2 -n -i $ieth -post_log "$(ip addr show $ieth)" # -details -statistics - - -#setting up can interface ----------------- CANBus -post_log_dash " CANBus " -#current settings can be retrieved by the command below -#$ ip -details -statistics link show can0 -ip link set can0 up type can bitrate 250000 restart-ms 100 -ifconfig can0 txqueuelen 4000 -candump can0 -T1 # check if candump can successfully use the port. will terminate in 1ms -if [ $? -eq 0 ]; then - post_log_pass "$POSTMSG_CANBUS$POSTMSG_POSTFIX_PASSED" - post_log "$(ip link show can0)" # -details -statistics -else - post_log_fail "$POSTMSG_CANBUS$POSTMSG_POSTFIX_FAILED" -fi - - -#mounting sdcard -------------------------- SD-CARD -post_log_dash " SD-CARD " -mount $SDCARD_PRT $SDCARD_MNT -SDCTEST="$(mount | grep "$SDCARD_PRT on $SDCARD_MNT type $SDCARD_TYP_NAME (rw,")" -if ! [ -z "$SDCTEST" ]; then - SDINFO="$(df -h | grep -i $SDCARD_MNT)" - post_log_pass "$POSTMSG_SDCARD$POSTMSG_POSTFIX_PASSED" - post_log "$SDCTEST" - post_log "$SDINFO" -else - post_log_fail "$POSTMSG_SDCARD$POSTMSG_POSTFIX_FAILED" -fi - - -#test the RTC ----------------------------- RTC -post_log_dash " RTC" -#may not be an accurate test but sufficient for now -#and could not find a way to get the rtc clock with the higher resolusion -#it should not be confused with date command which is system date/time and not hwclock -hwclock -r # if there is any issue with rtc hwclock will show errors -if [ $? -eq 0 ]; then - RTC1=$($CMD_RTC_EPOCH) - sleep 1 - RTC2=$($CMD_RTC_EPOCH) - if [ $(($RTC2 - $RTC1)) -eq 1 ]; then - post_log_pass "$POSTMSG_RTC$POSTMSG_POSTFIX_PASSED" - else - post_log_fail "$POSTMSG_RTC$POSTMSG_POSTFIX_FAILED" - fi -fi - - -# ----------------------------------------- WiFi -post_log_dash " WiFi " - -# create the wpa supplicant folder for conf storing -iwlan=wlan0 -WPA_SUPPLICANT_DIR="/etc/wpa_supplicant/" -WPA_SUPPLICANT_CNF="wpa_supplicant-$iwlan.conf" -mkdir -p $WPA_SUPPLICANT_DIR - -# remove any software blocks -rfkill unblock wlan - -if [[ ! -z $(dmesg | grep "wlan: driver loaded") ]]; then - post_log_pass "$POSTMSG_WIFI$POSTMSG_POSTFIX_PASSED [driver]" - post_log "$(dmesg | grep -i wlan:)" - - # start the wpa_supplicant service - post_log "start wpa_supplicant service" - systemctl start wpa_supplicant@$iwlan.service - if [ $? -eq 0 ]; then - post_log_pass "$POSTMSG_WIFI$POSTMSG_POSTFIX_PASSED [service]" - # try to connect to WiFi - if [ -f $WPA_SUPPLICANT_DIR$WPA_SUPPLICANT_CNF ]; then - post_log_dash " WiFi Connection " - killall udhcpc - post_log "connecting to WiFi" - # run this manually in terminal if didn't work on bootup - udhcpc --timeout=5 --retries=2 -n -i $iwlan - fi - post_log "$(ip link show $iwlan)" # -details -statistics - else - post_log_fail "$POSTMSG_WIFI$POSTMSG_POSTFIX_FAILED" - post_log "$(systemctl --failed | grep wpa)" - fi -else - post_log_fail "$POSTMSG_WIFI$POSTMSG_POSTFIX_FAILED" -fi - - -# ----------------------------------------- Bluetooth -post_log_dash " Bluetooth " -/usr/share/silex-uart/silex-uart.sh start 1>> $POSTOUT 2>> $POSTERR -sleep 5 -hciconfig hci0 up -if [ $? -eq 0 ]; then - post_log_pass "$POSTMSG_BLUETOOTH$POSTMSG_POSTFIX_PASSED" - post_log "$(hciconfig hci0)" -else - post_log_fail "$POSTMSG_BLUETOOTH$POSTMSG_POSTFIX_FAILED" -fi - - -#test the touch screen -------------------- Touch -post_log_dash " Touch " -# when successfully connected and can be loaded -# Sitronix touch driver 2.10.2 Release date: 20180809 -# atmel_mxt_ts 3-004a: Direct firmware load for maxtouch.cfg failed with error -2 -# atmel_mxt_ts 3-004a: Touchscreen size X1279Y799 -# input: Atmel maXTouch Touchscreen as /devices/platform/soc@0/soc@0:bus@30800000/30a50000.i2c/i2c-3/3-004a/input/input2 -# When NOT connected -# Sitronix touch driver 2.10.2 Release date: 20180809 -TSTEST="$(dmesg | grep "input: Atmel maXTouch Touchscreen as ")" -if [ "$?" -eq 0 ]; then - post_log_pass "$POSTMSG_TOUCH$POSTMSG_POSTFIX_PASSED" - post_log "$TSTEST" -else - post_log_fail "$POSTMSG_TOUCH$POSTMSG_POSTFIX_FAILED" -fi - - -# ----------------------------------------- Sha256Sum -post_log_dash " Sha256Sum " -#check the denali applicatoin checksum -SHA_ACT=$(tail -c 83 $HOME/$DENALI_BIN | cut -c19-82) -SHA_EXP=$(head -c -83 $HOME/$DENALI_BIN | sha256sum -b --tag | cut -c14-77) -if [ "$SHA_ACT" == "$SHA_EXP" ]; then - post_log_pass "$POSTMSG_SHASUM$POSTMSG_POSTFIX_PASSED" -else - post_log_fail "$POSTMSG_SHASUM$POSTMSG_POSTFIX_FAILED" -fi - - -# ----------------------------------------- Cloud -post_log_dash " CloudSystem " -post_log "$(ip addr show $iwlan)" # -details -statistics -post_log "$(ping www.diality.com -I $iwlan -c 3 -4)" - -post_log_dash " CloudSync " -if [ -d $HOME/$CLOUDSYNC_FOLDER ]; then - # moving/ backing up the previous treatment logs so the new buff starts with fresh sequence - echo "Backing up CloudSync I/O buff" - CLOUDSYNC_PATH="$SDCARD_MNT"/"$CLOUDSYNC_FOLDER" - CLOUDSYNC_BACKUP="$CLOUDSYNC_PATH"_backup/$(timestamp)/ - mkdir -p $CLOUDSYNC_BACKUP - mv $CLOUDSYNC_PATH/* $CLOUDSYNC_BACKUP 1>> $POSTOUT 2>> $POSTERR - rm $HOME/$CLOUDSYNC_FOLDER/data/* 1>> $POSTOUT 2>> $POSTERR - cd $HOME/$CLOUDSYNC_FOLDER/ - python3 ./cs.py start & - sleep 2 - CLOUDSYNC_STATUS="$(python3 ./cs.py status)" - if [ "$CLOUDSYNC_STATUS" == "$POSTMSG_CLOUDSYNC_RUNNING" ]; then - post_log_pass "$POSTMSG_CLOUDSYNC$POSTMSG_POSTFIX_PASSED" - else - post_log_fail "$POSTMSG_CLOUDSYNC$POSTMSG_POSTFIX_FAILED" - fi - post_log "$CLOUDSYNC_STATUS" - cd -else - post_log_fail "$POSTMSG_CLOUDSYNC$POSTMSG_POSTFIX_FAILED" -fi - - -# ----------------------------------------- Denali -post_log_dash " Denali " -#launching denali application -DENALI_VERSION="$($HOME/$DENALI_BIN -v)" -if [ -n "$DENALI_VERSION" ]; then - post_log_pass "$($HOME/$DENALI_BIN -v)" # log UI Software version - $HOME/$DENALI_BIN -else - post_log_fail "Unknown Applicaion Version" -fi - - -# ----------------------------------------- END -# tag the end time in the POST log file -post_log "End: $(timestamp)" -time_end=$(date +%s) -post_log "time spent: "$(( $time_end - $time_start ))" seconds" -post_log_star " ***** " - -exit 0