300d2202389a9b2bbaea27931724c06fe430edeb
[asterisk/asterisk.git] / contrib / scripts / autosupport
1 #!/bin/sh
2 #
3 # Collect support information
4 #
5 # Copyright (C) 2005, Digium, Inc.
6 #
7 # Written by John Bigelow (support@digium.com)
8 #
9 # Distributed under the terms of the GNU General Public
10 # License
11 #
12
13 OUTPUT=$HOME/digiuminfo
14
15 MYUID=$(id -u);
16
17 if [ $MYUID -ne  0 ]; then
18
19   echo "You must be root to run this."
20   exit 1
21 fi
22
23 clear
24
25 echo
26 echo "This will gather information about your system such as:"
27 echo "pci listing, dmesg, running processes, and kernel version"
28 echo "This may take up to half a minute to run. Please be patient."
29 echo "To continue press 'y', to quit press any other key"
30 read ans
31
32 if [ "$ans" = "y" ]; then
33
34   rm -f $OUTPUT
35
36   echo "------------------" >> $OUTPUT;
37   echo "PCI LIST" >> $OUTPUT;
38   echo "------------------" >> $OUTPUT;
39   lspci -vvvb >> $OUTPUT;
40   echo >> $OUTPUT;
41   echo >> $OUTPUT;
42
43   echo "------------------" >> $OUTPUT;
44   echo "PCI LIST(no lookup)" >> $OUTPUT;
45   echo "------------------" >> $OUTPUT;
46   lspci -vvvbn >> $OUTPUT;
47   echo >> $OUTPUT;
48   echo >> $OUTPUT;
49
50   echo "------------------" >> $OUTPUT;
51   echo "INTERRUPTS" >> $OUTPUT;
52   echo "------------------" >> $OUTPUT;
53   cat /proc/interrupts >> $OUTPUT;
54   echo >> $OUTPUT;
55   echo >> $OUTPUT;
56
57   echo "------------------" >> $OUTPUT;
58   echo "RUNNING PROCESSES" >> $OUTPUT;
59   echo "------------------" >> $OUTPUT;
60   ps aux >> $OUTPUT;
61   echo >> $OUTPUT;
62   echo >> $OUTPUT;
63
64   echo "------------------" >> $OUTPUT;
65   echo "KERNEL VERSION" >> $OUTPUT;
66   echo "------------------" >> $OUTPUT;
67   uname -a >> $OUTPUT;
68   echo >> $OUTPUT;
69   echo >> $OUTPUT;
70   
71   echo "------------------" >> $OUTPUT;
72   echo "CPU INFO" >> $OUTPUT;
73   echo "------------------" >> $OUTPUT;
74   cat /proc/cpuinfo >> $OUTPUT;
75   echo >> $OUTPUT;
76   echo >> $OUTPUT;
77
78   echo "------------------" >> $OUTPUT;
79   echo "VERSION INFO" >> $OUTPUT;
80   echo "------------------" >> $OUTPUT;
81   cat /proc/version >> $OUTPUT;
82   echo >> $OUTPUT;
83   echo >> $OUTPUT;
84
85   echo "------------------" >> $OUTPUT;
86   echo "CMDLINE INFO" >> $OUTPUT;
87   echo "------------------" >> $OUTPUT;
88   cat /proc/cmdline >> $OUTPUT;
89   echo >> $OUTPUT;
90   echo >> $OUTPUT;
91
92   echo "------------------" >> $OUTPUT;
93   echo "KERNEL CONFIG" >> $OUTPUT;
94   echo "------------------" >> $OUTPUT;
95   echo "/lib/modules/$(uname -r)/build/.config:" >> $OUTPUT;
96   cat /lib/modules/$(uname -r)/build/.config >> $OUTPUT;
97   echo >> $OUTPUT;
98   echo "/usr/src/linux/.config:" >> $OUTPUT;
99   cat /usr/src/linux/.config >> $OUTPUT;
100   echo >> $OUTPUT;
101   echo >> $OUTPUT;
102
103   echo "------------------" >> $OUTPUT;
104   echo "DAHDI MODULE INFO" >> $OUTPUT;
105   echo "------------------" >> $OUTPUT;
106   modinfo /lib/modules/$(uname -r)/dahdi/*.ko >> $OUTPUT;
107   echo >> $OUTPUT;
108   echo >> $OUTPUT;
109   
110   echo "------------------" >> $OUTPUT;
111   echo "OTHER INFO" >> $OUTPUT;
112   echo "------------------" >> $OUTPUT;
113   echo "/etc/*issues*:" >> $OUTPUT;
114   cat /etc/*issues* >> $OUTPUT;
115   echo >> $OUTPUT;
116   echo "/etc/*release*:" >> $OUTPUT;
117   cat /etc/*release* >> $OUTPUT;
118   echo >> $OUTPUT;
119   echo "/etc/*motd*:" >> $OUTPUT;
120   cat /etc/*motd* >> $OUTPUT;
121   echo >> $OUTPUT;
122   echo >> $OUTPUT;
123
124   echo "------------------" >> $OUTPUT;
125   echo "LOADED MODULES" >> $OUTPUT;
126   echo "------------------" >> $OUTPUT;
127   lsmod >> $OUTPUT;
128   echo >> $OUTPUT;
129   echo >> $OUTPUT;
130
131   echo "------------------" >> $OUTPUT;
132   echo "ZTTEST" >> $OUTPUT;
133   echo "------------------" >> $OUTPUT;
134   zttest -c 20 >> $OUTPUT;
135   echo >> $OUTPUT;
136   echo >> $OUTPUT;
137
138   echo "------------------" >> $OUTPUT;
139   echo "DMESG OUTPUT" >> $OUTPUT;
140   echo "------------------" >> $OUTPUT;
141   dmesg >> $OUTPUT;
142   echo >> $OUTPUT;
143   echo >> $OUTPUT;
144
145   echo "------------------" >> $OUTPUT;
146   echo "DMIDECODE" >> $OUTPUT;
147   echo "------------------" >> $OUTPUT;
148   dmidecode >> $OUTPUT;
149   echo >> $OUTPUT;
150   echo >> $OUTPUT;
151
152   #jpeeler: REVISIT
153   echo "------------------" >> $OUTPUT;
154   echo "ZAPTEL CONFIG" >> $OUTPUT;
155   echo "------------------" >> $OUTPUT;
156   grep -v '^#' /etc/dahdi.conf >> $OUTPUT;
157   echo >> $OUTPUT;
158   echo >> $OUTPUT;
159
160   echo "------------------" >> $OUTPUT;
161   echo "ZAPATA CONFIG" >> $OUTPUT;
162   echo "------------------" >> $OUTPUT;
163   grep -v '^;' /etc/asterisk/chan_dahdi.conf >> $OUTPUT;
164   echo >> $OUTPUT;
165   echo >> $OUTPUT;
166
167   echo "------------------" >> $OUTPUT;
168   echo "EXTENSIONS CONFIG" >> $OUTPUT;
169   echo "------------------" >> $OUTPUT;
170   grep -v '^;' /etc/asterisk/extensions.conf >> $OUTPUT;
171   echo >> $OUTPUT;
172   echo >> $OUTPUT;
173
174 else
175   echo "terminated";
176 exit
177 fi
178
179 clear
180
181 echo
182 echo "Digium may require root level access to the system to help debug";
183 echo "the problem you are experiencing. Do you want to provide login";
184 echo "information at this time? Please note that if you do so, change";
185 echo "your root password to a secure temporary password for Digium support";
186 echo "Press 'y' for yes and any other key to exit and save the previous info collected"
187 read login
188
189 if [ "$login" = "y" ]; then
190
191   echo "------------------" >> $OUTPUT;
192   echo "LOGIN INFORMATION" >> $OUTPUT;
193   echo "------------------" >> $OUTPUT;
194
195   echo
196   echo "What is your root password?"
197   read rootpass
198
199   echo
200   echo "Root pass: "$rootpass >> $OUTPUT
201
202   echo
203   echo "What is your PUBLIC IP address?"
204   read ip
205
206   echo "IP address: "$ip >> $OUTPUT
207
208   echo
209   echo "Please provide any other login information that the technician"
210   echo "may need to know to login to the system'(press enter if not)'"
211   read adinfo
212
213   echo "Additional login info: "$adinfo >> $OUTPUT
214
215   clear
216   echo 
217   echo "All information has been stored in $OUTPUT,"
218   echo "Please attach this file to an email case you already"
219   echo "have open with Digium Tech Support."
220
221 else
222   clear
223   echo
224   echo "All information except login info has been stored in $OUTPUT,"
225   echo "Please send this file to an email case you already"
226   echo "have open with Digium Tech Support."
227 exit
228 fi
229
230
231