Double quote to prevent globbing and word splitting. { cmd1; cmd2; } >> file instead of individual redirects. --- package/utils/ct-bugcheck/src/bugcheck.sh | 154 +++++++++++++++--------------- 1 file changed, 77 insertions(+), 77 deletions(-)
diff --git a/package/utils/ct-bugcheck/src/bugcheck.sh b/package/utils/ct-bugcheck/src/bugcheck.sh index 85f70c5..a930440 100755 --- a/package/utils/ct-bugcheck/src/bugcheck.sh +++ b/package/utils/ct-bugcheck/src/bugcheck.sh @@ -9,49 +9,51 @@ FOUND_BUG=0 # set -x -bugcheck_generic() -{ - echo "LEDE crashlog report" > $CRASHDIR/info.txt - date >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "uname" >> $CRASHDIR/info.txt - uname -a >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "os-release" >> $CRASHDIR/info.txt - cat /etc/os-release >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "os-release" >> $CRASHDIR/info.txt - cat /etc/os-release >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "dmesg output" >> $CRASHDIR/info.txt - dmesg >> $CRASHDIR/info.txt - if [ -x /usr/bin/lspci ] - then - echo >> $CRASHDIR/info.txt - echo "lspci" >> $CRASHDIR/info.txt - lspci >> $CRASHDIR/info.txt +bugcheck_generic() { + { + echo "LEDE crashlog report" + date + echo + echo "uname" + uname -a + echo + echo "os-release" + cat /etc/os-release + echo + echo "os-release" + cat /etc/os-release + echo + echo "dmesg output" + dmesg + } > $CRASHDIR/info.txt + if [ -x /usr/bin/lspci ]; then + { + echo + echo "lspci" + lspci + } >> $CRASHDIR/info.txt fi - echo >> $CRASHDIR/info.txt - echo "cpuinfo" >> $CRASHDIR/info.txt - cat /proc/cpuinfo >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "meminfo" >> $CRASHDIR/info.txt - cat /proc/cpuinfo >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "cmdline" >> $CRASHDIR/info.txt - cat /proc/cmdline >> $CRASHDIR/info.txt - echo >> $CRASHDIR/info.txt - echo "lsmod" >> $CRASHDIR/info.txt - lsmod >> $CRASHDIR/info.txt + { + echo + echo "cpuinfo" + cat /proc/cpuinfo + echo + echo "meminfo" + cat /proc/cpuinfo + echo + echo "cmdline" + cat /proc/cmdline + echo + echo "lsmod" + lsmod + } >> $CRASHDIR/info.txt } roll_crashes() { # Roll any existing crashes - if [ -d $CRASHDIR ] - then - if [ -d $CRASHDIR.1 ] - then + if [ -d $CRASHDIR ]; then + if [ -d $CRASHDIR.1 ]; then rm -fr $CRASHDIR.1 fi mv $CRASHDIR $CRASHDIR.1 @@ -62,48 +64,46 @@ roll_crashes() } # ath10k, check debugfs entries. -for i in /sys/kernel/debug/ieee80211/*/ath10k/fw_crash_dump -do - #echo "Checking $i" - if cat $i > $TMPLOC/ath10k_crash.bin 2>&1 - then - FOUND_BUG=1 - - #echo "Found ath10k crash data in $i" - roll_crashes - - ADIR=${i/fw_crash_dump/} - - CTFW=0 - if grep -- -ct- $TMPLOC/ath10k_crash.bin > /dev/null 2>&1 - then - CTFW=1 - fi - - echo "Send bug reports to:" > $CRASHDIR/report_to.txt - if [ -f $ADIR/ct_special -o $CTFW == "1" ] - then - # Looks like this is CT firmware or driver... - echo "gree...@candelatech.com" >> $CRASHDIR/report_to.txt - echo "and/or report or check for duplicates here:" >> $CRASHDIR/report_to.txt - echo "https://github.com/greearb/ath10k-ct/issues" >> $CRASHDIR/report_to.txt - else - # Not sure who would want these bug reports for upstream... - echo "https://www.lede-project.org/" >> $CRASHDIR/report_to.txt - fi - echo >> $CRASHDIR/report_to.txt - echo "Please attach all files in this directory to bug reports." >> $CRASHDIR/report_to.txt - - mv $TMPLOC/ath10k_crash.bin $CRASHDIR - - # Add any more ath10k specific stuff here. - - # And call generic bug reporting logic - bugcheck_generic - fi +for i in /sys/kernel/debug/ieee80211/*/ath10k/fw_crash_dump; do + #echo "Checking $i" + if cat "$i" > $TMPLOC/ath10k_crash.bin 2>&1; then + FOUND_BUG=1 + + #echo "Found ath10k crash data in $i" + roll_crashes + + ADIR=${i/fw_crash_dump/} + + CTFW=0 + if grep -- -ct- $TMPLOC/ath10k_crash.bin > /dev/null 2>&1; then + CTFW=1 + fi + + echo "Send bug reports to:" > $CRASHDIR/report_to.txt + if [ -f "$ADIR"/ct_special ] || [ $CTFW = "1" ]; then + # Looks like this is CT firmware or driver... + { + echo "gree...@candelatech.com" + echo "and/or report or check for duplicates here:" + echo "https://github.com/greearb/ath10k-ct/issues" + } >> $CRASHDIR/report_to.txt + else + # Not sure who would want these bug reports for upstream... + echo "https://www.lede-project.org/" >> $CRASHDIR/report_to.txt + fi + echo >> $CRASHDIR/report_to.txt + echo "Please attach all files in this directory to bug reports." >> $CRASHDIR/report_to.txt + + mv $TMPLOC/ath10k_crash.bin $CRASHDIR + + # Add any more ath10k specific stuff here. + + # And call generic bug reporting logic + bugcheck_generic + fi done -if [ $FOUND_BUG == "1" ] +if [ $FOUND_BUG = "1" ] then # Notify LUCI somehow? echo "bugcheck.sh found an issue to be reported" > /dev/kmsg -- 2.10.0 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev