Commit graph

41 commits

Author SHA1 Message Date
Pierre-Louis Bossart
cc0bcef813 alsa-info.sh: log SoundWire devices reported in ACPI
Track SoundWire devices reported in ACPI, this will help detect
missing or invalid configurations.

For now we only filter information from Realtek, Cirrus Logic and TI,
based on the manufacturer ID of their devices.

Example log for the classic RT711/RT1316x2/RT714 configuration.

!!ACPI SoundWire Device Status Information
!!---------------

Realtek 0x000030025d071101
Realtek 0x000331025d131601
Realtek 0x000230025d131601
Realtek 0x000130025d071401

As noted by reviewers, the script reports everything exposed in
ACPI. In practice some of the devices listed may not be physically
populated in hardware, or be listed as attached on a link that's
disabled by the manager. The drivers can cope with this case, it's not
technically an error.

Closes: https://github.com/alsa-project/alsa-utils/pull/264
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2024-04-22 10:03:28 +02:00
Jaroslav Kysela
1238ba1a7c alsa-info.sh: increase version to 0.5.3
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2023-05-03 16:41:26 +02:00
wileyhy
37e396cab4 alsa-info.sh: uname - reduce execs by four, and eliminate a logic bug
Per `info uname`, `uname` always prints its data in the same order.
Also, "note that A && B || C is not if-then-else. C may run when A is true."
https://www.shellcheck.net/wiki/SC2015

set -x; read -r KERNEL_VERSION < <(uname -v); smp=x; \
  [[ "$KERNEL_VERSION" = *SMP* ]] && \
  { smp=y; readonly smp; false;} || smp=n; set -

  ... https://github.com/koalaman/shellcheck

