Codec + Mixer: Realtek ALC889 - Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller 8086:293e (rev 03) - sound output working via headphones jacks, but not via speakers on Acer Aspire 5935G in Ubuntu 12.04.1 LTS

Asked by sony101092

spekers don't work dut the jack sound work in acer aspire 5935G
ubuntu 12.04 ,

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu alsa-driver Edit question
Assignee:
No assignee Edit question
Solved by:
sony101092
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

What is the output of:

wget -O alsa-info.sh http://www.alsa-project.org/alsa-info.sh && chmod +x ./alsa-info.sh && ./alsa-info.sh

Thanks

Revision history for this message
sony101092 (athnasyous-salah) said :
#2

!!################################
!!ALSA Information Script v 0.4.61
!!################################

!!Script ran on: Thu Oct 18 18:27:47 UTC 2012

!!Linux Distribution
!!------------------

Ubuntu 12.04.1 LTS \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"

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

Manufacturer: Acer
Product Name: Aspire 5935
Product Version: V1.11
Firmware Version: V1.11

!!Kernel Information
!!------------------

Kernel release: 3.2.0-32-generic-pae
Operating System: GNU/Linux
Architecture: i686
Processor: i686
SMP Enabled: Yes

!!ALSA Version
!!------------

Driver version: 1.0.24
Library version: 1.0.25
Utilities version: 1.0.25

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

snd_hda_intel

!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Intel ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xeb700000 irq 49

!!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/Subsystem ID's
!!-------------------------------------------------------

00:1b.0 0403: 8086:293e (rev 03)
 Subsystem: 1025:0200

!!Modprobe options (Sound related)
!!--------------------------------

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-usb-audio: index=-2
snd-usb-caiaq: index=-2
snd-usb-ua101: index=-2
snd-usb-us122l: index=-2
snd-usb-usx2y: index=-2
snd-cmipci: mpu_port=0x330 fm_port=0x388
snd-pcsp: index=-2
snd-usb-audio: index=-2

!!Loaded sound module options
!!---------------------------

!!Module: snd_hda_intel
 align_buffer_size : -1
 bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
 beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
 enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
 enable_msi : -1
 id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
 index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
 jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
 patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
 position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
 power_save : 0
 power_save_controller : Y
 probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
 probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 single_cmd : N
 snoop : Y

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC889
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0889
Subsystem Id: 0x10250200
Revision Id: 0x100004
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC889 Analog", type="Audio", device=0
  Converter: stream=8, channel=0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [Audio Output] wcaps 0x11: Stereo
  Converter: stream=8, channel=0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x04 [Audio Output] wcaps 0x11: Stereo
  Converter: stream=8, channel=0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x05 [Audio Output] wcaps 0x11: Stereo
  Converter: stream=8, channel=0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
  Converter: stream=8, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC889 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals: [0xa2 0xa2]
  Converter: stream=4, channel=0
  SDI-Select: 0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x24
Node 0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals: [0x90 0x90]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals: [0x90 0x90]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Connection: 1
     0x22
Node 0x0a [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x570]: 32000 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x1f
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals: [0x1f 0x1f] [0x80 0x80] [0x16 0x16] [0x80 0x80] [0x80 0x80] [0x0e 0x0e] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17
Node 0x0c [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x3e 0x3e]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Surround Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x00 0x00] [0x80 0x80]
  Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x3e 0x3e]
  Connection: 2
     0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Center Playback Volume", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="LFE Playback Volume", index=0, device=0
    ControlAmp: chs=2, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x00 0x00] [0x80 0x80]
  Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x3e 0x3e]
  Connection: 2
     0x04 0x0b
Node 0x0f [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x00 0x00] [0x00 0x00]
  Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x00 0x40]
  Connection: 2
     0x05 0x0b
Node 0x10 [Audio Output] wcaps 0x211: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="IEC958 Default PCM Playback Switch", index=0, device=0
  Device: name="ALC889 Digital", type="HDMI", device=3
  Converter: stream=8, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x11 [Pin Complex] wcaps 0x400300: Mono Digital
  Control: name="HDMI Phantom Jack", index=0, device=0
  Pincap 0x00000010: OUT
  Pin Default 0x18561130: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Black
    DefAssociation = 0x3, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x10
Node 0x12 [Pin Complex] wcaps 0x400001: Stereo
  Control: name="Internal Mic Phantom Jack", index=0, device=0
  Pincap 0x00000020: IN
  Pin Default 0x99a3094e: [Fixed] Mic at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x4, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Phantom Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0001003c: IN OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d 0x0e 0x0f* 0x26
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0001003c: IN OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x16 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d 0x0e* 0x0f 0x26
Node 0x17 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d 0x0e 0x0f* 0x26
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Center Playback Switch", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="LFE Playback Switch", index=0, device=0
    ControlAmp: chs=2, dir=Out, idx=0, ofs=0
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals: [0x03 0x03]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x03a19c50: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Pink
    DefAssociation = 0x5, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=04, enabled=1
  Connection: 5
     0x0c 0x0d 0x0e 0x0f 0x26*
