tazpanel annotate hardware.cgi @ rev 72

Let search for Kernel modules easily
author Christophe Lincoln <pankso@slitaz.org>
date Tue Apr 12 02:42:53 2011 +0200 (2011-04-12)
parents ba8cd6b7b934
children 25602bc63ca7
rev   line source
pankso@46 1 #!/bin/sh
pankso@46 2 #
pankso@46 3 # Hardware part of TazPanel - Devices, drivers, printing
pankso@46 4 #
pankso@46 5 # Copyright (C) 2011 SliTaz GNU/Linux - GNU gpl v3
pankso@46 6 #
pankso@46 7 echo "Content-Type: text/html"
pankso@46 8 echo ""
pankso@46 9
pankso@46 10 # Common functions from libtazpanel
pankso@46 11 . lib/libtazpanel
pankso@46 12 get_config
pankso@46 13
pankso@46 14 # Include gettext helper script.
pankso@46 15 . /usr/bin/gettext.sh
pankso@46 16
pankso@46 17 # Export package name for gettext.
pankso@46 18 TEXTDOMAIN='tazpanel'
pankso@46 19 export TEXTDOMAIN
pankso@46 20
pankso@46 21 TITLE="- Hardware"
pankso@46 22
pankso@46 23 #
pankso@46 24 # Commands
pankso@46 25 #
pankso@46 26
pankso@46 27 case "$QUERY_STRING" in
pankso@46 28 print*)
pankso@46 29 echo "TODO" ;;
pankso@69 30 modules*|modinfo=*)
pankso@66 31 query_string_parser
pankso@46 32 xhtml_header
pankso@46 33 cat << EOT
pankso@46 34 <div id="wrapper">
pankso@66 35 <h2>`gettext "Kernel modules"`</h2>
pankso@69 36 <div class="float-right">
pankso@69 37 <form method="get" action="$SCRIPT_NAME">
pankso@69 38 <input type="hidden" name="modules" />
pankso@69 39 <input type="text" name="search" />
pankso@69 40 </form>
pankso@69 41 </div>
pankso@72 42 <p>`gettext "Manage, search or get information about the Linux kernel modules`</p>
pankso@46 43 </div>
pankso@46 44 EOT
pankso@66 45 # Request may be modinfo output that we want in the page itself
pankso@72 46 case "$QUERY_STRING" in
pankso@46 47 modinfo=*)
pankso@72 48 echo '<strong>'
pankso@72 49 gettext "Detailed information for module: "; echo "$WANT"
pankso@72 50 echo '</strong>'
pankso@46 51 echo '<pre>'
pankso@72 52 modinfo $WANT
pankso@72 53 echo '</pre>' ;;
pankso@72 54 modprobe=*)
pankso@72 55 echo '<pre>'
pankso@72 56 modprobe -v $WANT
pankso@46 57 echo '</pre>' ;;
pankso@46 58 rmmod=*)
pankso@72 59 #modprobe -r $WANT
pankso@72 60 echo "Removing"
pankso@72 61 rmmod -w $WANT ;;
pankso@72 62 *search=*)
pankso@72 63 gettext "Matching result(s) for: "; echo "$VAR_1"
pankso@71 64 echo '<pre>'
pankso@72 65 modprobe -l | grep "$VAR_1" | while read line
pankso@72 66 do
pankso@72 67 name=$(basename $line)
pankso@72 68 mod=${name%.ko.gz}
pankso@72 69 echo "Module : <a href='$SCRIPT_NAME?modinfo=$mod'>$mod</a> "
pankso@72 70 done
pankso@71 71 echo '</pre>' ;;
pankso@46 72 esac
pankso@46 73 cat << EOT
pankso@46 74 `table_start`
pankso@46 75 <tr class="thead">
pankso@46 76 <td>`gettext "Module"`</td>
pankso@46 77 <td>`gettext "Size"`</td>
pankso@46 78 <td>`gettext "Used"`</td>
pankso@46 79 <td>`gettext "by"`</td>
pankso@46 80 </tr>
pankso@46 81 EOT
pankso@46 82 # Get the list of modules and link to modinfo
pankso@46 83 lsmod | grep ^[a-z] | while read MOD SIZE USED BY
pankso@46 84 do
pankso@46 85 cat << EOT
pankso@46 86 <tr>
pankso@46 87 <td><a href="$SCRIPT_NAME?modinfo=$MOD">$MOD</a></td>
pankso@46 88 <td>$SIZE</td>
pankso@46 89 <td>$USED</td>
pankso@46 90 <td>`echo $BY | sed s/","/" "/g`</td>
pankso@46 91 </tr>
pankso@46 92 EOT
pankso@46 93 done
pankso@66 94 table_end ;;
pankso@66 95 *)
pankso@66 96 #
pankso@66 97 # Default to summary with mounted filesystem, loaded modules
pankso@66 98 #
pankso@66 99 xhtml_header
pankso@67 100
pankso@66 101 cat << EOT
pankso@66 102 <div id="wrapper">
pankso@66 103 <h2>`gettext "Drivers &amp; Devices"`</h2>
pankso@66 104 <p>`gettext "Manage your computer hardware`</p>
pankso@66 105 </div>
pankso@66 106 <div>
pankso@66 107 <a class="button" href="$SCRIPT_NAME?modules">Kernel modules</a>
pankso@66 108 </div>
pankso@66 109 EOT
pankso@66 110 echo '<h3>Filesystem usage statistics</h3>'
pankso@66 111 echo '<pre>'
pankso@66 112 fdisk -l | fgrep Disk
pankso@66 113 echo '</pre>'
pankso@66 114 echo '<pre>'
pankso@66 115 df -h | grep ^/dev
pankso@66 116 echo '</pre>'
pankso@46 117 echo '<h3>lspci</h3>'
pankso@46 118 echo '<pre>'
pascal@61 119 lspci -k
pascal@61 120 echo '</pre>'
pascal@61 121 echo '<h3>lsusb</h3>'
pascal@61 122 echo '<pre>'
pascal@61 123 lsusb
pankso@46 124 echo '</pre>'
pankso@46 125 ;;
pankso@46 126 esac
pankso@46 127
pankso@46 128 xhtml_footer
pankso@46 129 exit 0