Add some system information to alsa-info.sh output
PATCH 1/1 Add some system information to alsa-info.sh output
First some information about this..
I was planning on using dmidecode to fetch this information, but that required 1) the script be run as root, and 2) requires the user to have dmidecode installed (most people wouldnt). So we fetch from /sys/ (if available).
Patch attached.
Changelog: Fetch the board_vendor, product_version and product_name from DMI in /sys/ (if available). Increased alsa-info.sh version to 0.4.49.
alsa-info.sh.wishie renamed from alsa-info.sh +16 -1
@@ -1,6 +1,6 @@ #!/bin/bash -SCRIPT_VERSION=0.4.48 +SCRIPT_VERSION=0.4.49 CHANGELOG="http://www.alsa-project.org/alsa-info.sh.changelog" #################################################################################
@@ -288,6 +288,12 @@ cat /proc/asound/modules 2>/dev/null|awk {'print $2'}>/tmp/alsainfo/alsamodules.tmp cat /proc/asound/cards >/tmp/alsainfo/alsacards.tmp lspci |grep -i "multi\|audio">/tmp/alsainfo/lspci.tmp +if [ -d $SYSFS ] +then +BOARD_VENDOR=`cat /sys/devices/virtual/dmi/id/board_vendor` +PRODUCT_VERSION=`cat /sys/devices/virtual/dmi/id/product_version` +PRODUCT_NAME=`cat /sys/devices/virtual/dmi/id/product_name` +fi #Check for HDA-Intel cards codec#* cat /proc/asound/card*/codec\#* > /tmp/alsainfo/alsa-hda-intel.tmp 2> /dev/null
@@ -311,6 +317,15 @@ echo $DISTRO >> $FILE echo "" >> $FILE echo "" >> $FILE +if [ -d $SYSFS ] +then +echo "!!Hardware Information" >> $FILE +echo "!!--------------------" >> $FILE +echo "Board Vendor: $BOARD_VENDOR" >> $FILE +echo "Product: $PRODUCT_VERSION ($PRODUCT_NAME)" >> $FILE +echo "" >> $FILE +echo "" >> $FILE +fi echo "!!Kernel Information" >> $FILE echo "!!------------------" >> $FILE echo "" >> $FILE
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
alsa-info.sh.wishie line 295
Quoted 5 lines · Travis Place
alsa-info.sh.wishie renamed from alsa-info.sh +5
-0+if [ -d $SYSFS ] +then +BOARD_VENDOR=`cat /sys/devices/virtual/dmi/id/board_vendor` +PRODUCT_VERSION=`cat /sys/devices/virtual/dmi/id/product_version` +PRODUCT_NAME=`cat /sys/devices/virtual/dmi/id/product_name`
This produces visible errors if the information isn't present (which would be reasonable enough). It might be better to check for errors and include something about being unable to read DMI information in the report - that'd be a bit less scary.
Also, on my system the DMI information is under /sys/class/dmi rather than /sys/devices/virtual (this is with 2.6.25).
Quoted 1 line
+fi
How about bios_vendor, bios_date and bios_version as well?
For embedded devices the relevant information is often in /proc/cpuinfo so it might be worth adding that too.
I think i was a bit quick/excited about getting this info in there..Tested on my 2 machines here (both running 2.6.24 though) without issues.. Will have to look into it further (after taking your advice) and rework this patch.
Quoted 13 lines · Mark Brown
alsa-info.sh.wishie line 295
Quoted 5 lines · Travis Place
alsa-info.sh.wishie renamed from alsa-info.sh +5
-0+if [ -d $SYSFS ] +then +BOARD_VENDOR=`cat /sys/devices/virtual/dmi/id/board_vendor` +PRODUCT_VERSION=`cat /sys/devices/virtual/dmi/id/product_version` +PRODUCT_NAME=`cat /sys/devices/virtual/dmi/id/product_name`This produces visible errors if the information isn't present (which would be reasonable enough). It might be better to check for errors and include something about being unable to read DMI information in the report - that'd be a bit less scary.
Quoted 2 lines
Also, on my system the DMI information is under
/sys/class/dmirather than/sys/devices/virtual(this is with 2.6.25).
This will certainly be a pain, if the info keep moving around.. unless we do some quick 'search' for the 'dmi' dir.
Quoted 5 lines
Quoted 2 lines
+fi
How about
bios_vendor,bios_dateandbios_versionas well?
How useful is the BIOS information going to be, in most cases ?
Quoted 2 lines
For embedded devices the relevant information is often in
/proc/cpuinfoso it might be worth adding that too.
Can i get an example output or 'cpuinfo' on an embedded device (if you have one available) so i can see what im looking for.
Thanks,
Travis Place
Quoted 5 lines · Travis Place
Quoted 1 line · Mark Brown
How about
bios_vendor,bios_dateandbios_versionas well?How useful is the BIOS information going to be, in most cases ?
Well, ideally most of the time all this information will be useless since everything will work fine :) . I'd expect it to be useful sometimes for handling things like broken information about setup for HDA codecs.
Quoted 5 lines
Quoted 2 lines
For embedded devices the relevant information is often in
/proc/cpuinfoso it might be worth adding that too.Can i get an example output or 'cpuinfo' on an embedded device (if you have one available) so i can see what im looking for.
The particular output varies with platform and some platforms allow machine drivers to add entirely custom fields - it's probably safest to just include the entire file.
At Tue, 1 Jul 2008 10:34:52 +0100,
Quoted 7 lines · Mark Brown
Quoted 4 lines · Travis Place
Quoted 2 lines · Mark Brown
For embedded devices the relevant information is often in
/proc/cpuinfoso it might be worth adding that too.
Quoted 6 lines
Quoted 2 lines
Can i get an example output or 'cpuinfo' on an embedded device (if you have one available) so i can see what im looking for.
The particular output varies with platform and some platforms allow machine drivers to add entirely custom fields - it's probably safest to just include the entire file.
Agreed. Maybe better to be marked to collapse, since this wouldn't be important in most cases with x86* architectures.
thanks,
Takashi
Quoted 8 lines · Takashi Iwai
Quoted 3 lines · Mark Brown
The particular output varies with platform and some platforms allow machine drivers to add entirely custom fields - it's probably safest to just include the entire file.
Agreed. Maybe better to be marked to collapse, since this wouldn't be important in most cases with x86* architectures.
Yeah - I meant to only suggest including this information if there was no DMI information available.
At Tue, 01 Jul 2008 03:36:00 +1000,
Quoted 20 lines · Travis Place
I think i was a bit quick/excited about getting this info in there..Tested on my 2 machines here (both running 2.6.24 though) without issues.. Will have to look into it further (after taking your advice) and rework this patch.
Quoted 13 lines · Mark Brown
alsa-info.sh.wishie line 295
Quoted 5 lines · Travis Place
alsa-info.sh.wishie renamed from alsa-info.sh +5
-0+if [ -d $SYSFS ] +then +BOARD_VENDOR=`cat /sys/devices/virtual/dmi/id/board_vendor` +PRODUCT_VERSION=`cat /sys/devices/virtual/dmi/id/product_version` +PRODUCT_NAME=`cat /sys/devices/virtual/dmi/id/product_name`This produces visible errors if the information isn't present (which would be reasonable enough). It might be better to check for errors and include something about being unable to read DMI information in the report - that'd be a bit less scary.
Quoted 5 lines
Quoted 2 lines
Also, on my system the DMI information is under
/sys/class/dmirather than/sys/devices/virtual(this is with 2.6.25).This will certainly be a pain, if the info keep moving around.. unless we do some quick 'search' for the 'dmi' dir.
Well, just keeping a couple of possible places and checking each direcory should suffice instead of just checking /sys.
Quoted 6 lines
Quoted 5 lines
Quoted 2 lines
+fi
How about
bios_vendor,bios_dateandbios_versionas well?How useful is the BIOS information going to be, in most cases ?
It'd be helpful if a certain BIOS version is known to be broken. Or, for comparing two devices, one working and one not-working.
thanks,
Takashi