Node 0x19 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals: [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d 0x0e 0x0f 0x26*
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Surround Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Line Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals: [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x03813440: [Jack] Line In at Ext Left
    Conn = 1/8, Color = Blue
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=05, enabled=1
  Connection: 5
     0x0c 0x0d 0x0e 0x0f 0x26*
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals: [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d 0x0e 0x0f 0x26*
Node 0x1c [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
Node 0x1d [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x4016852d: [N/A] Speaker at Ext N/A
    Conn = Digital, Color = Purple
    DefAssociation = 0x2, Sequence = 0xd
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x1e [Pin Complex] wcaps 0x400300: Mono Digital
  Control: name="SPDIF Phantom Jack", index=1, device=0
  Pincap 0x00000010: OUT
  Pin Default 0x03451120: [Jack] SPDIF Out at Ext Left
    Conn = Optical, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x06
Node 0x1f [Pin Complex] wcaps 0x400280: Mono Digital
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=28
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Control: name="Input Source", index=0, device=0
  Connection: 12
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b 0x12*
Node 0x25 [Audio Output] wcaps 0x11: Stereo
  Converter: stream=0, channel=0
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x26 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x00 0x00] [0x80 0x80]
  Amp-Out caps: ofs=0x3e, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x3e 0x3e]
  Connection: 2
     0x25 0x0b
--endcollapse--

!!ALSA Device nodes
!!-----------------

crw-rw---T 1 root audio 116, 6 Oct 18 14:23 /dev/snd/controlC0
crw-rw---T 1 root audio 116, 5 Oct 18 14:23 /dev/snd/hwC0D0
crw-rw---T 1 root audio 116, 4 Oct 18 14:23 /dev/snd/pcmC0D0c
crw-rw---T 1 root audio 116, 3 Oct 18 14:23 /dev/snd/pcmC0D0p
crw-rw---T 1 root audio 116, 2 Oct 18 14:23 /dev/snd/pcmC0D3p
crw-rw---T 1 root audio 116, 1 Oct 18 14:23 /dev/snd/seq
crw-rw---T 1 root audio 116, 33 Oct 18 14:23 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 60 Oct 18 14:23 .
drwxr-xr-x 3 root root 200 Oct 18 14:23 ..
lrwxrwxrwx 1 root root 12 Oct 18 14:23 pci-0000:00:1b.0 -> ../controlC0

!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC889 Analog [ALC889 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: ALC889 Digital [ALC889 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC889 Analog [ALC889 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Intel]

Card hw:0 'Intel'/'HDA Intel at 0xeb700000 irq 49'
  Mixer name : 'Realtek ALC889'
  Components : 'HDA:10ec0889,10250200,00100004'
  Controls : 37
  Simple ctrls : 17
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 62 [97%] [0.00dB] [on]
  Front Right: Playback 62 [97%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 0 [0%] [-62.00dB] [on]
  Front Right: Playback 64 [100%] [2.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  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 'Surround',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 62 [97%] [0.00dB] [on]
  Front Right: Playback 62 [97%] [0.00dB] [on]
Simple mixer control 'Center',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 62 [97%] [0.00dB] [on]
Simple mixer control 'LFE',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 62 [97%] [0.00dB] [on]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 22 [71%] [-1.50dB] [on]
  Front Right: Playback 22 [71%] [-1.50dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 14 [45%] [-13.50dB] [on]
  Front Right: Playback 14 [45%] [-13.50dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 34 [74%] [18.00dB] [off]
  Front Right: Capture 34 [74%] [18.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Channel Mode',0
  Capabilities: enum
  Items: '2ch' '4ch' '6ch'
  Item0: '2ch'
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Internal Mic' 'Mic' 'Line'
  Item0: 'Internal Mic'

!!Alsactl output
!!--------------

--startcollapse--
state.Intel {
 control.1 {
  iface MIXER
  name 'Channel Mode'
  value '2ch'
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 '2ch'
   item.1 '4ch'
   item.2 '6ch'
  }
 }
 control.2 {
  iface MIXER
  name 'Headphone Playback Volume'
  value.0 62
  value.1 62
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 64'
   dbmin -6200
   dbmax 200
   dbvalue.0 0
   dbvalue.1 0
  }
 }
 control.3 {
  iface MIXER
  name 'Headphone Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.4 {
  iface MIXER
  name 'Surround Playback Volume'
  value.0 62
  value.1 62
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 64'
   dbmin -6200
   dbmax 200
   dbvalue.0 0
   dbvalue.1 0
  }
 }
 control.5 {
  iface MIXER
  name 'Surround Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.6 {
  iface MIXER
  name 'Center Playback Volume'
  value 62
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 64'
   dbmin -6200
   dbmax 200
   dbvalue.0 0
  }
 }
 control.7 {
  iface MIXER
  name 'LFE Playback Volume'
  value 62
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 64'
   dbmin -6200
   dbmax 200
   dbvalue.0 0
  }
 }
 control.8 {
  iface MIXER
  name 'Center Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.9 {
  iface MIXER
  name 'LFE Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.10 {
  iface MIXER
  name 'Speaker Playback Volume'
  value.0 0
  value.1 64
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 64'
   dbmin -6200
   dbmax 200
   dbvalue.0 -6200
   dbvalue.1 200
  }
 }
 control.11 {
  iface MIXER
  name 'Speaker Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.12 {
  iface MIXER
  name 'Mic Playback Volume'
  value.0 31
  value.1 31
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 31'
   dbmin -3450
   dbmax 1200
   dbvalue.0 1200
   dbvalue.1 1200
  }
 }
 control.13 {
  iface MIXER
  name 'Mic Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.14 {
  iface MIXER
  name 'Line Playback Volume'
  value.0 22
  value.1 22
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 31'
   dbmin -3450
   dbmax 1200
   dbvalue.0 -150
   dbvalue.1 -150
  }
 }
 control.15 {
  iface MIXER
  name 'Line Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.16 {
  iface MIXER
  name 'Auto-Mute Mode'
  value Enabled
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 Disabled
   item.1 Enabled
  }
 }
 control.17 {
  iface MIXER
  name 'Mic Boost Volume'
  value.0 3
  value.1 3
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 3'
   dbmin 0
   dbmax 3000
   dbvalue.0 3000
   dbvalue.1 3000
  }
 }
 control.18 {
  iface MIXER
  name 'Capture Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.19 {
  iface MIXER
  name 'Capture Volume'
  value.0 34
  value.1 34
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 46'
   dbmin -1600
   dbmax 3000
   dbvalue.0 1800
   dbvalue.1 1800
  }
 }
 control.20 {
  iface MIXER
  name 'Input Source'
  value 'Internal Mic'
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 'Internal Mic'
   item.1 Mic
   item.2 Line
  }
 }
 control.21 {
  iface MIXER
  name 'IEC958 Playback Con Mask'
  value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access read
   type IEC958
   count 1
  }
 }
 control.22 {
  iface MIXER
  name 'IEC958 Playback Pro Mask'
  value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access read
   type IEC958
   count 1
  }
 }
 control.23 {
  iface MIXER
  name 'IEC958 Playback Default'
  value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access 'read write'
   type IEC958
   count 1
  }
 }
 control.24 {
  iface MIXER
  name 'IEC958 Playback Switch'
  value false
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.25 {
  iface MIXER
  name 'IEC958 Default PCM Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.26 {
  iface MIXER
  name 'Beep Playback Volume'
  value.0 14
  value.1 14
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 31'
   dbmin -3450
   dbmax 1200
   dbvalue.0 -1350
   dbvalue.1 -1350
  }
 }
 control.27 {
  iface MIXER
  name 'Beep Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.28 {
  iface MIXER
  name 'Master Playback Volume'
  value 64
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 64'
   dbmin -6400
   dbmax 0
   dbvalue.0 0
  }
 }
 control.29 {
  iface MIXER
  name 'Master Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.30 {
  iface CARD
  name 'Headphone Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.31 {
  iface CARD
  name 'Speaker Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.32 {
  iface CARD
  name 'Internal Mic Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.33 {
  iface CARD
  name 'Mic Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.34 {
  iface CARD
  name 'Line Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.35 {
  iface CARD
  name 'HDMI Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.36 {
  iface CARD
  name 'SPDIF Phantom Jack'
  index 1
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.37 {
  iface MIXER
  name 'PCM Playback Volume'
  value.0 255
  value.1 255
  comment {
   access 'read write user'
   type INTEGER
   count 2
   range '0 - 255'
   tlv '0000000100000008ffffec1400000014'
   dbmin -5100
   dbmax 0
   dbvalue.0 0
   dbvalue.1 0
  }
 }
}
--endcollapse--

