#!/bin/sh ########################################################################### # # Copyright (c) 2021-2023 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file wifi_info.sh # # @author (last) Behrouz NematiPour # @date (last) 15-Jan-2025 # @author (original) Behrouz NematiPour # @date (original) 15-Jan-2025 # ############################################################################ # Description # Gets the active connection information # Parameters # No Parameters # Retruns # A csv string of the active connection info # with the columns defined $COLUMNS in order. # Considerations # For the Application to work with the List of APs # - it has to be sorted by SSID # - it has to use defined columns exactly as has been defined in $COLUMN. # sources . ./_errors_ . ./_functions_ # variables PARAM_COUNT=0 COLUMNS="IP4.ADDRESS,IP4.GATEWAY,IP4.DNS" # functions # checks check_param_count "$#" "$PARAM_COUNT" # main SSID="$(sudo nmcli -t -f NAME connection show --active)" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_SSID" IPMASK="$(sudo nmcli -t -g IP4.ADDRESS device show wlan0)" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_IPMASK" ADDR="$(echo $IPMASK | sed 's/\/.*//g')" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_ADDR" MASK="$(sudo ipcalc -m "$(echo $IPMASK)" | sed "s/NETMASK=//g")" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_MASK" GATEWAY="$(sudo nmcli -t -g IP4.GATEWAY device show wlan0)" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_GATEWAY" DNS="$(sudo nmcli -t -g IP4.DNS device show wlan0 | sed "s/ //g"| sed 's/|/,/g')" check_result "$?" "$ERR_CMDFAIL_WIFI_INFO_DNS" echo "$SSID,$ADDR,$MASK,$GATEWAY,$DNS" exit 0