[alsa-devel] [PATCH] 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.
Signed-off-by: Travis Place wishie@wishie.net
On Tue, Jul 01, 2008 at 02:31:37AM +1000, Travis Place wrote:
+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).
+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.
On Mon, 2008-06-30 at 17:42 +0100, Mark Brown wrote:
On Tue, Jul 01, 2008 at 02:31:37AM +1000, Travis Place wrote:
+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).
This will certainly be a pain, if the info keep moving around.. unless we do some quick 'search' for the 'dmi' dir.
+fi
How about bios_vendor, bios_date and bios_version as well?
How useful is the BIOS information going to be, in most cases ?
For embedded devices the relevant information is often in /proc/cpuinfo so 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
On Tue, Jul 01, 2008 at 03:36:00AM +1000, Travis Place wrote:
On Mon, 2008-06-30 at 17:42 +0100, Mark Brown wrote:
How about bios_vendor, bios_date and bios_version as 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.
For embedded devices the relevant information is often in /proc/cpuinfo so 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, Mark Brown wrote:
On Tue, Jul 01, 2008 at 03:36:00AM +1000, Travis Place wrote:
On Mon, 2008-06-30 at 17:42 +0100, Mark Brown wrote:
For embedded devices the relevant information is often in /proc/cpuinfo so 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.
Agreed. Maybe better to be marked to collapse, since this wouldn't be important in most cases with x86* architectures.
thanks,
Takashi
On Tue, Jul 01, 2008 at 11:50:52AM +0200, Takashi Iwai wrote:
Mark Brown wrote:
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, Travis Place wrote:
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.
On Mon, 2008-06-30 at 17:42 +0100, Mark Brown wrote:
On Tue, Jul 01, 2008 at 02:31:37AM +1000, Travis Place wrote:
+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).
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.
+fi
How about bios_vendor, bios_date and bios_version as 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
participants (3)
-
Mark Brown
-
Takashi Iwai
-
Travis Place