!!All Loaded Modules
!!------------------

Module
snd_hda_codec_realtek
arc4
joydev
btusb
nvidia
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
snd_seq
usbhid
snd_timer
snd_seq_device
hid
firewire_ohci
tg3
sdhci_pci
i915
firewire_core
iwlwifi
uvcvideo
mac80211
videodev
snd
psmouse
drm_kms_helper
sdhci
serio_raw
drm
jmb38x_ms
cfg80211
crc_itu_t
soundcore
snd_page_alloc
memstick
rfcomm
bnep
i2c_algo_bit
bluetooth
parport_pc
ppdev
binfmt_misc
acer_wmi
sparse_keymap
mxm_wmi
ir_lirc_codec
lirc_dev
ir_mce_kbd_decoder
ir_sony_decoder
ir_jvc_decoder
ir_rc6_decoder
ir_rc5_decoder
ir_nec_decoder
rc_rc6_mce
ene_ir
wmi
mac_hid
video
rc_core
lp
parport

!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x11 0x18561130
0x12 0x99a3094e
0x14 0x99130110
0x15 0x0321101f
0x16 0x411111f0
0x17 0x411111f0
0x18 0x03a19c50
0x19 0x411111f0
0x1a 0x03813440
0x1b 0x411111f0
0x1c 0x411111f0
0x1d 0x4016852d
0x1e 0x03451120
0x1f 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

!!ALSA/HDA dmesg
!!--------------

[ 23.161207] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 23.161405] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 23.161837] snd_hda_intel 0000:00:1b.0: irq 49 for MSI/MSI-X
[ 23.161868] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[ 23.206671] init: gdm main process (1040) killed by TERM signal
[ 23.217385] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11
[ 23.217555] input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12
[ 23.217704] input: HDA Intel Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
[ 23.698599] psmouse serio1: synaptics: Touchpad model: 1, fw: 7.2, id: 0x1c0b1, caps: 0xd04733/0xa44000/0xa0000

Revision history for this message
sony101092 (athnasyous-salah) said :
#3

#!/bin/bash

SCRIPT_VERSION=0.4.61
CHANGELOG="http://www.alsa-project.org/alsa-info.sh.changelog"

#################################################################################
#Copyright (C) 2007 Free Software Foundation.

#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

##################################################################################

#The script was written for 2 main reasons:
# 1. Remove the need for the devs/helpers to ask several questions before we can easily help the user.
# 2. Allow newer/inexperienced ALSA users to give us all the info we need to help them.

#Set the locale (this may or may not be a good idea.. let me know)
export LC_ALL=C

#Change the PATH variable, so we can run lspci (needed for some distros)
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin
BGTITLE="ALSA-Info v $SCRIPT_VERSION"
PASTEBINKEY="C9cRIO8m/9y8Cs0nVs0FraRx7U0pHsuc"
#Define some simple functions

