!!################################ !!ALSA Information Script v 0.4.58 !!################################ !!Script ran on: Tue Sep 22 18:11:06 UTC 2009 !!Linux Distribution !!------------------ Slackware 13.0.0.0.0 !!DMI Information !!--------------- Manufacturer: Hewlett-Packard Product Name: HP Pavilion dv4 Notebook PC !!Kernel Information !!------------------ Kernel release: 2.6.29.6-smp Operating System: GNU/Linux Architecture: i686 Processor: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz SMP Enabled: Yes !!ALSA Version !!------------ Driver version: 1.0.21 Library version: 1.0.21 Utilities version: 1.0.21 !!Loaded ALSA modules !!------------------- snd_hda_intel !!Sound Servers on this system !!---------------------------- ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No aRts: Installed - Yes (/opt/kde3/bin/artsd) Running - No Jack: Installed - Yes (/usr/bin/jackd) Running - No !!Soundcards recognised by ALSA !!----------------------------- 0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xdf300000 irq 33 !!PCI Soundcards installed in the system !!-------------------------------------- 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) !!Advanced information - PCI Vendor/Device/Susbsystem ID's !!-------------------------------------------------------- 00:1b.0 0403: 8086:293e (rev 03) Subsystem: 103c:30f7 !!Loaded sound module options !!-------------------------- !!Module: snd_hda_intel bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 1 id : ,,,,,,, index : -1,-1,-1,-1,-1,-1,-1,-1 model : hp-m4,,,,,,, patch : ,,,,,,, position_fix : 0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : 1,-1,-1,-1,-1,-1,-1,-1 probe_only : N,N,N,N,N,N,N,N single_cmd : N !!HDA-Intel Codec information !!--------------------------- --startcollapse-- Codec: IDT 92HD71B7X Address: 0 Function Id: 0x1 Vendor Id: 0x111d76b2 Subsystem Id: 0x103c30f7 Revision Id: 0x100302 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1 GPIO: io=8, o=0, i=0, unsolicited=1, wake=1 IO[0]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Power-Map: 0x01 Analog Loopback: 0x00 Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0000001c: OUT HP Detect Pin Default 0x0221201f: [Jack] HP Out at Ext Front Conn = 1/8, Color = Grey DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0x00: Unsolicited: tag=01, enabled=1 Connection: 3 0x10 0x11* 0x17 Node 0x0b [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00001724: IN Detect Vref caps: HIZ 50 GRD 80 Pin Default 0x02a12020: [Jack] Mic at Ext Front Conn = 1/8, Color = Grey DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=02, enabled=1 Node 0x0c [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00001724: IN Detect Vref caps: HIZ 50 GRD 80 Pin Default 0x40f100f8: [N/A] Other at Ext N/A Conn = 1/8, Color = Unknown DefAssociation = 0xf, Sequence = 0x8 Pin-ctls: 0x00: VREF_HIZ Unsolicited: tag=00, enabled=0 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000014: OUT Detect Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT Unsolicited: tag=00, enabled=0 Connection: 3 0x10* 0x11 0x17 Node 0x0e [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00001724: IN Detect Vref caps: HIZ 50 GRD 80 Pin Default 0x01813040: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=03, enabled=1 Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x00000014: OUT Detect Pin Default 0x40f100f0: [N/A] Other at Ext N/A Conn = 1/8, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Unsolicited: tag=00, enabled=0 Connection: 3 0x10* 0x11 0x17 Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x6f 0x6f] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Amp-Out caps: N/A Amp-Out vals: [0x5f 0x5f] Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Delay: 13 samples Node 0x12 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D3, actual=D3 Delay: 13 samples Connection: 1 0x1c Processing caps: benign=0, ncoeff=0 Node 0x13 [Audio Input] wcaps 0x1d0541: Stereo Converter: stream=0, channel=0 SDI-Select: 0 Power: setting=D3, actual=D3 Delay: 13 samples Connection: 1 0x1d Processing caps: benign=0, ncoeff=0 Node 0x14 [Pin Complex] wcaps 0x400100: Mono Pincap 0x00000010: OUT Pin Default 0x40f100f2: [N/A] Other at Ext N/A Conn = 1/8, Color = Unknown DefAssociation = 0xf, Sequence = 0x2 Pin-ctls: 0x00: Connection: 1 0x16 Node 0x15 [Audio Selector] wcaps 0x300101: Stereo Connection: 3 0x10* 0x11 0x17 Node 0x16 [Audio Mixer] wcaps 0x200100: Mono Connection: 1 0x15 Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] Connection: 5 0x10 0x11 0x27 0x1a 0x1b Node 0x18 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x95a6912e: [Fixed] Mic at Int Top Conn = Digital, Color = Pink DefAssociation = 0x2, Sequence = 0xe Misc = NO_PRESENCE Pin-ctls: 0x00: Node 0x19 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Pincap 0x00000020: IN Pin Default 0x40f000f5: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x5 Pin-ctls: 0x00: Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-Out vals: [0x03 0x03] Connection: 3 0x0b* 0x0c 0x0e Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-Out vals: [0x03 0x03] Connection: 3 0x0b* 0x0c 0x0e Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x8f 0x8f] Connection: 4 0x1a* 0x17 0x18 0x19 Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x8f 0x8f] Connection: 4 0x1b* 0x17 0x18 0x19 Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT Pin Default 0x40f000f3: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x3 Pin-ctls: 0x00: Connection: 1 0x24 Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital Pincap 0x00010010: OUT EAPD EAPD 0x0: Pin Default 0x40f000f6: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x6 Pin-ctls: 0x00: Power: setting=D0, actual=D0 Connection: 2 0x24* 0x25 Node 0x20 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT Pin Default 0x40f000f7: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x7 Pin-ctls: 0x00: Connection: 1 0x25 Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Delay: 4 samples Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x24 [Audio Selector] wcaps 0x300101: Stereo Connection: 3 0x21* 0x1c 0x1d Node 0x25 [Audio Selector] wcaps 0x300101: Stereo Connection: 3 0x22* 0x1c 0x1d Node 0x26 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1 Amp-Out vals: [0x00] Node 0x27 [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown DefAssociation = 0xf, Sequence = 0x0 Pin-ctls: 0x00: Node 0x28 [Volume Knob Widget] wcaps 0x600000: Mono Volume-Knob: delta=1, steps=127, direct=1, val=127 Connection: 2 0x10 0x11 --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw---- 1 root audio 116, 0 Sep 22 2009 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 4 Sep 22 2009 /dev/snd/hwC0D0 crw-rw---- 1 root audio 116, 24 Sep 22 20:09 /dev/snd/pcmC0D0c crw-rw---- 1 root audio 116, 16 Sep 22 20:09 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 1 Sep 22 18:43 /dev/snd/seq crw-rw---- 1 root audio 116, 33 Sep 22 2009 /dev/snd/timer !!ALSA configuration files !!------------------------ !!System wide config file (/etc/asound.conf) # vim:set ft=alsaconf noet ts=8 sw=2: # Updated 090117 notes {at} notes.for.sabi.co.UK # # Syntax (somewhat) described in these links: # http://ALSA-project.org/alsa-doc/alsa-lib/conf.html # http://ALSA-project.org/alsa-doc/alsa-lib/confarg.html # http://ALSA-project.org/alsa-doc/alsa-lib/conffunc.html # http://ALSA-project.org/alsa-doc/alsa-lib/confhooks.html # In this file I use a style similar to the one I use for CSS style sheets. # It may also help to read: # http://WWW.sabi.co.UK/Notes/linuxSoundALSA.html # Also check carefully the contents of '/usr/share/alsa/alsa.conf', # especially for the one liners defining standard device names # and attributess, or the output of 'arecord -L' or 'aplay -L'. # The device names "default", "dsp0", "mixer0" have special meanings. # Standard channel number assignments: # 0 front left 1 front right, # 2 rear left 3 rear right # 4 center 5 lfe/subwoofer # 6 side left 7 side right ######################################################################## # Read very carefully the ALSA PCM plugin page at: # http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html # For the 'asym', 'dsnoop', 'dmix' plugins also read: # http://ALSA.OpenSrc.org/index.php/Asym # http://ALSA.OpenSrc.org/index.php/Dsnoop # http://ALSA.OpenSrc.org/index.php/Dmix # http://ALSA.OpenSrc.org/index.php/How_to_use_softvol_to_control_the_master_volume pcm.c20 { @args [ CARD ] @args.CARD { type string; default "0"; } type hw; card $CARD; } pcm.c40 = pcm.surround40; pcm.c51 = pcm.surround51; pcm.dsp { @args [ SNOOP MIX ] @args.SNOOP { type string; } @args.MIX { type string; } type asym; capture.pcm $SNOOP; playback.pcm $MIX; } pcm.rec { @args [ KEY PCM ] @args.KEY { type integer; } @args.PCM { type string; } type dsnoop; ipc_key $KEY; slave.pcm $PCM; } pcm.iec { @args [ PCM ] @args.PCM { type string; } type iec958; slave.pcm $PCM; } # For Tribes 2, which has the channels reversed. # http://home.Erin.UToronto.CA/~jbonham/tribes2-alsa.html pcm.swap { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; ttable.0.1 1; ttable.1.0 1; } # Buffering (period time defaults to 125000 usecs). # Size of period, expressed either in usec or byte units: # period_time USECS # period_size BYTES # Size of buffers, expressed either in period, usec, or byte units: # periods PERIODS # buffer_time USECS # buffer_size BYTES # The ALSA docs have examples with 'period_time' set to 0, when # 'period_size' and 'buffer_size' are used instead, but this can # cause trouble in later releases of ALSA. # For OSS compatibility, 'period_size' and 'buffer_size' should # be powers of 2. Also, many cards cannot accept a 'period_size' # much greater than 4096, so 4096 is mostly safe. Some like the # nForce 8x0 compatibles require a smaller one still. # On my VIA 8233A, any value for 'period_time' greater than # 85333 usecs (precisely!) causes hiccups in sound output. # Why? At 48kHz, 85333 usec are just over 4096 bytes/channel. pcm_slave.dmix-slave { @args [ CHAN PCM RATE PSIZE BSIZE PTIME BTIME ] @args.CHAN { type integer; } @args.PCM { type string; } @args.RATE { type integer; default 48000; } @args.PSIZE { type integer; default 4096; } @args.BSIZE { type integer; default 40960; } @args.PTIME { type integer; default 84000; } @args.BTIME { type integer; default 840000; } pcm $PCM; rate $RATE; period_time $PTIME; buffer_time $BTIME; period_size $PSIZE; buffer_size $BSIZE; channels $CHAN; } # 2/4/6 CHANNEL SW SHARING # ######################## pcm.dmix-20 { @args [ KEY PCM RATE PSIZE BSIZE PTIME BTIME ] @args.KEY { type integer; } @args.PCM { type string; } @args.RATE { type integer; default 48000; } @args.PSIZE { type integer; default 4096; } @args.BSIZE { type integer; default 40960; } @args.PTIME { type integer; default 84000; } @args.BTIME { type integer; default 840000; } type dmix; ipc_key $KEY; # slave { @func concat # strings [ "dmix-slave:2," $PCM "," $RATE "," # $PSIZE "," $BSIZE "," $PTIME "," $BTIME ] }; slave { pcm $PCM; rate $RATE; period_time $PTIME; buffer_time $BTIME; period_size $PSIZE; buffer_size $BSIZE; channels 2; } bindings.0 0; bindings.1 1; } pcm.dmix-40 { @args [ KEY PCM RATE PSIZE BSIZE PTIME BTIME ] @args.KEY { type integer; } @args.PCM { type string; } @args.RATE { type integer; default 48000; } @args.PSIZE { type integer; default 4096; } @args.BSIZE { type integer; default 40960; } @args.PTIME { type integer; default 84000; } @args.BTIME { type integer; default 840000; } type dmix; ipc_key $KEY; # slave { @func concat # strings [ "dmix-slave:4," $PCM "," $RATE "," # $PSIZE "," $BSIZE "," $PTIME "," $BTIME ] }; slave { pcm $PCM; rate $RATE; period_time $PTIME; buffer_time $BTIME; period_size $PSIZE; buffer_size $BSIZE; channels 4; } bindings.0 0; bindings.1 1; bindings.2 2; bindings.3 3; } pcm.dmix-51 { @args [ KEY PCM RATE PSIZE BSIZE PTIME BTIME ] @args.KEY { type integer; } @args.PCM { type string; } @args.RATE { type integer; default 48000; } @args.PSIZE { type integer; default 4096; } @args.BSIZE { type integer; default 40960; } @args.PTIME { type integer; default 84000; } @args.BTIME { type integer; default 840000; } type dmix; ipc_key $KEY; # slave { @func concat # strings [ "dmix-slave:6," $PCM "," $RATE "," # $PSIZE "," $BSIZE "," $PTIME "," $BTIME ] }; slave { pcm $PCM; rate $RATE; period_time $PTIME; buffer_time $BTIME; period_size $PSIZE; buffer_size $BSIZE; channels 6; } bindings.0 0; bindings.1 1; bindings.2 2; bindings.3 3; bindings.4 4; bindings.5 5; } # 4/6 CHANNEL AS STEREO # ##################### # Distribute 2 channel stereo to 4 or 5.1 surround channels # 'surround40' and 'surround51' should be predefined. # http://ALSA.OpenSrc.org/index.php?page=FAQ028 # http://ALSA.OpenSrc.org/index.php?page=SurroundSound # 'table.X.Y Z' means add channel 'X' multiplied by 'Z' to 'Y'. # Does not support sharing, stack 'dmix' for that. # Note that all (some?) USB sound device config do not define the # 'surroundXY' style name, so substitute the equivalent 'hw' name. pcm.stereo-40 { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; slave.channels 4; ttable.0.0 1.0; ttable.0.2 0.6; ttable.1.1 1.0; ttable.1.3 0.6; } pcm.stereo-51 { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; slave.channels 6; ttable.0.0 1.0; ttable.0.2 0.6; ttable.0.4 0.3; ttable.0.5 0.3; ttable.1.1 1.0; ttable.1.3 0.6; ttable.1.4 0.3; ttable.1.5 0.3; } # 4 CHANNEL AS 2 STEREO # ##################### # Using one four channel card as two stereo cards. # http://ALSA.OpenSrc.org/index.php?page=.asoundrc # Note that all (some?) USB sound device config do not define the # 'surroundXY' style name, so substitute the equivalent 'hw' name. pcm.card-f { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; slave.channels 2; ttable.0.0 1.0; ttable.1.1 1.0; } # Note that all (some?) USB sound device config do not define the # 'surroundXY' style name, so substitute the equivalent 'hw' name. pcm.card-r { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; slave.channels 4; ttable.0.2 1.0; ttable.1.3 1.0; } pcm.card-s { @args [ PCM ] @args.PCM { type string; } type route; slave.pcm $PCM; slave.channels 8; ttable.0.6 1.0; ttable.1.7 1.0; } pcm.soft { @args [ CARD CTL PCM ] @args.CARD { type string; default "0"; } @args.CTL { type string; default "Master"; } @args.PCM { type string; } type softvol; slave.pcm $PCM; control { name $CTL; card $CARD; } } ######################################################################## # The top level shared pseudo device, with both PCM and CTL interfaces # The ALSA default is "default", but many programs like XMMS and 'aoss' # assume "dsp0" as default name for PCM and "mixer0" for CTL. # Amazingly, XMMS has problems if one defines 'pcm.dsp0' to be # 'plug' for 'pcm.asym0' and not directly as 'asym'. ctl.!default = ctl.dsp0; pcm.!default = pcm.dsp0; ctl.pulse { type pulse; } pcm.pulse { type pulse; } ######################################################################## # The two detailed card configurations are for generic 2 to 5.1 channel # chipsets. It is assumed that both cards need software sharing, and can # only natively handle 48000Hz. # These assumptions are fairly typical of recent (2004) low end and # on-motherboard cards and chipsets, and their configs are not really # specific to either models. ######################################################################## ctl.dmixer { type hw; card 0 } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 4096 rate 44100 } bindings { 0 0 1 1 } } # CARD 0 DEVICES # ############## ctl.card0 { type hw; card 0; } pcm.card0 { type hw; card 0; } pcm.dsnoop0 = "rec:23760,card0"; ctl.dmix0 = ctl.card0; pcm.dmix0 = "dmix-20:13760,card0,48000"; ctl.mixer0 = ctl.card0; ctl.dsp0 = ctl.card0; pcm.dsp0 = "dsp:dsnoop0,dmix0"; ctl.dmix0-rev = ctl.card0; pcm.dmix0-rev = "swap:dmix0"; ctl.stereo0-40 = ctl.card0; pcm.stereo0-40 = "stereo-40:surround40:0"; ctl.stereo0-51 = ctl.card0; pcm.stereo0-51 = "stereo-51:surround51:0"; ctl.digi0 = ctl.card0; pcm.digi0 = "iec:hw:0,2"; ctl.card0-f = ctl.card0; pcm.card0-f = "card-f:dsp0"; ctl.card0-r = ctl.card0; pcm.card0-r = "card-r:surround40:0"; ######################################################################## # CARD 1 DEVICES # ############## # For my #1 card, a CMI8738, the 'hw:1,1' device is either the # rear channels or a multi channel device depending on a mixer # control setting. ctl.card1 { type hw; card 1; } pcm.card1 { type hw; card 1; } ctl.mixer1 = ctl.card1; ctl.dsp1 = ctl.card1; pcm.dsp1 = "dsp:dsnoop1,dmix1"; pcm.dsnoop1 = "rec:29370,card1"; ctl.dmix1 = ctl.card1; pcm.dmix1 = "dmix-20:19370,card1,44100"; ctl.dmix1-rev = ctl.card1; pcm.dmix1-rev = "swap:dmix1"; ctl.stereo1-40 = ctl.card1; pcm.stereo1-40 = "stereo-40:surround40:1"; ctl.stereo1-51 = ctl.card1; pcm.stereo1-51 = "stereo-51:surround51:1"; ctl.digi1 = ctl.card1; pcm.digi1 = "iec:hw:1,2"; ctl.card1-f = ctl.card1; pcm.card1-f = "card-f:dsp1"; ctl.card1-r = ctl.card1; pcm.card1-r = "card-r:surround40:1"; ctl.card1-s = ctl.card1; pcm.card1-s = "card-s:surround71:1"; ######################################################################## # SW VOLUME CONTROL # ################# #pcm.name { type softvol; # slave STR; # control { # name STR; # [card INT;] # [iface STR;] # [index INT;] # [device INT;] # [subdevice INT;] # [count INT;] # } # } ######################################################################## # FILE OUTPUT # ########### pcm.file { @args [ PCM FILE ] @args.PCM { type string; } @args.FILE { type string; default "/tmp/alsa.raw"; } type file; file $FILE; #[format "raw";] #[perm 0600;] slave.pcm $PCM; } ctl.file0 = ctl.card0; pcm.file0 { type copy; slave.pcm "file:dsp0,/tmp/alsa0.raw"; } ctl.file1 = ctl.card1; pcm.file1 { type copy; slave.pcm "file:dsp1,/tmp/alsa1.raw"; } ########################################################################; # 2 CARDS AS 1 # ############ # Using multiple cards to simulate a single card is usually a bad idea # because they have different latencies and multichannel sound can come # out with quite a bit of skew. Some people however have a legitimate # need for this. # Using two cards as one four channel card. # http://ALSA.OpenSrc.org/index.php?page=TwoCardsAsOne ###################################### # 1st >= 2 channels, 2nd >= 2 channels ctl.multi40-22 = ctl.card0; pcm.multi-22 { @args [ PCM1 PCM2 ] @args.PCM1 { type string; } @args.PCM2 { type string; } type multi; slaves.a.pcm $PCM1; slaves.a.channels 2; slaves.b.pcm $PCM2; slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; } # Using two cards as one 5.1 channel card, the first has # 2 channels and the second has 4 channels, and viceversa. # http://ALSA.OpenSrc.org/index.php?page=TwoCardsAsOne ###################################### # 1st >= 2 channels, 2nd >= 4 channels pcm.multi51-24 { @args [ PCM1 PCM2 ] @args.PCM1 { type string; } @args.PCM2 { type string; } type multi; slaves.a.pcm $PCM1; slaves.a.channels 2; slaves.b.pcm $PCM2; slaves.b.channels 4; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; # Center, physically rear left, 2nd card bindings.4.slave b; bindings.4.channel 2; # LFE/subwoofer, physically rear right, 2nd card bindings.5.slave b; bindings.5.channel 3; } ###################################### # 1st >= 4 channels, 2nd >= 2 channels pcm.multi51-42 { @args [ PCM1 PCM2 ] @args.PCM1 { type string; } @args.PCM2 { type string; } type multi; # could be "dmix0" slaves.a.pcm $PCM1; slaves.a.channels 4; # could be "dmix1" slaves.b.pcm $PCM2; slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave a; bindings.2.channel 2; bindings.3.slave a; bindings.3.channel 3; # Center, physically front left, 2nd card bindings.4.slave b; bindings.4.channel 0; # LFE/subwoofer, physically front right, 2nd card bindings.5.slave b; bindings.5.channel 1; } !!Aplay/Arecord output !!------------ APLAY **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 !!Amixer output !!------------- !!-------Mixer controls for card 0 [Intel] Card hw:0 'Intel'/'HDA Intel at 0xdf300000 irq 33' Mixer name : 'IDT 92HD71B7X' Components : 'HDA:111d76b2,103c30f7,00100302' Controls : 19 Simple ctrls : 13 Simple mixer control 'Master',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 64 Mono: Playback 48 [75%] [-12.00dB] [on] Simple mixer control 'Headphone',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 48 [75%] [-12.00dB] [on] Front Right: Playback 48 [75%] [-12.00dB] [on] Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 255 Mono: Front Left: Playback 255 [100%] [0.00dB] Front Right: Playback 255 [100%] [0.00dB] Simple mixer control 'Line Jack Mode',0 Capabilities: enum Items: 'Mic In' 'Line In' Item0: 'Mic In' Simple mixer control 'Mic Jack Mode',0 Capabilities: enum Items: 'Mic In' 'Line In' Item0: 'Mic In' Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 15 Front Left: Capture 15 [100%] [22.50dB] [off] Front Right: Capture 15 [100%] [22.50dB] [off] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 15 Front Left: Capture 15 [100%] [22.50dB] [off] Front Right: Capture 15 [100%] [22.50dB] [off] Simple mixer control 'Input Source',0 Capabilities: cenum Items: 'Mic' 'Line' Item0: 'Mic' Simple mixer control 'Input Source',1 Capabilities: cenum Items: 'Mic' 'Line' Item0: 'Mic' Simple mixer control 'Mux',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 3 Front Left: Capture 3 [100%] [30.00dB] Front Right: Capture 3 [100%] [30.00dB] Simple mixer control 'Mux',1 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 3 Front Left: Capture 3 [100%] [30.00dB] Front Right: Capture 3 [100%] [30.00dB] Simple mixer control 'PC Beep',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback 0 - 3 Mono: Playback 0 [0%] [-18.00dB] [off] Simple mixer control 'Speaker',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 64 Mono: Front Left: Playback 64 [100%] [0.00dB] [on] Front Right: Playback 64 [100%] [0.00dB] [on] !!Alsactl output !!------------- --startcollapse-- state.Intel { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Speaker Playback Volume' value.0 64 value.1 64 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Speaker Playback Switch' value.0 true value.1 true } control.3 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Mic In' comment.item.1 'Line In' iface MIXER name 'Mic Jack Mode' value 'Mic In' } control.4 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Mic In' comment.item.1 'Line In' iface MIXER name 'Line Jack Mode' value 'Mic In' } control.5 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'PC Beep Playback Switch' value false } control.6 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 3' comment.dbmin -1800 comment.dbmax 0 iface MIXER name 'PC Beep Playback Volume' value 0 } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Headphone Playback Volume' value.0 48 value.1 48 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback Switch' value.0 true value.1 true } control.9 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 15' comment.dbmin 0 comment.dbmax 2250 iface MIXER name 'Capture Volume' value.0 15 value.1 15 } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 false value.1 false } control.11 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 15' comment.dbmin 0 comment.dbmax 2250 iface MIXER name 'Capture Volume' index 1 value.0 15 value.1 15 } control.12 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 false value.1 false } control.13 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Mux Capture Volume' value.0 3 value.1 3 } control.14 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Mux Capture Volume' index 1 value.0 3 value.1 3 } control.15 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 Line iface MIXER name 'Input Source' value Mic } control.16 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 Line iface MIXER name 'Input Source' index 1 value Mic } control.17 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 64' comment.dbmin -4800 comment.dbmax 0 iface MIXER name 'Master Playback Volume' value 48 } control.18 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.19 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 255' comment.tlv '0000000100000008ffffec1400000014' comment.dbmin -5100 comment.dbmax 0 iface MIXER name 'PCM Playback Volume' value.0 255 value.1 255 } } --endcollapse-- !!All Loaded Modules !!------------------ Module tun vboxnetadp vboxnetflt vboxdrv snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss ipv6 pcmcia pcmcia_core cpufreq_ondemand speedstep_lib acpi_cpufreq freq_table ppdev lp parport_pc parport fuse nvidia snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_timer fan sdhci_pci uvcvideo sdhci iwlagn jmb38x_ms i2c_i801 intel_agp snd thermal memstick iwlcore mmc_core agpgart psmouse serio_raw joydev r8169 processor video videodev soundcore thermal_sys mii v4l1_compat evdev rtc_cmos rtc_core rtc_lib snd_page_alloc hp_accel mac80211 hwmon wmi led_class battery ac button lis3lv02d cfg80211 output sg !!Sysfs Files !!----------- /sys/class/sound/hwC0D0/init_pin_configs: 0x0a 0x0221201f 0x0b 0x02a12020 0x0c 0x40f100f8 0x0d 0x90170110 0x0e 0x40f100f1 0x0f 0x40f100f0 0x14 0x40f100f2 0x18 0x95a6912e 0x19 0x40f000f5 0x1e 0x40f000f3 0x1f 0x40f000f6 0x20 0x40f000f7 0x27 0x40f000f0 /sys/class/sound/hwC0D0/driver_pin_configs: 0x0e 0x01813040 /sys/class/sound/hwC0D0/user_pin_configs: /sys/class/sound/hwC0D0/init_verbs: !!ALSA/HDA dmesg !!------------------ ACPI: Sleep Button (CM) [SLPB] HDA Intel 0000:00:1b.0: power state changed by ACPI to D0 HDA Intel 0000:00:1b.0: PCI INT B -> GSI 22 (level, low) -> IRQ 22 HDA Intel 0000:00:1b.0: irq 33 for MSI/MSI-X HDA Intel 0000:00:1b.0: setting latency timer to 64 cfg80211: Regulatory domain changed to country: US -- (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11 input: HDA Intel Line In at Ext Rear Jack as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12 input: HDA Intel Mic at Ext Front Jack as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13 input: HDA Intel HP Out at Ext Front Jack as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14 input: PS/2 Mouse as /devices/platform/i8042/serio1/input/input15