name and the received/transmitted bytes through the MIDI device.
When the card is equipped with AC97 codecs, there are codec97#*
-subdirectories (desribed later).
+subdirectories (described later).
When the OSS mixer emulation is enabled (and the module is loaded),
oss_mixer file appears here, too. This shows the current mapping of
substreams, etc.
card*/pcm*/xrun_debug
- This file appears when CONFIG_SND_DEBUG=y.
- This shows the status of xrun (= buffer overrun/xrun) debug of
- ALSA PCM middle layer, as an integer from 0 to 2. The value
- can be changed by writing to this file, such as
+ This file appears when CONFIG_SND_DEBUG=y and
+ CONFIG_PCM_XRUN_DEBUG=y.
+ This shows the status of xrun (= buffer overrun/xrun) and
+ invalid PCM position debug/check of ALSA PCM middle layer.
+ It takes an integer value, can be changed by writing to this
+ file, such as
+
+ # echo 5 > /proc/asound/card0/pcm0p/xrun_debug
+
+ The value consists of the following bit flags:
+ bit 0 = Enable XRUN/jiffies debug messages
+ bit 1 = Show stack trace at XRUN / jiffies check
+ bit 2 = Enable additional jiffies check
+ bit 3 = Log hwptr update at each period interrupt
+ bit 4 = Log hwptr update at each snd_pcm_update_hw_ptr()
+
+ When the bit 0 is set, the driver will show the messages to
+ kernel log when an xrun is detected. The debug message is
+ shown also when the invalid H/W pointer is detected at the
+ update of periods (usually called from the interrupt
+ handler).
- # cat 2 > /proc/asound/card0/pcm0p/xrun_debug
+ When the bit 1 is set, the driver will show the stack trace
+ additionally. This may help the debugging.
- When this value is greater than 0, the driver will show the
- messages to kernel log when an xrun is detected. The debug
- message is shown also when the invalid H/W pointer is detected
- at the update of periods (usually called from the interrupt
- handler).
+ Since 2.6.30, this option can enable the hwptr check using
+ jiffies. This detects spontaneous invalid pointer callback
+ values, but can be lead to too much corrections for a (mostly
+ buggy) hardware that doesn't give smooth pointer updates.
+ This feature is enabled via the bit 2.
- When this value is greater than 1, the driver will show the
- stack trace additionally. This may help the debugging.
+ Bits 3 and 4 are for logging the hwptr records. Note that
+ these will give flood of kernel messages.
card*/pcm*/sub*/info
The general information of this PCM sub-stream.
# echo 02 9f1f > /proc/asound/card0/codec97#0/ac97#0-0+regs
+USB Audio Streams
+-----------------
+
+card*/stream*
+ Shows the assignment and the current status of each audio stream
+ of the given card. This information is very useful for debugging.
+
+
+HD-Audio Codecs
+---------------
+
+card*/codec#*
+ Shows the general codec information and the attribute of each
+ widget node.
+
+card*/eld#*
+ Available for HDMI or DisplayPort interfaces.
+ Shows ELD(EDID Like Data) info retrieved from the attached HDMI sink,
+ and describes its audio capabilities and configurations.
+
+ Some ELD fields may be modified by doing `echo name hex_value > eld#*`.
+ Only do this if you are sure the HDMI sink provided value is wrong.
+ And if that makes your HDMI audio work, please report to us so that we
+ can fix it in future kernel releases.
+
+
Sequencer Information
---------------------
Lists the currently available ALSA sequencer drivers.
seq/clients
- Shows the list of currently available sequencer clinets and
+ Shows the list of currently available sequencer clients and
ports. The connection status and the running status are shown
in this file, too.
seq/queues
- Lists the currently allocated/running sequener queues.
+ Lists the currently allocated/running sequencer queues.
seq/timer
Lists the currently allocated/running sequencer timers.
mode. This will give you the kernel messages when and where xrun
happened.
-If it's really a bug, report it with the following information
+If it's really a bug, report it with the following information:
- the name of the driver/card, show in /proc/asound/cards
- - the reigster dump, if available (e.g. card*/cmipci)
+ - the register dump, if available (e.g. card*/cmipci)
when it's a PCM problem,