pbcheck(){
 [[ $UPLOAD = "no" ]] && return

 if [[ -z $PASTEBIN ]]; then
  [[ $(ping -c1 www.alsa-project.org) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
 else
  [[ $(ping -c1 www.pastebin.ca) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
 fi
}

update() {
 SHFILE=`mktemp -t alsa-info.XXXXXXXXXX` || exit 1
 wget -O $SHFILE "http://www.alsa-project.org/alsa-info.sh" >/dev/null 2>&1
 REMOTE_VERSION=`grep SCRIPT_VERSION $SHFILE |head -n1 |sed 's/.*=//'`
 if [ "$REMOTE_VERSION" != "$SCRIPT_VERSION" ]; then
  if [[ -n $DIALOG ]]
  then
   OVERWRITE=
   if [ -w $0 ]; then
    dialog --yesno "Newer version of ALSA-Info has been found\n\nDo you wish to install it?\nNOTICE: The original file $0 will be overwritten!" 0 0
    DIALOG_EXIT_CODE=$?
    if [[ $DIALOG_EXIT_CODE = 0 ]]; then
      OVERWRITE=yes
    fi
   fi
   if [ -z "$OVERWRITE" ]; then
    dialog --yesno "Newer version of ALSA-Info has been found\n\nDo you wish to download it?" 0 0
    DIALOG_EXIT_CODE=$?
   fi
   if [[ $DIALOG_EXIT_CODE = 0 ]]
   then
    echo "Newer version detected: $REMOTE_VERSION"
    echo "To view the ChangeLog, please visit $CHANGELOG"
    if [ "$OVERWRITE" = "yes" ]; then
     cp $SHFILE $0
     echo "ALSA-Info script has been updated to v $REMOTE_VERSION"
     echo "Please re-run the script"
     rm $SHFILE 2>/dev/null
    else
     echo "ALSA-Info script has been downloaded as $SHFILE."
     echo "Please re-run the script from new location."
    fi
    exit
   else
    rm $SHFILE 2>/dev/null
   fi
  else
   echo "Newer version detected: $REMOTE_VERSION"
   echo "To view the ChangeLog, please visit $CHANGELOG"
   if [ -w $0 ]; then
    echo "The original file $0 will be overwritten!"
    echo -n "If you do not like to proceed, press Ctrl-C now.." ; read inp
    cp $SHFILE $0
    echo "ALSA-Info script has been updated. Please re-run it."
    rm $SHFILE 2>/dev/null
   else
    echo "ALSA-Info script has been downloaded $SHFILE."
    echo "Please, re-run it from new location."
   fi
   exit
  fi
 else
  rm $SHFILE 2>/dev/null
 fi
}

cleanup() {
 if [ -n "$TEMPDIR" -a "$KEEP_FILES" != "yes" ]; then
  rm -rf "$TEMPDIR" 2>/dev/null
 fi
 test -n "$KEEP_OUTPUT" || rm -f "$NFILE"
}

withaplay() {
        echo "!!Aplay/Arecord output" >> $FILE
        echo "!!--------------------" >> $FILE
        echo "" >> $FILE
        echo "APLAY" >> $FILE
 echo "" >> $FILE
 aplay -l >> $FILE 2>&1
        echo "" >> $FILE
        echo "ARECORD" >> $FILE
 echo "" >> $FILE
 arecord -l >> $FILE 2>&1
 echo "" >> $FILE
}

withlsmod() {
 echo "!!All Loaded Modules" >> $FILE
 echo "!!------------------" >> $FILE
 echo "" >> $FILE
 lsmod |awk {'print $1'} >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
}

withamixer() {
        echo "!!Amixer output" >> $FILE
        echo "!!-------------" >> $FILE
        echo "" >> $FILE
 for i in `grep "]: " /proc/asound/cards | awk -F ' ' '{ print $1} '` ; do
 CARD_NAME=`grep "^ *$i " $TEMPDIR/alsacards.tmp|awk {'print $2'}`
 echo "!!-------Mixer controls for card $i $CARD_NAME]" >> $FILE
 echo "" >>$FILE
 amixer -c$i info>> $FILE 2>&1
 amixer -c$i>> $FILE 2>&1
        echo "" >> $FILE
 done
 echo "" >> $FILE
}

withalsactl() {
 echo "!!Alsactl output" >> $FILE
        echo "!!--------------" >> $FILE
        echo "" >> $FILE
        exe=""
        if [ -x /usr/sbin/alsactl ]; then
         exe="/usr/sbin/alsactl"
        fi
        if [ -x /usr/local/sbin/alsactl ]; then
         exe="/usr/local/sbin/alsactl"
        fi
        if [ -z "$exe" ]; then
         exe=`whereis alsactl | cut -d ' ' -f 2`
        fi
 $exe -f $TEMPDIR/alsactl.tmp store
 echo "--startcollapse--" >> $FILE
 cat $TEMPDIR/alsactl.tmp >> $FILE
 echo "--endcollapse--" >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
}

withdevices() {
        echo "!!ALSA Device nodes" >> $FILE
        echo "!!-----------------" >> $FILE
        echo "" >> $FILE
        ls -la /dev/snd/* >> $FILE
        echo "" >> $FILE
        echo "" >> $FILE
}

withconfigs() {
if [[ -e $HOME/.asoundrc ]] || [[ -e /etc/asound.conf ]] || [[ -e $HOME/.asoundrc.asoundconf ]]
then
        echo "!!ALSA configuration files" >> $FILE
        echo "!!------------------------" >> $FILE
        echo "" >> $FILE

        #Check for ~/.asoundrc
        if [[ -e $HOME/.asoundrc ]]
        then
                echo "!!User specific config file (~/.asoundrc)" >> $FILE
                echo "" >> $FILE
                cat $HOME/.asoundrc >> $FILE
                echo "" >> $FILE
                echo "" >> $FILE
        fi
 #Check for .asoundrc.asoundconf (seems to be Ubuntu specific)
 if [[ -e $HOME/.asoundrc.asoundconf ]]
 then
  echo "!!asoundconf-generated config file" >> $FILE
  echo "" >> $FILE
  cat $HOME/.asoundrc.asoundconf >> $FILE
  echo "" >> $FILE
  echo "" >> $FILE
 fi
        #Check for /etc/asound.conf
        if [[ -e /etc/asound.conf ]]
        then
                echo "!!System wide config file (/etc/asound.conf)" >> $FILE
                echo "" >> $FILE
                cat /etc/asound.conf >> $FILE
                echo "" >> $FILE
                echo "" >> $FILE
        fi
fi
}

withsysfs() {
    local i f
    local printed=""
    for i in /sys/class/sound/*; do
 case "$i" in
     */hwC?D?)
  if [ -f $i/init_pin_configs ]; then
      if [ -z "$printed" ]; then
   echo "!!Sysfs Files" >> $FILE
   echo "!!-----------" >> $FILE
   echo "" >> $FILE
      fi
      for f in init_pin_configs driver_pin_configs user_pin_configs init_verbs; do
   echo "$i/$f:" >> $FILE
   cat $i/$f >> $FILE
   echo >> $FILE
      done
      printed=yes
  fi
  ;;
     esac
    done
    if [ -n "$printed" ]; then
 echo "" >> $FILE
    fi
}

withdmesg() {
 echo "!!ALSA/HDA dmesg" >> $FILE
 echo "!!--------------" >> $FILE
 echo "" >> $FILE
 dmesg | grep -C1 -E 'ALSA|HDA|HDMI|sound|hda.codec|hda.intel' >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
}

withall() {
 withdevices
 withconfigs
 withaplay
 withamixer
 withalsactl
 withlsmod
 withsysfs
 withdmesg
}

get_alsa_library_version() {
 ALSA_LIB_VERSION=`grep VERSION_STR /usr/include/alsa/version.h 2>/dev/null|awk {'print $3'}|sed 's/"//g'`

 if [ -z "$ALSA_LIB_VERSION" ]; then
  if [ -f /etc/lsb-release ]; then
   . /etc/lsb-release
   case "$DISTRIB_ID" in
    Ubuntu)
     if which dpkg > /dev/null ; then
      ALSA_LIB_VERSION=`dpkg -l libasound2 | tail -1 | awk '{print $3}' | cut -f 1 -d -`
     fi

     if [ "$ALSA_LIB_VERSION" = "<none>" ]; then
      ALSA_LIB_VERSION=""
     fi
     return
     ;;
    *)
     return
     ;;
   esac
  elif [ -f /etc/debian_version ]; then
   if which dpkg > /dev/null ; then
    ALSA_LIB_VERSION=`dpkg -l libasound2 | tail -1 | awk '{print $3}' | cut -f 1 -d -`
   fi

   if [ "$ALSA_LIB_VERSION" = "<none>" ]; then
    ALSA_LIB_VERSION=""
   fi
   return
  fi
 fi
}

#Run checks to make sure the programs we need are installed.
LSPCI=$(which lspci 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null);
TPUT=$(which tput 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null);
DIALOG=$(which dialog 2>/dev/null | sed 's|^[^/]*||' 2>/dev/null);

#Check to see if sysfs is enabled in the kernel. We'll need this later on
SYSFS=$(mount |grep sysfs|awk {'print $3'});

#Check modprobe config files for sound related options
SNDOPTIONS=$(modprobe -c|sed -n 's/^options \(snd[-_][^ ]*\)/\1:/p')

KEEP_OUTPUT=
NFILE=""

PASTEBIN=""
WWWSERVICE="www.alsa-project.org"
WELCOME="yes"
PROCEED="yes"
UPLOAD="ask"
REPEAT=""
while [ -z "$REPEAT" ]; do
REPEAT="no"
case "$1" in
 --update|--help|--about)
  WELCOME="no"
  PROCEED="no"
  ;;
 --upload)
  UPLOAD="yes"
  WELCOME="no"
  ;;
 --no-upload)
  UPLOAD="no"
  WELCOME="no"
  ;;
 --pastebin)
  PASTEBIN="yes"
  WWWSERVICE="pastebin"
  ;;
 --no-dialog)
  DIALOG=""
  REPEAT=""
  shift
  ;;
 --stdout)
  DIALOG=""
  UPLOAD="no"
  WELCOME="no"
  TOSTDOUT="yes"
  ;;
