| 
									
										
										
										
											2005-07-05 14:41:28 +00:00
										 |  |  | #!/bin/sh | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | # Autosupport Version 2.0.15 | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | # Collect support information | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | # Copyright (C) 2005-2010, Digium, Inc. | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | # | 
					
						
							|  |  |  | # Written by John Bigelow (support@digium.com) | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | #            Charles Moye (cmoye@digium.com) | 
					
						
							|  |  |  | #            Trey Blancher (trey@digium.com) | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | # | 
					
						
							|  |  |  | # Distributed under the terms of the GNU General Public | 
					
						
							|  |  |  | # License | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | # usage: | 
					
						
							|  |  |  | # autosupport [prefix] | 
					
						
							|  |  |  | # ARGUMENTS: | 
					
						
							|  |  |  | # prefix - Prefix to tarball. (Referenced as $1) | 
					
						
							|  |  |  | #      Example: autosupport <Your Digium Technical Support Ticket number> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Ensure the PATH variable includes '/usr/sbin' and '/sbin' | 
					
						
							|  |  |  | PATH=/usr/sbin:/sbin:${PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DATE_STAMP=$(date +%Y%m%d) | 
					
						
							|  |  |  | OUTPUT_FILE=digiuminfo.txt | 
					
						
							|  |  |  | TARBALL_OUTPUT_FILE="digium-info_${DATE_STAMP}.tar" | 
					
						
							|  |  |  | VAR_LIB_LIST_FILE="list-of-varlibasterisk.txt" | 
					
						
							|  |  |  | FILE_PREFIX= | 
					
						
							|  |  |  | FOLDER_PREFIX="${HOME}/" | 
					
						
							|  |  |  | files="n"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # If a prefix is specified on command-line, add it. | 
					
						
							|  |  |  | if (set -u; : $1) 2> /dev/null | 
					
						
							|  |  |  | then | 
					
						
							|  |  |  |   if [ $1 == "-h" ] || [ $1 == "--help" ]; then | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     echo "Digium autosupport script" | 
					
						
							|  |  |  |     echo "Copyright (C) 2005-2010, Digium, Inc." | 
					
						
							|  |  |  |     echo "Licensed under the terms of the GNU General Public License" | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     echo "usage: autosupport [prefix]" | 
					
						
							|  |  |  |     echo "Valid Options:" | 
					
						
							|  |  |  |     echo "   [prefix]		Prefix to apply to output files" | 
					
						
							|  |  |  |     echo "			May be your existing Digium Technical Support Ticket ID" | 
					
						
							|  |  |  |     echo "   -h, --help		Show help about options" | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     echo "Example:" | 
					
						
							|  |  |  |     echo "    autosupport XXXXXXXX" | 
					
						
							|  |  |  |     echo "Generates:" | 
					
						
							|  |  |  |     echo "    XXXXXXXX_${OUTPUT_FILE}" | 
					
						
							|  |  |  |     echo "    XXXXXXXX_${TARBALL_OUTPUT_FILE}" | 
					
						
							|  |  |  |     echo | 
					
						
							|  |  |  |     exit | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  |   FILE_PREFIX="${FILE_PREFIX}${1}_"; | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-26 19:56:40 +00:00
										 |  |  | MYUID=$(id -u); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ $MYUID -ne  0 ]; then | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  |   echo "You must be root to run this." | 
					
						
							| 
									
										
										
										
											2008-03-26 19:56:40 +00:00
										 |  |  |   exit 1 | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | SUPPORTED_MODULES="wcb4xxp wct4xxp wctc4xxp wctdm wctdm24xxp wcte11xp wcte12xp" | 
					
						
							|  |  |  | RELATED_MODULES="$SUPPORTED_MODULES dahdi_dummy dahdi_transcode dahdi_vpmadt032_loader zaptel ztdummy zttranscode"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT_FILE="${FILE_PREFIX}${OUTPUT_FILE}" | 
					
						
							|  |  |  | TARBALL_OUTPUT_FILE="${FILE_PREFIX}${TARBALL_OUTPUT_FILE}" | 
					
						
							|  |  |  | VAR_LIB_LIST_FILE="${FILE_PREFIX}${VAR_LIB_LIST_FILE}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OUTPUT="${FOLDER_PREFIX}${OUTPUT_FILE}" | 
					
						
							|  |  |  | TARBALL_OUTPUT="${FOLDER_PREFIX}${TARBALL_OUTPUT_FILE}" | 
					
						
							|  |  |  | VAR_LIB_LIST="${FOLDER_PREFIX}${VAR_LIB_LIST_FILE}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Done with setup, now start gathering information. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # function not implemented yet | 
					
						
							|  |  |  | determine_paths() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   ASTERISK_PROCESS=$(ps -o cmd -C asterisk | grep asterisk 2> /dev/null) | 
					
						
							|  |  |  | echo "detected process: $ASTERISK_PROCESS"; | 
					
						
							|  |  |  |   # split on whitespace? or use sed/awk to parse | 
					
						
							|  |  |  |   # get first arg which will be path to Asterisk binary - add this to PATH | 
					
						
							|  |  |  |   # look for a '-C' if that is present, get the arg after it, and make the tarball collect that directory | 
					
						
							|  |  |  |   ## in addition to /etc/asterisk/ or instead of it? | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | collect_digiuminfo() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | # Delete existing OUTPUT | 
					
						
							|  |  |  | [ -f $OUTPUT ] && rm -rf $OUTPUT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Sanity Checks | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "Sanity" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | md5sum $0 >> $OUTPUT; | 
					
						
							|  |  |  | grep "Autosupport Version" $0 | head -n1 >> $OUTPUT | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "Working"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "KERNEL VERSION : uname -a" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | uname -a >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "VERSION INFO : cat /proc/version" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | cat /proc/version >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "CMDLINE INFO : cat /proc/cmdline" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | cat /proc/cmdline >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Check for loaded Zaptel/DAHDI modules | 
					
						
							|  |  |  | for module in dahdi zaptel; do | 
					
						
							|  |  |  |   if [ -d /sys/module/$module ]; then | 
					
						
							|  |  |  |     echo "------------------" >> $OUTPUT | 
					
						
							|  |  |  |     echo "$module version:" >> $OUTPUT | 
					
						
							|  |  |  |     echo "------------------" >> $OUTPUT | 
					
						
							|  |  |  |     echo "/sys/module/$module/version: " >> $OUTPUT | 
					
						
							|  |  |  |     cat /sys/module/$module/version 2> /dev/null >> $OUTPUT | 
					
						
							|  |  |  |     echo "" >> $OUTPUT; | 
					
						
							|  |  |  |     echo -n "." | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DAHDI TOOLS : dahdi_cfg --help" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | dahdi_cfg --help 2>&1 | grep "Version" >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DAHDI HARDWARE : dahdi_hardware" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | dahdi_hardware >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "ASTERISK INFO : asterisk -V" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "asterisk -V:" >> $OUTPUT; | 
					
						
							|  |  |  | asterisk -V >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | # Add check to see if asterisk is running. | 
					
						
							|  |  |  | if [ -e /var/run/asterisk.ctl ] || [ -e /var/run/asterisk/asterisk.ctl ]; then | 
					
						
							|  |  |  |   for command in "show version" "core show version" "pri show version" "dahdi show version" "transcoder show" \ | 
					
						
							|  |  |  |       "core show uptime" "pri show spans" "misdn show stacks" "zap show channels" "dahdi show channels" \ | 
					
						
							|  |  |  |       "dahdi show channel 1" "core show channels" "skype show version" "skype show licenses" "skype show users" \ | 
					
						
							|  |  |  |       "show g729" "g729 show version" "g729 show licenses" "fax show version" "fax show licenses" "fax show stats" ; do | 
					
						
							|  |  |  |     echo "asterisk -rx \"$command\"" >> $OUTPUT; | 
					
						
							|  |  |  |     asterisk -rx "$command" >> $OUTPUT; | 
					
						
							|  |  |  |     echo >> $OUTPUT; | 
					
						
							|  |  |  |     echo -n "." | 
					
						
							|  |  |  |   done | 
					
						
							| 
									
										
										
										
											2008-04-15 17:17:37 +00:00
										 |  |  |   echo >> $OUTPUT; | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "OTHER INFO : cat /etc/*{issue,release,version}*" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | for file in $(ls /etc/*issue* /etc/*release* /etc/*version* \ | 
					
						
							|  |  |  |   /etc/*motd* /etc/asterisknow-version /dev/zap/ /dev/dahdi/ \ | 
					
						
							|  |  |  |   2> /dev/null); do | 
					
						
							|  |  |  |   if [ -f $file ]; then | 
					
						
							|  |  |  |     echo "$file:" >> $OUTPUT; | 
					
						
							|  |  |  |     cat $file >> $OUTPUT; | 
					
						
							|  |  |  |     echo >> $OUTPUT; | 
					
						
							|  |  |  |     echo -n "." | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "RUNNING PROCESSES : ps aux" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | ps aux >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "INTERRUPTS : cat /proc/interrupts" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | cat /proc/interrupts >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | sleep 2; | 
					
						
							|  |  |  | echo "---------- sleep(2) ----------" >> $OUTPUT; | 
					
						
							|  |  |  | cat /proc/interrupts >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DAHDI SCAN : dahdi_scan" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | dahdi_scan >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "----------------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "CAT OF DAHDI/ZAPTEL CHANNELS : cat /proc/dahdi/" >> $OUTPUT; | 
					
						
							|  |  |  | echo "----------------------------" >> $OUTPUT; | 
					
						
							|  |  |  | for tech in dahdi zaptel zap; do | 
					
						
							|  |  |  |   if [ -d /proc/$tech/ ]; then | 
					
						
							|  |  |  |     for file in $(ls /proc/$tech/ 2> /dev/null); do | 
					
						
							|  |  |  |       echo "----------------------------" >> $OUTPUT; | 
					
						
							|  |  |  |       echo "/proc/$tech/$file:" >> $OUTPUT; | 
					
						
							|  |  |  |       cat /proc/$tech/$file >> $OUTPUT; | 
					
						
							|  |  |  |       echo >> $OUTPUT; | 
					
						
							|  |  |  |       echo -n "." | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DMESG OUTPUT : dmesg" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | dmesg >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "LOADED MODULES : lsmod" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | lsmod >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Grab the parameters for each module | 
					
						
							|  |  |  | for mod in $SUPPORTED_MODULES; do | 
					
						
							|  |  |  |   if [ -d /sys/module/$mod ]; then | 
					
						
							|  |  |  |     echo "------------------" >> $OUTPUT | 
					
						
							|  |  |  |     echo "$mod parameters" >> $OUTPUT | 
					
						
							|  |  |  |     echo "------------------" >> $OUTPUT | 
					
						
							|  |  |  |     echo "/sys/module/$mod/parameters:" >> $OUTPUT | 
					
						
							|  |  |  |     for param in $(ls /sys/module/$mod/parameters/ /sys/module/$mod/ 2> /dev/null); do | 
					
						
							|  |  |  |       if [ -f /sys/module/$mod/parameters/$param ]; then | 
					
						
							|  |  |  |         echo -n "$param:  " >> $OUTPUT | 
					
						
							|  |  |  |         cat /sys/module/$mod/parameters/$param 2> /dev/null >> $OUTPUT | 
					
						
							|  |  |  |       elif [ -f /sys/module/$mod/$param ]; then | 
					
						
							|  |  |  |         # Handle Zaptel doing it differently | 
					
						
							|  |  |  |         echo -n "$param:  " >> $OUTPUT | 
					
						
							|  |  |  |         cat /sys/module/$mod/$param 2> /dev/null >> $OUTPUT | 
					
						
							|  |  |  |       fi | 
					
						
							|  |  |  |       echo -n "." | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |     echo >> $OUTPUT | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DAHDI/ZAPTEL MODULE INFO : modinfo" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------------" >> $OUTPUT; | 
					
						
							|  |  |  | for file in $(ls /lib/modules/$(uname -r)/dahdi/*.ko \ | 
					
						
							|  |  |  |   /lib/modules/$(uname -r)/dahdi/*/*.ko\ | 
					
						
							|  |  |  |   /lib/modules/$(uname -r)/extra/*.ko \ | 
					
						
							|  |  |  |   /lib/modules/$(uname -r)/extra/*/*.ko \ | 
					
						
							|  |  |  |   /lib/modules/$(uname -r)/misc/*.ko \ | 
					
						
							|  |  |  |   /lib/modules/$(uname -r)/misc/*/*.ko 2> /dev/null); do | 
					
						
							|  |  |  |   if [ -f $file ]; then | 
					
						
							|  |  |  |     echo "------------------------" >> $OUTPUT; | 
					
						
							|  |  |  |     modinfo $file >> $OUTPUT; | 
					
						
							|  |  |  |     echo >> $OUTPUT; | 
					
						
							|  |  |  |     echo -n "." | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | echo "------------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "PCI LIST : lspci -vvvb" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | lspci -vvvb >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "PCI LIST(no lookup) : lspci -vvvbn" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | lspci -vvvbn >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "CPU INFO : cat /proc/cpuinfo" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | cat /proc/cpuinfo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "----------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "VPM FIRMWARE INSTALLED : ls -la /lib/firmware" >> $OUTPUT; | 
					
						
							|  |  |  | echo "----------------------" >> $OUTPUT; | 
					
						
							|  |  |  | $(ls -la /lib/firmware 2> /dev/null >> $OUTPUT); | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "NETWORK INFO : route -n; iptables -L; ifconfig" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | route -n 2> /dev/null >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | iptables -L 2> /dev/null >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | ifconfig 2> /dev/null >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "DMIDECODE : dmidecode" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | dmidecode >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | echo -n "." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | echo "KERNEL CONFIG : cat /path/.config" >> $OUTPUT; | 
					
						
							|  |  |  | echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  | for file in /lib/modules/$(uname -r)/build/.config /usr/src/linux/.config; do | 
					
						
							|  |  |  |   if [ -f $file ]; then | 
					
						
							|  |  |  |     echo "------------------" >> $OUTPUT; | 
					
						
							|  |  |  |     echo "$file:" >> $OUTPUT; | 
					
						
							|  |  |  |     cat $file >> $OUTPUT; | 
					
						
							|  |  |  |     echo >> $OUTPUT; | 
					
						
							|  |  |  |     echo -n "." | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | echo >> $OUTPUT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "done!" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | collect_var_lib_list() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   # Delete existing VAR_LIB_LIST | 
					
						
							|  |  |  |   [ -f $VAR_LIB_LIST ] && rm -rf $VAR_LIB_LIST | 
					
						
							|  |  |  |   DIR_LISTING="/var/lib/asterisk/" | 
					
						
							|  |  |  |   if [ -d /var/lib/digium ]; then | 
					
						
							|  |  |  |     DIR_LISTING="/var/lib/digium/ ${DIR_LISTING}" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  |   if [ -d /usr/lib/asterisk/modules/ ]; then | 
					
						
							|  |  |  |     DIR_LISTING="/usr/lib/asterisk/modules/ ${DIR_LISTING}" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  |   echo "ls -1aAR $DIR_LISTING > $VAR_LIB_LIST" | 
					
						
							|  |  |  |   $(ls -1aR ${DIR_LISTING} | sed -e '/^\.\.*$/d' > $VAR_LIB_LIST); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | collect_config_backup() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   collect_var_lib_list | 
					
						
							|  |  |  |   # Include the /etc/asterisk directory, modprobe.conf, and the modprobe.d directory | 
					
						
							|  |  |  |   TAR_FILES="/etc/asterisk/ /etc/modprobe.*" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check if any Asterisk licenses are installed | 
					
						
							|  |  |  |   # G.729, Fax, ABE, Cepstral, Skype, etc. | 
					
						
							|  |  |  |   if [ -d /var/lib/asterisk/licenses/ ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /var/lib/asterisk/licenses/*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check if any Digium licenses are installed | 
					
						
							|  |  |  |   # HPEC | 
					
						
							|  |  |  |   if [ -d /var/lib/digium/licenses/ ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /var/lib/digium/licenses/*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check if DAHDI is installed | 
					
						
							|  |  |  |   if [ -d /etc/dahdi ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/dahdi*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for Zaptel Module configuration | 
					
						
							|  |  |  |   if [ -f /etc/sysconfig/zaptel ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/sysconfig/zaptel*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for Zaptel Module configuration (alternate location) | 
					
						
							|  |  |  |   if [ -f /etc/default/zaptel ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/default/zaptel*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Grab the dahdi/zaptel init scripts, in case they have been modified | 
					
						
							|  |  |  |   for driver in dahdi zaptel; do | 
					
						
							|  |  |  |     if [ -f /etc/init.d/$driver ]; then | 
					
						
							|  |  |  |       TAR_FILES="$TAR_FILES /etc/init.d/$driver" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |   done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for zaptel.conf | 
					
						
							|  |  |  |   if [ -f /etc/zaptel.conf ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/zaptel*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for fxotune.conf | 
					
						
							|  |  |  |   if [ -f /etc/fxotune.conf ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/fxotune.conf*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for misdn-init.conf | 
					
						
							|  |  |  |   if [ -f /etc/misdn-init.conf ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /etc/misdn-init.conf*" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for digiuminfo.txt | 
					
						
							|  |  |  |   if [ -f $HOME/$OUTPUT_FILE ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES $OUTPUT_FILE" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Check for asterisk listing | 
					
						
							|  |  |  |   if [ -f $VAR_LIB_LIST ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES $VAR_LIB_LIST_FILE" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Collect System Log Files | 
					
						
							|  |  |  |   if [ -f /var/log/dmesg ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /var/log/dmesg" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  |   if [ -f /var/log/messages ]; then | 
					
						
							|  |  |  |     TAR_FILES="$TAR_FILES /var/log/messages" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   [ -f $TARBALL_OUTPUT ] && rm -rf $TARBALL_OUTPUT | 
					
						
							|  |  |  |   [ -f $TARBALL_OUTPUT.gz ] && rm -rf $TARBALL_OUTPUT.gz | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   echo "tarring: tar -chvf ${TARBALL_OUTPUT} $TAR_FILES" | 
					
						
							|  |  |  |   cd $HOME && tar -chvf $TARBALL_OUTPUT $TAR_FILES | 
					
						
							|  |  |  |   echo "gzipping $TARBALL_OUTPUT" | 
					
						
							|  |  |  |   gzip $TARBALL_OUTPUT | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | clear; | 
					
						
							| 
									
										
										
										
											2008-03-26 19:56:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | echo | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | echo "This script will try to collect the following pieces of" | 
					
						
							|  |  |  | echo "information from your system." | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "1. Information about your system such as:" | 
					
						
							|  |  |  | echo "pci listing, dmesg, running processes, and kernel version" | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "2. A backup of elements of your configuration such as:" | 
					
						
							|  |  |  | echo "asterisk config files, license files, loaded dahdi/zaptel module" | 
					
						
							|  |  |  | echo "parameters, and other asterisk/dahdi/zaptel related files." | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | echo "Collect this information [y/n] ? " | 
					
						
							|  |  |  | read files; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "$files" = "y" ] || [ "$files" = "yes" ]; then | 
					
						
							|  |  |  |   echo "This may take up to half a minute to run. Please be patient." | 
					
						
							|  |  |  |   collect_digiuminfo; | 
					
						
							|  |  |  |   collect_config_backup; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # ensure the output was written | 
					
						
							|  |  |  |   if [ -f $TARBALL_OUTPUT.gz ]; then | 
					
						
							|  |  |  |     clear; | 
					
						
							|  |  |  |     echo; | 
					
						
							|  |  |  |     echo; | 
					
						
							|  |  |  |     echo "Tarball has been stored to:" | 
					
						
							|  |  |  |     echo "$TARBALL_OUTPUT.gz" | 
					
						
							|  |  |  |     echo "Please send this file to an email case you already" | 
					
						
							|  |  |  |     echo "have open with Digium Tech Support." | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     echo; | 
					
						
							|  |  |  |     echo; | 
					
						
							|  |  |  |     echo "An error has occurred in capturing information." | 
					
						
							|  |  |  |     echo "$TARBALL_OUTPUT.gz was not found." | 
					
						
							|  |  |  |     echo; | 
					
						
							|  |  |  |     echo "Please investigate your system, and send the output" | 
					
						
							|  |  |  |     echo "above to your Digium Technical Support Ticket." | 
					
						
							|  |  |  |   fi | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  |   clear; | 
					
						
							|  |  |  |   echo; | 
					
						
							|  |  |  |   echo "User selected not to continue." | 
					
						
							| 
									
										
										
										
											2005-01-21 03:43:03 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2011-01-04 21:00:16 +00:00
										 |  |  | exit |