mirror of https://framagit.org/kyodev/kyopages.git
140 lines
3.6 KiB
Bash
Executable File
140 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# version=1.0
|
|
# 28.11.2017
|
|
|
|
exec 6>&1 # Lie le descripteur de fichier #6 avec stdout, sauvegarde stdout
|
|
exec > tempo # stdout dans tempo
|
|
|
|
echo " ### Advanced Linux Sound Architecture ( ALSA )"
|
|
echo
|
|
## CPU
|
|
echo "CPU ( le premier ) ------------------------------------------------------"
|
|
gawk -F': ' '
|
|
/model name/ {
|
|
gsub(/ /," ")
|
|
print " "$2
|
|
exit
|
|
}
|
|
' /proc/cpuinfo
|
|
echo
|
|
## Mémoire
|
|
echo "Mémoire -----------------------------------------------------------------"
|
|
gawk '
|
|
/MemTotal|SwapTotal/ {
|
|
gsub(/kB/,"ko")
|
|
gsub(/:/,"")
|
|
printf " %-9s %\047d %s\n",$1,$2,$3
|
|
}
|
|
' /proc/meminfo
|
|
echo
|
|
## Matériel
|
|
echo "Matériel ( vidéo, réseau, son ) -----------------------------------------"
|
|
gawk '
|
|
BEGIN { IGNORECASE=1 }
|
|
/VGA .* controller|Display controller|3D controller|Graphic|multimedia/ {
|
|
print " "$0
|
|
}
|
|
/Ethernet controller|Network controller/ {
|
|
print " "$0
|
|
}
|
|
/Audio device|Audio controller|Multimedia audio controller/ &&
|
|
$0 !~ /modem|usb|webcam/ {
|
|
print " "$0
|
|
}
|
|
' <<< $( lspci )
|
|
echo
|
|
## version ALSA
|
|
echo "Version kernel et driver ALSA -------------------------------------------"
|
|
gawk '
|
|
NR == 1 { print " kernel: " $0}
|
|
NR != 1 {
|
|
sub(/Advanced Linux Sound Architecture Driver /,"Driver ALSA : ")
|
|
sub(/Version /,"")
|
|
sub(/.$/,"")
|
|
print " "$0
|
|
}
|
|
' <<< "$( uname -r )"$'\n'"$( cat /proc/asound/version )"
|
|
echo
|
|
## ALSA devices
|
|
echo "ALSA devices ------------------------------------------------------------"
|
|
if [ ! -d /dev/snd ] ; then
|
|
echo "/dev/snd/ : erreur, répertoire inexistant"
|
|
critic="snd"
|
|
else
|
|
gawk '
|
|
!/^d|total/ { print " /dev/snd/"$NF}
|
|
' <<< $( ls -l /dev/snd )
|
|
fi
|
|
echo
|
|
## asound
|
|
echo "/proc/asound ------------------------------------------------------------"
|
|
if [ ! -d /proc/asound ] ; then
|
|
echo "/proc/asound : erreur, répertoire inexistant"
|
|
echo "ALSA n'est pas installé correctement"
|
|
critic="asound"
|
|
else
|
|
gawk ' BEGIN { print " > /proc/asound/cards" }
|
|
{ print " "$0 }' /proc/asound/cards
|
|
|
|
gawk ' BEGIN { print "\n > /proc/asound/devices" }
|
|
{ print " "$0 }' /proc/asound/devices
|
|
|
|
gawk ' BEGIN { print "\n > /proc/asound/hwdep" }
|
|
{ print " "$0 }' /proc/asound/hwdep
|
|
|
|
gawk ' BEGIN { print "\n > /proc/asound/pcm" }
|
|
{ print " "$0 }' /proc/asound/pcm
|
|
|
|
gawk ' BEGIN { print "\n > /proc/asound/seq/clients" }
|
|
{ print " "$0 }' /proc/asound/seq/clients
|
|
fi
|
|
echo
|
|
|
|
## modules
|
|
echo "Modules --------------------------------------------"
|
|
if [ "$critic" ]; then
|
|
echo "erreur critique"
|
|
exit 1
|
|
fi
|
|
lsmod | grep -Eq '(^usb-midi|^audio)'
|
|
if [ $? -eq 0 ]; then
|
|
echo "Warning: OSS modules 'audio' et/ou 'usb-midi' sont chargés"
|
|
echo "cela peut interférer avec le modules ALSA snd-usb-audio."
|
|
echo "créer un fichier .conf dans /etc/modprobe.d/ pour blacklister ces DEUX modules"
|
|
if [ ! -f /etc/hotplug/blacklist ]; then
|
|
echo "You should create a file '/etc/hotplug/blacklist' with"
|
|
echo "both names on it to avoid hotplug loading them."
|
|
else
|
|
grep -Eq '(^usb-midi|^audio)' /etc/hotplug/blacklist
|
|
if [ $? -eq 1 ]; then
|
|
echo "You should add both modules to '/etc/hotplug/blacklist'"
|
|
echo "to avoid hotplug loading them."
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
gawk ' BEGIN { print "\n > /proc/asound/modules" }
|
|
{ print " "$2"\n" }' /proc/asound/modules
|
|
|
|
|
|
modules=$( gawk ' { print " "$2 }' /proc/asound/modules )
|
|
modules=${modules// /}
|
|
echo -"$modules"-
|
|
|
|
# /^snd/
|
|
|
|
gawk '
|
|
#-v modules="$modules"
|
|
# /modules/ { printf " %-25s %s %2s %s\n",$1, $2, $3, $4 }
|
|
/'$( echo $modules )'/ { printf " %-25s %s %2s %s\n",$1, $2, $3, $4 }
|
|
' <<<$( lsmod )
|
|
|
|
echo
|
|
|
|
exec 1>&6 6>&- # Restaure stdout et ferme le descripteur de fichier #6
|
|
pager tempo
|
|
rm tempo
|
|
|
|
exit 0
|