esac
done

#Script header output.
if [ "$WELCOME" = "yes" ]; then
greeting_message="\

This script visits the following commands/files to collect diagnostic
information about your ALSA installation and sound related hardware.

  dmesg
  lspci
  lsmod
  aplay
  amixer
  alsactl
  /proc/asound/
  /sys/class/sound/
  ~/.asoundrc (etc.)

See '$0 --help' for command line options.
"
if [[ -n "$DIALOG" ]]; then
 dialog --backtitle "$BGTITLE" \
  --title "ALSA-Info script v $SCRIPT_VERSION" \
  --msgbox "$greeting_message" 20 80
else
 echo "ALSA Information Script v $SCRIPT_VERSION"
 echo "--------------------------------"
 echo "$greeting_message"
fi # dialog
fi # WELCOME

#Set the output file
TEMPDIR=`mktemp -t -d alsa-info.XXXXXXXXXX` || exit 1
FILE="$TEMPDIR/alsa-info.txt"
if [ -z "$NFILE" ]; then
 NFILE=`mktemp -t alsa-info.txt.XXXXXXXXXX` || exit 1
fi

trap cleanup 0

if [ "$PROCEED" = "yes" ]; then

if [[ -z "$LSPCI" ]]
then
 echo "This script requires lspci. Please install it, and re-run this script."
 exit 0
fi

#Fetch the info and store in temp files/variables
DISTRO=`grep -ihs "buntu\|SUSE\|Fedora\|PCLinuxOS\|MEPIS\|Mandriva\|Debian\|Damn\|Sabayon\|Slackware\|KNOPPIX\|Gentoo\|Zenwalk\|Mint\|Kubuntu\|FreeBSD\|Puppy\|Freespire\|Vector\|Dreamlinux\|CentOS\|Arch\|Xandros\|Elive\|SLAX\|Red\|BSD\|KANOTIX\|Nexenta\|Foresight\|GeeXboX\|Frugalware\|64\|SystemRescue\|Novell\|Solaris\|BackTrack\|KateOS\|Pardus" /etc/{issue,*release,*version}`
KERNEL_VERSION=`uname -r`
KERNEL_PROCESSOR=`uname -p`
KERNEL_MACHINE=`uname -m`
KERNEL_OS=`uname -o`
[[ `uname -v |grep SMP` ]] && KERNEL_SMP="Yes" || KERNEL_SMP="No"
ALSA_DRIVER_VERSION=`cat /proc/asound/version |head -n1|awk {'print $7'} |sed 's/\.$//'`
get_alsa_library_version
ALSA_UTILS_VERSION=`amixer -v |awk {'print $3'}`
VENDOR_ID=`lspci -vn |grep 040[1-3] | awk -F':' '{print $3}'|awk {'print substr($0, 2);}' >$TEMPDIR/vendor_id.tmp`
DEVICE_ID=`lspci -vn |grep 040[1-3] | awk -F':' '{print $4}'|awk {'print $1'} >$TEMPDIR/device_id.tmp`
LAST_CARD=$((`grep "]: " /proc/asound/cards | wc -l` - 1 ))

