mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 10:48:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # --------------------------------------------------------------------------- #
 | |
| # do_wifi_diag.bash
 | |
| #
 | |
| # use this script process a pcap file to diagnose wifi characteristics.
 | |
| # This calls the wifi_pcap_diag.pl script to do the real work.
 | |
| #
 | |
| # -o     Output directory name
 | |
| # -f     Pcap file name
 | |
| # -d     DUT mac (BSSID) address
 | |
| # -C     (Clobber):  Remove output directory if it currently exists
 | |
| #
 | |
| # --------------------------------------------------------------------------- #
 | |
| # scripts
 | |
| 
 | |
| # Check to make sure dependencies are installed
 | |
| present=(
 | |
|   gnuplot
 | |
|   wkhtmltopdf
 | |
|   tshark
 | |
| )
 | |
| killcommand=0
 | |
| for i in "${present[@]}"; do
 | |
|   present=`which $i | awk '{ print length }'`
 | |
|   if [[ $present -gt 0 ]]; then
 | |
|     :
 | |
|   else
 | |
|     killcommand=1
 | |
|     echo "Please install $i on your system"
 | |
|     exit 1
 | |
|   fi
 | |
| done
 | |
| if [[ $killcommand -gt 0 ]]; then
 | |
|   exit 1
 | |
| else
 | |
|   :
 | |
| fi
 | |
| 
 | |
| output_dir=diag_report
 | |
| input_fname=
 | |
| dut=
 | |
| clobber=0
 | |
| show_help=0
 | |
| 
 | |
| while getopts "ho:f:d:C" arg; do
 | |
|   #echo "ARG[$arg] OPTARG[$OPTARG]"
 | |
|   case $arg in
 | |
|   o)
 | |
|     output_dir=$OPTARG
 | |
|     ;;
 | |
|   f)
 | |
|     input_fname=$OPTARG
 | |
|     ;;
 | |
|   d)
 | |
|     dut=$OPTARG
 | |
|     ;;
 | |
|   h)
 | |
|     show_help=1
 | |
|     ;;
 | |
|   C)
 | |
|     clobber=1
 | |
|     ;;
 | |
|   *)
 | |
|     echo "Ignoring option $arg $OPTARG"
 | |
|     ;;
 | |
|   esac
 | |
| done
 | |
| 
 | |
| if [ -z "$input_fname" -o -z "$dut" ]; then
 | |
|   show_help=1
 | |
| fi
 | |
| 
 | |
| if [ $show_help -gt 0 ]; then
 | |
|   echo "Usage: $0 -f {input-pcap-file} -o {output-directory} -d {DUT-bssid}"
 | |
|   echo " $0 -f my.pcap -o report -d dc:ef:09:e3:b8:7d"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| if [ -e $output_dir ]; then
 | |
|   if [ $clobber = "1" ]; then
 | |
|     echo "Removing existing output directory: $output_dir"
 | |
|     rm -fr $output_dir
 | |
|   else
 | |
|     echo "ERROR:  Output directory: $output_dir already exists."
 | |
|     exit 1
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| mkdir -p $output_dir || exit 1
 | |
| 
 | |
| echo "Starting the wifi_pcap_diag.pl script, this can take a while...."
 | |
| tshark -V -r $input_fname | ./wifi_pcap_diag.pl --report_prefix $output_dir --dut $dut >$output_dir/output.txt
 | |
| 
 | |
| echo "All done, open this file with a browser to view report: $output_dir/index.html"
 | |
| exit 0
 |