Fixes: https://github.com/alsa-project/alsa-utils/pull/207
From: wileyhy @ github
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2023-05-03 16:36:04 +02:00
wileyhy
4588b2f8ae alsa-info.sh: Update test '-a' and '-o' to '&&' and '||'
lines 50, 103: in two compound ['s, replace '-a' with '] && ['
  SC2166 – Prefer `[ p ] && [ q ]` as `[ p -a q ]` is not well defined.
  SC2107 – Instead of `[ a && b ]`, use `[ a ] && [ b ]`.

line 45: in a compound test command, change '-o' to '|| test'
  SC1139 – Use `||` instead of `-o` between test commands.
  SC2109 – Instead of `[ a || b ]`, use `[ a ] || [ b ]`.

 ... https://github.com/koalaman/shellcheck

Fixes: https://github.com/alsa-project/alsa-utils/pull/206
From: wileyhy @ github
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2023-05-03 16:29:52 +02:00
Jaroslav Kysela
ca503e3519 alsa-info.sh: print ctl-led list from sysfs
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2023-03-24 09:07:43 +01:00
Jaroslav Kysela
c6a9e53ca0 alsa-info.sh: Fix alsa-usbstream.tmp test
Fixes: https://github.com/alsa-project/alsa-utils/issues/115
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-12-03 14:52:52 +01:00
bengan
bdb10da3aa alsa-info.sh: Add jack2 (jackdbus) detection
BugLink: https://github.com/alsa-project/alsa-utils/pull/74
Signed-off-by: bengan <bengan@bag.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-03-05 21:21:34 +01:00
Bruno Vernay
a4cff92223 alsa-info.sh: Use HTTPS instead of HTTP
Signed-off-by: Bruno Vernay <brunovern.a@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-03-05 21:13:12 +01:00
Jaroslav Kysela
30809f395e alsa-info.sh: add PipeWire daemon detection
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-03-05 18:21:43 +01:00
Jaroslav Kysela
f67020abcf alsa-info.sh: bumb version to 0.5.0
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-03-05 18:09:52 +01:00
Jaroslav Kysela
c1f8cc2f07 alsa-info.sh: add sysfs card info section
It may be useful to dump the sysfs tree to gather
more runtime information.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-02-22 10:56:34 +01:00
Jaroslav Kysela
c990f9a8ad alsa-info.sh: add card number to the ALSA module list section
Previous output:

  !!Loaded ALSA modules
  !!-------------------

  snd_hda_intel
  snd_usb_audio

New output:

  !!Loaded ALSA modules
  !!-------------------

  snd_hda_intel (card 0)
  snd_usb_audio (card 1)

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-02-22 10:55:14 +01:00
Jaroslav Kysela
8cd781be74 alsa-info.sh: add audio keyword to the dmesg filter
Example:

sof-audio-pci 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2021-01-26 19:30:23 +01:00
Takashi Iwai
5812f37d87 alsa-info: Add lsusb and stream outputs
We need more detailed information for USB-audio devices, at least the
lsusb -v output and the contents of stream* proc files.
Let's add them to alsa-info.sh output.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-12-09 18:35:49 +01:00
Pierre-Louis Bossart
20f87c14d9 alsa-info: provide DMI system sku
The system sku is used in SOF machine drivers to set specific quirks,
expose it in alsa-info to help support users. Example on a SoundWire
enabled device:

cat /sys/class/dmi/id/product_sku
0A32
dmidecode -s system-sku-number
0A32

Add a variable and expose the results of both methods.

Note that the dmidecode support is very recent and might not yet be
available in all distros:

http://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=d70d5e686148eabe90c89fbf4cdcf5258db5aa05

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-10-06 13:01:57 +02:00
Jaroslav Kysela
7fbd2311e2 alsa-info.sh: command -v cleanups
Inspired in https://github.com/alsa-project/alsa-utils/pull/29 .

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-07-01 16:27:13 +02:00
Jaroslav Kysela
3d35bce271 alsa-info.sh: declare variables separately from the assign (coverity)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-06-09 10:24:41 +02:00
Jaroslav Kysela
2cfeffb6e8 alsa-info.sh: increase version to 0.4.65
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-05-04 10:05:41 +02:00
Michael Shigorin
8e59029c9c alsa-info: initial rpm/deb package info
This might become a Pandora's box given
the amount of obscure package managers
on the planet but these two account for
most *nix-like systems with ALSA it seems.

Added support for querying ALSA packages
installed through rpm and dpkg; tested
on ALT (rpm) and OS Elbrus (dpkg).

Suggested-by: Anton Farygin <rider@altlinux.org>
See-also: http://bugzilla.altlinux.org/38416
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-05-01 10:57:16 +02:00
Michael Shigorin
217fef4a0b alsa-info.sh: add ALT to DISTRO list
Suggested-by: Anton Farygin <rider@altlinux.org>
See-also: http://bugzilla.altlinux.org/38416
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2020-05-01 10:57:07 +02:00
David Ward
27b5c6c19c alsa-info.sh: Warn after actual upload failure; do not ping server
Check the return value of wget to determine if the upload actually
failed. If so, display the message about upload failure, then exit.

Do not ping the web server; the result does not indicate whether a
file upload will succeed or not.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:41 +01:00
David Ward
fe322c46e6 alsa-info.sh: Perform test for wget earlier
If wget is not present, do not ask about uploading the information.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:41 +01:00
David Ward
f93d491a08 alsa-info.sh: Condense nested commands for formatting upload result
Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:41 +01:00
David Ward
ad49ee756b alsa-info.sh: Condense nested commands for file upload
Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:41 +01:00
David Ward
1ebe877b8d alsa-info.sh: Remove progress spinner during upload without dialog
The spinner did not actually provide information about the status
of the file upload, and caused other problems: it would repeatedly
spawn new pgrep processes (without a delay between them), and it
blocked the script if any wget process was running on the system.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:40 +01:00
David Ward
d928f7667c alsa-info.sh: Replace gauge with infobox for upload dialog
The gauge did not actually show the upload progress; in fact, the
dialog did not even appear until after the upload was completed.

Use an infobox instead, which will be displayed while wget runs.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:40 +01:00
David Ward
e9e3c3a27d alsa-info.sh: Exit script after writing information to stdout
The '--stdout' option is mutually exclusive with uploading the file.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:40 +01:00
David Ward
de5ce14163 alsa-info.sh: Use existing function to print ALSA configuration files
Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:40 +01:00
David Ward
068dd55717 alsa-info.sh: Simplify iteration over cards when calling amixer
Read card names directly from individual procfs files, and pass them
to amixer using the '-c' option.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:40 +01:00
David Ward
86b1f80e24 alsa-info.sh: Read from /proc/modules and sort the result
Sorting the list of loaded modules makes it much easier to compare
two alsa-info.txt files, even if they are both from the same system
(since the order actually changes after each reboot).

lsmod just formats the contents of /proc/modules. After this script
calls lsmod, it strips everything but module names from the output.
This same result can be obtained just as easily by reading directly
from /proc/modules; then there is no need to remove the header line
printed by lsmod before sorting the output.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:39 +01:00
David Ward
11e083d81c alsa-info.sh: Consolidate PCI device output
Include numeric IDs and subsystem info in the PCI device output,
without placing them in a separate section.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-07 14:04:39 +01:00
Jaroslav Kysela
a558b71e63 alsa-info.sh: cleanups
- fix awk arguments
- backticks/gravemarks removal
- some cosmetic and indentation changes
- add REQUIRES to check the basic tools

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2019-03-12 15:53:03 +01:00
Pierre-Louis Bossart
1fefc14402 alsa-info: add ACPI device status
BIOS vendors typically reuse the same definitions between different
platforms and expose the relevant hardware by changing the value of
the _STA method.

For example on the Asus T100HA, there are 3 HID values for audio
codecs in the DSDT table but two have a zero status and will be
ignored by the ACPI subsystem.

$ more /sys/bus/acpi/devices/10EC*/status
::::::::::::::
/sys/bus/acpi/devices/10EC3270:00/status
::::::::::::::
15
::::::::::::::
/sys/bus/acpi/devices/10EC5640:00/status
::::::::::::::
0
::::::::::::::
/sys/bus/acpi/devices/10EC5648:00/status
::::::::::::::
0

This information is very useful to figure out which HIDs/quirks need
to be supported. Add log to alsa-info.sh to only expose non-zero
results of the ACPI _STA method, e.g.

!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/10EC3270:00/status 	 15

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-01-10 09:09:57 +01:00
Pierre-Louis Bossart
541c7a6460 alsa-info: provide more DMI information
Some manufacturers don't provide useful information for Manufacturer
and Product Name but instead use Board Vendor and Board Name fields,
add them to alsa-info log

Example on Intel NUC:

!!DMI Information
!!---------------

Manufacturer:
Product Name:
Product Version:
Firmware Version:  KYSKLi70.86A.0042.2016.0929.1933
Board Vendor:      Intel Corporation
Board Name:        NUC6i7KYB

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-01-10 09:09:43 +01:00
Jaroslav Kysela
d1de8fc4c4 alsa-info: add alsa-info.sh.1 to EXTRA_DIST 2016-03-31 16:36:50 +02:00
Jaroslav Kysela
d633469c9d alsa-info.sh: add man page 2016-01-13 09:47:28 +01:00
Takashi Iwai
8188c2466a alsa-info: Don't try update when wget isn't available
... otherwise it overwrites a zero size file.  Also add a check of
zero size file in the update procedure, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-04-27 21:29:06 +02:00
Jaroslav Kysela
d9021f34d9 alsa-info.sh: add script to EXTRA_DIST (automake) 2015-02-26 15:47:27 +01:00
David Henningsson
808af5fdb0 alsa-info: Refactor "withall" logic
Previously, using --output, --no-upload, --upload and --pastebin
switches implied the withall switch.

A more intuitive logic would be that --with-all is disabled if you
use another --with* switch, such as --withdmesg, and only then.

Also update script version to reflect the behaviour change.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-08-22 11:08:35 +02:00
David Henningsson
4f569affc4 alsa-info: Make sure all full script is run even with "output" option
For some reason, when the --output option is used, less information
is included compared to when no options are used. This is unexpected.

Fix this by running "withall" also when the output option is used.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-08-22 11:08:28 +02:00
Takashi Iwai
87a9446d28 Add alsa-info.sh to alsa-utils repo
Copied the latest version (0.4.63) from alsa-driver repo.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-07-30 12:18:07 +02:00