ESDINST=$(which esd 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
PAINST=$(which pulseaudio 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
ARTSINST=$(which artsd 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
JACKINST=$(which jackd 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
ROARINST=$(which roard 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)
DMIDECODE=$(which dmidecode 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null)

#Check for DMI data
if [ -d /sys/class/dmi/id ]; then
    # No root privileges are required when using sysfs method
    DMI_SYSTEM_MANUFACTURER=$(cat /sys/class/dmi/id/sys_vendor 2>/dev/null)
    DMI_SYSTEM_PRODUCT_NAME=$(cat /sys/class/dmi/id/product_name 2>/dev/null)
    DMI_SYSTEM_PRODUCT_VERSION=$(cat /sys/class/dmi/id/product_version 2>/dev/null)
    DMI_SYSTEM_FIRMWARE_VERSION=$(cat /sys/class/dmi/id/bios_version 2>/dev/null)
elif [ -x $DMIDECODE ]; then
    DMI_SYSTEM_MANUFACTURER=$($DMIDECODE -s system-manufacturer 2>/dev/null)
    DMI_SYSTEM_PRODUCT_NAME=$($DMIDECODE -s system-product-name 2>/dev/null)
    DMI_SYSTEM_PRODUCT_VERSION=$($DMIDECODE -s system-version 2>/dev/null)
    DMI_SYSTEM_FIRMWARE_VERSION=$($DMIDECODE -s bios-version 2>/dev/null)
fi

cat /proc/asound/modules 2>/dev/null|awk {'print $2'}>$TEMPDIR/alsamodules.tmp
cat /proc/asound/cards >$TEMPDIR/alsacards.tmp
lspci |grep -i "multi\|audio">$TEMPDIR/lspci.tmp

#Check for HDA-Intel cards codec#*
cat /proc/asound/card*/codec\#* > $TEMPDIR/alsa-hda-intel.tmp 2> /dev/null

#Check for AC97 cards codec
cat /proc/asound/card*/codec97\#0/ac97\#0-0 > $TEMPDIR/alsa-ac97.tmp 2> /dev/null
cat /proc/asound/card*/codec97\#0/ac97\#0-0+regs > $TEMPDIR/alsa-ac97-regs.tmp 2> /dev/null

#Check for USB mixer setup
cat /proc/asound/card*/usbmixer > $TEMPDIR/alsa-usbmixer.tmp 2> /dev/null

#Fetch the info, and put it in $FILE in a nice readable format.
if [[ -z $PASTEBIN ]]; then
echo "upload=true&script=true&cardinfo=" > $FILE
else
echo "name=$USER&type=33&description=/tmp/alsa-info.txt&expiry=&s=Submit+Post&content=" > $FILE
fi
echo "!!################################" >> $FILE
echo "!!ALSA Information Script v $SCRIPT_VERSION" >> $FILE
echo "!!################################" >> $FILE
echo "" >> $FILE
echo "!!Script ran on: `LANG=C TZ=UTC date`" >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!Linux Distribution" >> $FILE
echo "!!------------------" >> $FILE
echo "" >> $FILE
echo $DISTRO >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!DMI Information" >> $FILE
echo "!!---------------" >> $FILE
echo "" >> $FILE
echo "Manufacturer: $DMI_SYSTEM_MANUFACTURER" >> $FILE
echo "Product Name: $DMI_SYSTEM_PRODUCT_NAME" >> $FILE
echo "Product Version: $DMI_SYSTEM_PRODUCT_VERSION" >> $FILE
echo "Firmware Version: $DMI_SYSTEM_FIRMWARE_VERSION" >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!Kernel Information" >> $FILE
echo "!!------------------" >> $FILE
echo "" >> $FILE
echo "Kernel release: $KERNEL_VERSION" >> $FILE
echo "Operating System: $KERNEL_OS" >> $FILE
echo "Architecture: $KERNEL_MACHINE" >> $FILE
echo "Processor: $KERNEL_PROCESSOR" >> $FILE
echo "SMP Enabled: $KERNEL_SMP" >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!ALSA Version" >> $FILE
echo "!!------------" >> $FILE
echo "" >> $FILE
echo "Driver version: $ALSA_DRIVER_VERSION" >> $FILE
echo "Library version: $ALSA_LIB_VERSION" >> $FILE
echo "Utilities version: $ALSA_UTILS_VERSION" >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!Loaded ALSA modules" >> $FILE
echo "!!-------------------" >> $FILE
echo "" >> $FILE
cat $TEMPDIR/alsamodules.tmp >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!Sound Servers on this system" >> $FILE
echo "!!----------------------------" >> $FILE
echo "" >> $FILE
if [[ -n $PAINST ]];then
[[ `pgrep '^(.*/)?pulseaudio$'` ]] && PARUNNING="Yes" || PARUNNING="No"
echo "Pulseaudio:" >> $FILE
echo " Installed - Yes ($PAINST)" >> $FILE
echo " Running - $PARUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $ESDINST ]];then
[[ `pgrep '^(.*/)?esd$'` ]] && ESDRUNNING="Yes" || ESDRUNNING="No"
echo "ESound Daemon:" >> $FILE
echo " Installed - Yes ($ESDINST)" >> $FILE
echo " Running - $ESDRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $ARTSINST ]];then
[[ `pgrep '^(.*/)?artsd$'` ]] && ARTSRUNNING="Yes" || ARTSRUNNING="No"
echo "aRts:" >> $FILE
echo " Installed - Yes ($ARTSINST)" >> $FILE
echo " Running - $ARTSRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $JACKINST ]];then
[[ `pgrep '^(.*/)?jackd$'` ]] && JACKRUNNING="Yes" || JACKRUNNING="No"
echo "Jack:" >> $FILE
echo " Installed - Yes ($JACKINST)" >> $FILE
echo " Running - $JACKRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -n $ROARINST ]];then
[[ `pgrep '^(.*/)?roard$'` ]] && ROARRUNNING="Yes" || ROARRUNNING="No"
echo "RoarAudio:" >> $FILE
echo " Installed - Yes ($ROARINST)" >> $FILE
echo " Running - $ROARRUNNING" >> $FILE
echo "" >> $FILE
fi
if [[ -z "$PAINST" && -z "$ESDINST" && -z "$ARTSINST" && -z "$JACKINST" && -z "$ROARINST" ]];then
echo "No sound servers found." >> $FILE
echo "" >> $FILE
fi
echo "" >> $FILE
echo "!!Soundcards recognised by ALSA" >> $FILE
echo "!!-----------------------------" >> $FILE
echo "" >> $FILE
cat $TEMPDIR/alsacards.tmp >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!PCI Soundcards installed in the system" >> $FILE
echo "!!--------------------------------------" >> $FILE
echo "" >> $FILE
cat $TEMPDIR/lspci.tmp >> $FILE
echo "" >> $FILE
echo "" >> $FILE
echo "!!Advanced information - PCI Vendor/Device/Subsystem ID's" >> $FILE
echo "!!-------------------------------------------------------" >> $FILE
echo "" >> $FILE
lspci -vvn |grep -A1 040[1-3] >> $FILE
echo "" >> $FILE
echo "" >> $FILE

if [ "$SNDOPTIONS" ]
then
echo "!!Modprobe options (Sound related)" >> $FILE
echo "!!--------------------------------" >> $FILE
echo "" >> $FILE
modprobe -c|sed -n 's/^options \(snd[-_][^ ]*\)/\1:/p' >> $FILE
echo "" >> $FILE
echo "" >> $FILE
fi

if [ -d "$SYSFS" ]
then
echo "!!Loaded sound module options" >> $FILE
echo "!!---------------------------" >> $FILE
echo "" >> $FILE
for mod in `cat /proc/asound/modules|awk {'print $2'}`;do
echo "!!Module: $mod" >> $FILE
for params in `echo $SYSFS/module/$mod/parameters/*`; do
 echo -ne "\t";
 echo "$params : `cat $params`" | sed 's:.*/::';
done >> $FILE
echo "" >> $FILE
done
echo "" >> $FILE
fi

if [ -s "$TEMPDIR/alsa-hda-intel.tmp" ]
then
 echo "!!HDA-Intel Codec information" >> $FILE
 echo "!!---------------------------" >> $FILE
 echo "--startcollapse--" >> $FILE
 echo "" >> $FILE
 cat $TEMPDIR/alsa-hda-intel.tmp >> $FILE
 echo "--endcollapse--" >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
fi

if [ -s "$TEMPDIR/alsa-ac97.tmp" ]
then
        echo "!!AC97 Codec information" >> $FILE
        echo "!!----------------------" >> $FILE
        echo "--startcollapse--" >> $FILE
        echo "" >> $FILE
        cat $TEMPDIR/alsa-ac97.tmp >> $FILE
        echo "" >> $FILE
        cat $TEMPDIR/alsa-ac97-regs.tmp >> $FILE
        echo "--endcollapse--" >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
fi

if [ -s "$TEMPDIR/alsa-usbmixer.tmp" ]
then
        echo "!!USB Mixer information" >> $FILE
        echo "!!---------------------" >> $FILE
        echo "--startcollapse--" >> $FILE
        echo "" >> $FILE
        cat $TEMPDIR/alsa-usbmixer.tmp >> $FILE
        echo "--endcollapse--" >> $FILE
 echo "" >> $FILE
 echo "" >> $FILE
fi

#If no command line options are specified, then run as though --with-all was specified
if [[ -z "$1" ]]
then
 update
 withall
 pbcheck
fi

fi # proceed

#loop through command line arguments, until none are left.
if [[ -n "$1" ]]
then
 until [ -z "$1" ]
 do
 case "$1" in
  --pastebin)
          update
   withall
          pbcheck
   ;;
  --update)
   update
   exit
   ;;
  --upload)
   UPLOAD="yes"
   withall
   ;;
  --no-upload)
   UPLOAD="no"
   withall
   ;;
  --output)
   shift
   NFILE="$1"
   KEEP_OUTPUT="yes"
   ;;
  --debug)
   echo "Debugging enabled. $FILE and $TEMPDIR will not be deleted"
   KEEP_FILES="yes"
   echo ""
   withall
   ;;
  --with-all)
   withall
   ;;
  --with-aplay)
   withaplay
   ;;
  --with-amixer)
   withamixer
   ;;
  --with-alsactl)
   withalsactl
   ;;
  --with-devices)
   withdevices
   ;;
  --with-dmesg)
   withdmesg
   ;;
  --with-configs)
   if [[ -e $HOME/.asoundrc ]] || [[ -e /etc/asound.conf ]]
   then
    echo "!!ALSA configuration files" >> $FILE
    echo "!!------------------------" >> $FILE
    echo "" >> $FILE

    #Check for ~/.asoundrc
    if [[ -e $HOME/.asoundrc ]]
    then
     echo "!!User specific config file ($HOME/.asoundrc)" >> $FILE
     echo "" >> $FILE
     cat $HOME/.asoundrc >> $FILE
     echo "" >> $FILE
     echo "" >> $FILE
    fi

    #Check for /etc/asound.conf
    if [[ -e /etc/asound.conf ]]
    then
     echo "!!System wide config file (/etc/asound.conf)" >> $FILE
     echo "" >> $FILE
     cat /etc/asound.conf >> $FILE
     echo "" >> $FILE
     echo "" >> $FILE
    fi
   fi
   ;;
  --stdout)
   UPLOAD="no"
   withall
   cat $FILE
   rm $FILE
   ;;
  --about)
   echo "Written/Tested by the following users of #alsa on irc.freenode.net:"
   echo ""
   echo " wishie - Script author and developer / Testing"
   echo " crimsun - Various script ideas / Testing"
   echo " gnubien - Various script ideas / Testing"
   echo " GrueMaster - HDA Intel specific items / Testing"
   echo " olegfink - Script update function"
   echo " TheMuso - display to stdout functionality"
   exit 0
   ;;
  *)
   echo "alsa-info.sh version $SCRIPT_VERSION"
   echo ""
   echo "Available options:"
   echo " --with-aplay (includes the output of aplay -l)"
   echo " --with-amixer (includes the output of amixer)"
   echo " --with-alsactl (includes the output of alsactl)"
   echo " --with-configs (includes the output of ~/.asoundrc and"
   echo " /etc/asound.conf if they exist)"
   echo " --with-devices (shows the device nodes in /dev/snd/)"
   echo " --with-dmesg (shows the ALSA/HDA kernel messages)"
   echo ""
   echo " --output FILE (specify the file to output for no-upload mode)"
   echo " --update (check server for script updates)"
   echo " --upload (upload contents to remote server)"
   echo " --no-upload (do not upload contents to remote server)"
   echo " --pastebin (use http://pastebin.ca) as remote server"
   echo " instead www.alsa-project.org"
   echo " --stdout (print alsa information to standard output"
   echo " instead of a file)"
   echo " --about (show some information about the script)"
   echo " --debug (will run the script as normal, but will not"
   echo " delete $FILE)"
   exit 0
   ;;
 esac
 shift 1
 done
fi

if [ "$PROCEED" = "no" ]; then
 exit 1
fi

if [ "$UPLOAD" = "ask" ]; then
 if [[ -n "$DIALOG" ]]; then
  dialog --backtitle "$BGTITLE" --title "Information collected" --yes-label " UPLOAD / SHARE " --no-label " SAVE LOCALLY " --defaultno --yesno "\n\nAutomatically upload ALSA information to $WWWSERVICE?" 10 80
  DIALOG_EXIT_CODE=$?
  if [ $DIALOG_EXIT_CODE != 0 ]; then
   UPLOAD="no"
  else
   UPLOAD="yes"
  fi
 else
  echo -n "Automatically upload ALSA information to $WWWSERVICE? [y/N] : "
  read -e CONFIRM
  if [ "$CONFIRM" != "y" ]; then
   UPLOAD="no"
  else
   UPLOAD="yes"
  fi
 fi

fi

if [ "$UPLOAD" = "no" ]; then

 if [ -z "$TOSTDOUT" ]; then
  mv -f $FILE $NFILE || exit 1
  KEEP_OUTPUT="yes"
 fi

 if [[ -n $DIALOG ]]
 then
  if [[ -n $PBERROR ]]; then
   dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "An error occurred while contacting the $WWWSERVICE.\n Your information was NOT automatically uploaded.\n\nYour ALSA information is in $NFILE" 10 100
  else
   dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "\n\nYour ALSA information is in $NFILE" 10 60
  fi
 else
  echo

  if [[ -n $PBERROR ]]; then
   echo "An error occurred while contacting the $WWWSERVICE."
   echo "Your information was NOT automatically uploaded."
   echo ""
   echo "Your ALSA information is in $NFILE"
   echo ""
  else
   if [ -z "$TOSTDOUT" ]; then
    echo ""
    echo "Your ALSA information is in $NFILE"
    echo ""
   fi
  fi
 fi

 exit

fi # UPLOAD

#Test that wget is installed, and supports --post-file. Upload $FILE if it does, and prompt user to upload file if it doesnt.
if
WGET=$(which wget 2>/dev/null| sed 's|^[^/]*||' 2>/dev/null); [[ -n "${WGET}" ]] && [[ -x "${WGET}" ]] && [[ `wget --help |grep post-file` ]]
then

if [[ -n $DIALOG ]]
then

if [[ -z $PASTEBIN ]]; then
 wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://www.alsa-project.org/cardinfo-db/" &>$TEMPDIR/wget.tmp || echo "Upload failed; exit"
 { for i in 10 20 30 40 50 60 70 80 90; do
  echo $i
  sleep 0.2
 done
 echo; } |dialog --backtitle "$BGTITLE" --guage "Uploading information to www.alsa-project.org ..." 6 70 0
else
 wget -O - --tries=5 --timeout=60 --post-file=$FILE "http://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY&encrypt=t&encryptpw=blahblah" &>$TEMPDIR/wget.tmp || echo "Upload failed; exit"
 { for i in 10 20 30 40 50 60 70 80 90; do
  echo $i
  sleep 0.2
 done
 echo; } |dialog --backtitle "$BGTITLE" --guage "Uploading information to www.pastebin.ca ..." 6 70 0
fi

dialog --backtitle "$BGTITLE" --title "Information uploaded" --yesno "Would you like to see the uploaded information?" 5 100
DIALOG_EXIT_CODE=$?
if [ $DIALOG_EXIT_CODE = 0 ]; then
 grep -v "alsa-info.txt" $FILE >$TEMPDIR/uploaded.txt
 dialog --backtitle "$BGTITLE" --textbox $TEMPDIR/uploaded.txt 0 0
fi

clear

# no dialog
else

if [[ -z $PASTEBIN ]]; then
 echo -n "Uploading information to www.alsa-project.org ... "
 wget -O - --tries=5 --timeout=60 --post-file=$FILE http://www.alsa-project.org/cardinfo-db/ &>$TEMPDIR/wget.tmp &
else
 echo -n "Uploading information to www.pastebin.ca ... "
 wget -O - --tries=5 --timeout=60 --post-file=$FILE http://pastebin.ca/quiet-paste.php?api=$PASTEBINKEY &>$TEMPDIR/wget.tmp &
fi

#Progess spinner for wget transfer.
i=1
sp="/-\|"
echo -n ' '
while pgrep wget &>/dev/null
do
 echo -en "\b${sp:i++%${#sp}:1}"
done

echo -e "\b Done!"
echo ""

fi #dialog

#See if tput is available, and use it if it is.
if [[ -n "$TPUT" ]]
then
 if [[ -z $PASTEBIN ]]; then
  FINAL_URL=`tput setaf 1; grep "SUCCESS:" $TEMPDIR/wget.tmp | cut -d ' ' -f 2 ; tput sgr0`
 else
  FINAL_URL=`tput setaf 1; grep "SUCCESS:" $TEMPDIR/wget.tmp |sed -n 's/.*\:\([0-9]\+\).*/http:\/\/pastebin.ca\/\1/p';tput sgr0`
 fi
else
 if [[ -z $PASTEBIN ]]; then
  FINAL_URL=`grep "SUCCESS:" $TEMPDIR/wget.tmp | cut -d ' ' -f 2`
 else
  FINAL_URL=`grep "SUCCESS:" $TEMPDIR/wget.tmp |sed -n 's/.*\:\([0-9]\+\).*/http:\/\/pastebin.ca\/\1/p'`
 fi
fi

#Output the URL of the uploaded file.
echo "Your ALSA information is located at $FINAL_URL"
echo "Please inform the person helping you."
echo ""

#We couldnt find a suitable wget, so tell the user to upload manually.
else
 mv -f $FILE $NFILE || exit 1
 KEEP_OUTPUT="yes"
 if [[ -z $DIALOG ]]
 then
  if [[ -z $PASTEBIN ]]; then
  echo ""
  echo "Could not automatically upload output to http://www.alsa-project.org"
  echo "Possible reasons are:"
  echo " 1. Couldnt find 'wget' in your PATH"
  echo " 2. Your version of wget is less than 1.8.2"
  echo ""
  echo "Please manually upload $NFILE to http://www.alsa-project.org/cardinfo-db/ and submit your post."
  echo ""
  else
  echo ""
  echo "Could not automatically upload output to http://www.pastebin.ca"
  echo "Possible reasons are:"
  echo " 1. Couldnt find 'wget' in your PATH"
  echo " 2. Your version of wget is less than 1.8.2"
  echo ""
  echo "Please manually upload $NFILE to http://www.pastebin.ca/upload.php and submit your post."
  echo ""
  fi
 else
  if [[ -z $PASTEBIN ]]; then
   dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to http://www.alsa-project.org.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to http://www.alsa-project,org/cardinfo-db/ and submit your post." 25 100
  else
   dialog --backtitle "$BGTITLE" --msgbox "Could not automatically upload output to http://www.pastebin.ca.\nPossible reasons are:\n\n 1. Couldn't find 'wget' in your PATH\n 2. Your version of wget is less than 1.8.2\n\nPlease manually upload $NFILE to http://www.pastebin.ca/upload.php and submit your post." 25 100
  fi
 fi
fi

Revision history for this message
sony101092 (athnasyous-salah) said :
#4

Thnxx alot for your interest

Revision history for this message
Mark Rijckenberg (markrijckenberg) said :
#5

Hi,

Please try this procedure:

Step 1: Open Terminal

Step 2: Run the following commands (copy/paste each command into the Terminal and then hit <enter>)

gksudo gedit /etc/modprobe.d/alsa-base.conf

Using the gedit editor, add these 2 lines to the end of the alsa-base.conf file:

alias snd-card-0 snd-hda-intel
options snd-hda-intel model=auto

Don't forget to reboot your pc after every change you make on the /etc/modprobe.d/alsa-base.conf file.
If those alsa-base.conf options don't work, please try these 2 lines instead:

alias snd-card-0 snd-hda-intel
options snd-hda-intel model=acer-aspire

Run alsamixer and unmute and increase volume to 100% on the following mixer channels:

Simple mixer control 'Speaker',0
Simple mixer control 'Auto-Mute Mode',0 -> set to disabled

Regards,

Mark

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#6
Revision history for this message
sony101092 (athnasyous-salah) said :
#7

sorry it doesn't work .. :(

Revision history for this message
sony101092 (athnasyous-salah) said :
#8

thnxxx andrew .. the sound is working ... thnxxx so mush