Codec + Mixer: Realtek ALC260 - card 0: SB [HDA ATI SB], device 0: ALC260 Analog [ALC260 Analog] - 00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller 1002:437b (rev 01) - headphones working, but not speakers when using ALSA model option "will" on Presario B1900 (RR178PA#AB2) in Ubuntu 11.10

Asked by Joey Jiao

I know there is already a post but too old.
I'm now using ubuntu 11.10 with snd-hda-intel model=will which can enable sound in earphone but still not speaker.
I tried to enable SND_DEBUG inside kernel in order to enable test model for alsa-source but alsa-source compile failed.
Now idea on how to solve this issue.
Why ubuntu not noticed this? Also I tried lastest Debian installation, same issue.

Question information

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

Can you give 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
Joey Jiao (tufeijoe) said :
#2

Here's the alsa-info log.

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Mon Feb 6 05:25:15 UTC 2012

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

Ubuntu 11.10 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 11.10"

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

Manufacturer: Hewlett-Packard
Product Name: Presario B1900 (RR178PA#AB2)
Product Version: F.0A

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

Kernel release: 3.0.0-15-generic
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.24.2

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

snd_hda_intel

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

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

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No

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

 0 [SB ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xc0500000 irq 42

!!PCI Soundcards installed in the system
!!--------------------------------------

00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01)

!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:14.2 0403: 1002:437b (rev 01)
 Subsystem: 103c:30ba

!!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
snd-hda-intel: model=will
snd-hda-intel: enable_msi=1

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

!!Module: snd_hda_intel
 bdl_pos_adj : 32,-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 : 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
 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
 model : will,(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 : 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
 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

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

Codec: Realtek ALC260
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0260
Subsystem Id: 0x103c0000
Revision Id: 0x100400
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=4, o=0, i=0, unsolicited=1, wake=0
  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
  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
Node 0x02 [Audio Output] wcaps 0x11: Stereo
  Device: name="ALC260 Analog", type="Audio", device=0
  Converter: stream=5, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Node 0x03 [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="ALC260 Digital", type="SPDIF", device=1
  Converter: stream=8, channel=0
  Digital: Enabled
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
Node 0x04 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC260 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals: [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22] [0x22 0x22]
  Converter: stream=1, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 7
     0x12 0x13 0x14* 0x15 0x16 0x0f 0x10
Node 0x05 [Audio Input] wcaps 0x10011b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x23, stepsize=0x03, mute=1
  Amp-In vals: [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00] [0x00 0x00]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x6]: 16 20
    formats [0x1]: PCM
  Connection: 8
     0x12 0x13 0x14* 0x15 0x16 0x07 0x0f 0x10
Node 0x06 [Audio Input] wcaps 0x100391: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0x1e]: 16 20 24 32
    formats [0x1]: PCM
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x19
Node 0x07 [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="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, 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=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals: [0x80 0x80] [0x80 0x80] [0xa0 0xa0] [0x80 0x80] [0xc1 0xc1] [0xbf 0xbf] [0xa3 0xa3] [0xa3 0xa3]
  Connection: 8
     0x12 0x13 0x14 0x15 0x16 0x17 0x0f 0x10
Node 0x08 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Control: name="Master 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=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x32 0x32]
  Connection: 2
     0x02 0x07
Node 0x09 [Audio Mixer] wcaps 0x20010f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x80 0x80] [0x80 0x80]
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals: [0x00 0x00]
  Connection: 2
     0x02 0x07
Node 0x0a [Audio Mixer] wcaps 0x20010e: Mono Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals: [0x80] [0x80]
  Amp-Out caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=0
  Amp-Out vals: [0x00]
  Connection: 2
     0x02 0x07
Node 0x0b [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0c [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0d [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0e [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x08* 0x09
Node 0x0f [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0x01014110: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0001003f: IN OUT HP EAPD Detect Trigger ImpSense
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x09
Node 0x11 [Pin Complex] wcaps 0x40010c: Mono Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00]
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x0a
Node 0x12 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Mic Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x01a19c30: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0b
Node 0x13 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x14 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Line Jack Mode", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x80 0x80]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  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: 1
     0x0d
Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
Node 0x16 [Pin Complex] wcaps 0x400001: Stereo
  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: 0x00:
Node 0x17 [Pin Complex] wcaps 0x400000: Mono
  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: 0x00:
Node 0x18 [Pin Complex] wcaps 0x400380: Mono Digital
  Pincap 0x00000014: 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: 1
     0x03
Node 0x19 [Pin Complex] wcaps 0x400280: Mono Digital
  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: 0x00:
  Unsolicited: tag=00, enabled=0
Node 0x1a [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=13
Node 0x1b [Volume Knob Widget] wcaps 0x600080: Mono
  Volume-Knob: delta=0, steps=64, direct=0, val=0
  Unsolicited: tag=00, enabled=0
  Connection: 0
Codec: Conexant ID 2bfa
Address: 1
MFG Function Id: 0x2 (unsol 1)
Vendor Id: 0x14f12bfa
Subsystem Id: 0x103c30ba
Revision Id: 0x90000
Modem Function Group: 0x2
--endcollapse--

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

crw-rw----+ 1 root audio 116, 7 Feb 6 13:16 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 6 Feb 6 13:16 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 5 Feb 6 13:16 /dev/snd/hwC0D1
crw-rw----+ 1 root audio 116, 4 Feb 6 13:21 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116, 3 Feb 6 13:25 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116, 2 Feb 6 13:21 /dev/snd/pcmC0D1p
crw-rw----+ 1 root audio 116, 1 Feb 6 13:16 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Feb 6 13:16 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 60 Feb 6 13:16 .
drwxr-xr-x 3 root root 220 Feb 6 13:16 ..
lrwxrwxrwx 1 root root 12 Feb 6 13:16 pci-0000:00:14.2 -> ../controlC0

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

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC260 Analog [ALC260 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC260 Digital [ALC260 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

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

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

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

Card hw:0 'SB'/'HDA ATI SB at 0xc0500000 irq 42'
  Mixer name : 'Realtek ALC260'
  Components : 'HDA:10ec0260,103c0000,00100400 HDA:14f12bfa,103c30ba,00090000'
  Controls : 21
  Simple ctrls : 12
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 50 [78%] [-14.00dB] [on]
  Front Right: Playback 50 [78%] [-14.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 252 [99%] [0.60dB]
  Front Right: Playback 252 [99%] [0.60dB]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 32 [49%] [-3.00dB] [off]
  Front Right: Playback 32 [49%] [-3.00dB] [off]
Simple mixer control 'Line Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in' 'Line out' 'Headphone out'
  Item0: 'Line in'
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 65 [100%] [30.00dB] [off]
  Front Right: Playback 65 [100%] [30.00dB] [off]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 0 [0%] [-35.00dB] [off]
  Front Right: Playback 0 [0%] [-35.00dB] [off]
Simple mixer control 'Mic Jack Mode',0
  Capabilities: enum
  Items: 'Mic 50pc bias' 'Mic 80pc bias' 'Line in'
  Item0: 'Mic 80pc bias'
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
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 - 65
  Mono:
  Front Left: Playback 63 [97%] [28.00dB] [off]
  Front Right: Playback 63 [97%] [28.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 35
  Front Left: Capture 34 [97%] [34.00dB] [on]
  Front Right: Capture 34 [97%] [34.00dB] [on]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'Front Mic' 'Line' 'CD'
  Item0: 'Mic'

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

--startcollapse--
state.SB {
 control.1 {
  iface MIXER
  name 'Master Playback Volume'
  value.0 50
  value.1 50
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 64'
   dbmin -6400
   dbmax 0
   dbvalue.0 -1400
   dbvalue.1 -1400
  }
 }
 control.2 {
  iface MIXER
  name 'Master Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.3 {
  iface MIXER
  name 'Mic Playback Volume'
  value.0 0
  value.1 0
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 65'
   dbmin -3500
   dbmax 3000
   dbvalue.0 -3500
   dbvalue.1 -3500
  }
 }
 control.4 {
  iface MIXER
  name 'Mic Playback Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.5 {
  iface MIXER
  name 'Mic Jack Mode'
  value 'Mic 80pc bias'
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 'Mic 50pc bias'
   item.1 'Mic 80pc bias'
   item.2 'Line in'
  }
 }
 control.6 {
  iface MIXER
  name 'Line Playback Volume'
  value.0 32
  value.1 32
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 65'
   dbmin -3500
   dbmax 3000
   dbvalue.0 -300
   dbvalue.1 -300
  }
 }
 control.7 {
  iface MIXER
  name 'Line Playback Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.8 {
  iface MIXER
  name 'Line Jack Mode'
  value 'Line in'
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 'Mic 50pc bias'
   item.1 'Mic 80pc bias'
   item.2 'Line in'
   item.3 'Line out'
   item.4 'Headphone out'
  }
 }
 control.9 {
  iface MIXER
  name 'CD Playback Volume'
  value.0 65
  value.1 65
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 65'
   dbmin -3500
   dbmax 3000
   dbvalue.0 3000
   dbvalue.1 3000
  }
 }
 control.10 {
  iface MIXER
  name 'CD Playback Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.11 {
  iface MIXER
  name 'Capture Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.12 {
  iface MIXER
  name 'Capture Volume'
  value.0 34
  value.1 34
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 35'
   dbmin 0
   dbmax 3500
   dbvalue.0 3400
   dbvalue.1 3400
  }
 }
 control.13 {
  iface MIXER
  name 'Input Source'
  value Mic
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 Mic
   item.1 'Front Mic'
   item.2 Line
   item.3 CD
  }
 }
 control.14 {
  iface MIXER
  name 'IEC958 Playback Con Mask'
  value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access read
   type IEC958
   count 1
  }
 }
 control.15 {
  iface MIXER
  name 'IEC958 Playback Pro Mask'
  value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access read
   type IEC958
   count 1
  }
 }
 control.16 {
  iface MIXER
  name 'IEC958 Playback Default'
  value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
  comment {
   access 'read write'
   type IEC958
   count 1
  }
 }
 control.17 {
  iface MIXER
  name 'IEC958 Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.18 {
  iface MIXER
  name 'IEC958 Default PCM Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.19 {
  iface MIXER
  name 'Beep Playback Volume'
  value.0 63
  value.1 63
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 65'
   dbmin -3500
   dbmax 3000
   dbvalue.0 2800
   dbvalue.1 2800
  }
 }
 control.20 {
  iface MIXER
  name 'Beep Playback Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.21 {
  iface MIXER
  name 'PCM Playback Volume'
  value.0 252
  value.1 252
  comment {
   access 'read write user'
   type INTEGER
   count 2
   range '0 - 255'
   tlv '0000000100000008ffffec1400000014'
   dbmin -5100
   dbmax 0
   dbvalue.0 -60
   dbvalue.1 -60
  }
 }
}
--endcollapse--

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

Module
btusb
bnep
rfcomm
bluetooth
pci_stub
vboxpci
vboxnetadp
vboxnetflt
vboxdrv
parport_pc
ppdev
binfmt_misc
snd_hda_codec_realtek
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
snd_seq
joydev
snd_timer
snd_seq_device
radeon
snd
video
ttm
drm_kms_helper
drm
arc4
soundcore
i2c_algo_bit
snd_page_alloc
r592
b43
shpchp
psmouse
serio_raw
mac80211
memstick
cfg80211
ati_agp
i2c_piix4
lp
parport
sdhci_pci
firewire_ohci
8139too
usbhid
hid
firewire_core
8139cp
sdhci
crc_itu_t
sata_sil
pata_atiixp
ssb

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

/sys/class/sound/hwC0D0/init_pin_configs:
0x0f 0x01014110
0x10 0x411111f0
0x11 0x411111f0
0x12 0x01a19c30
0x13 0x411111f0
0x14 0x411111f0
0x15 0x411111f0
0x16 0x411111f0
0x17 0x411111f0
0x18 0x411111f0
0x19 0x411111f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D1/init_pin_configs:
0x73 0x016a0000

/sys/class/sound/hwC0D1/driver_pin_configs:

/sys/class/sound/hwC0D1/user_pin_configs:

/sys/class/sound/hwC0D1/init_verbs:

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

[ 18.727487] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input8
[ 18.956847] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 18.957042] HDA Intel 0000:00:14.2: irq 42 for MSI/MSI-X
[ 19.258582] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro

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

I believe your sound card is experiencing the following bug, for which there is no solution yet:

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/556663

Revision history for this message
Joey Jiao (tufeijoe) said :
#4

Yes, I know that post, but since it's a bug, then there could be a solution.
I can debug the alsa-driver inside kernel, but I'm not familiar with alsa structure and concept.

Revision history for this message
Joey Jiao (tufeijoe) said :
#5

Well, I now tried oss-linux which i compiled from source level.
However, I could not even enabled the sound from earphone, also tried together with pulseaudio but still failed.

Revision history for this message
Joey Jiao (tufeijoe) said :
#6

Some guess:
1. lspci shows SB4x0 but some official documents says it should be SB450, I think SB is stands for South Bridge.
2. ALC260 which is a controller or codec for DAC/ADC? Let's assume it should be controller.
So anyone can find the datasheet?
Meanwhile, anyone can find the maintanance manual for B1900 series on which there is schematic for the PCB...

Revision history for this message
Joey Jiao (tufeijoe) said :
#7

General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.
GPIO pins have no special purpose defined, and go unused by default. The idea is that sometimes the system integrator building a full system that uses the chip might find useful to have a handful of additional digital control lines, and having these available from the chip can save the hassle of having to arrange additional circuitry to provide them. For example, the Realtek ALC260 chips (audio codec) have 4 GPIO pins, which go unused by default. Some system integrators (Acer laptops) employing the ALC260 use the first GPIO (GPIO0) to turn on the amplifier used for the laptop's internal speakers and external headphone jack.

Above is an important notice and similar principle talk inside Documents of Alsa. The key is the GPIO pins to control the switch for EarPhone and Speaker. And model=will together with earphone has enabled the sound as I think the GPIO pin is in its default state while model=will without earphone doesn't enable the speaker as the GPIO pin hasn't been toggle as expected.
So the key point is to find the GPIO pin and enable it.
So who is familiar with ALSA structure can tell me which driver file it uses and then I can check more...

Revision history for this message
Joey Jiao (tufeijoe) said :
#8

OK, try find ALC260 inside kernel at sound dir:
pci/hda/patch_realtek.c is the file contains ALC260_WILL, hope will help next.

Revision history for this message
Joey Jiao (tufeijoe) said :
#9
Revision history for this message
Joey Jiao (tufeijoe) said :
#10

I just went through the datasheet, I assume ATI SB450 is HDA controller which send/get digital sound to ALC260 meanwhile send command to it. And the ALC260 is DAC/ADC sound to speaker or earphone / get analog sound from mic...
So the speaker is hard connected to ALC260 and by sending some regs can enable sound output from speaker.

Now we come to some similar driver debug process to get/set parameters to reg which is the next step. But still, alsa structure is still not clear to me and i'm not sure if patch_realtek.c is the only file I need to go through. For me, without earphone is OK, with speaker is preferred.

Revision history for this message
Joey Jiao (tufeijoe) said :
#11

OK, the start from the kernel source is at hda_codec.c about functions of snd_hda_codec_read/snd_hda_codec_write. And below is a reboot dmesg for these read and write to ALC260 without earphone plugged. Needing to analyze compared to datasheet.

[ 28.700236] JOEY: read- nid=0,verb=f00,parm=0
[ 28.700288] JOEY: read- result=10ec0260
[ 28.700290] JOEY: read- nid=0,verb=f00,parm=1
[ 28.700347] JOEY: read- result=0
[ 28.700349] JOEY: read- nid=0,verb=f00,parm=2
[ 28.700389] JOEY: read- result=100400
[ 28.700392] JOEY: read- nid=0,verb=f00,parm=4
[ 28.700430] JOEY: read- result=10001
[ 28.700433] JOEY: read- nid=1,verb=f00,parm=5
[ 28.700472] JOEY: read- result=101
[ 28.700475] JOEY: read- nid=1,verb=f00,parm=4
[ 28.700514] JOEY: read- result=2001a
[ 28.700518] JOEY: read- nid=2,verb=f00,parm=9
[ 28.700555] JOEY: read- result=11
[ 28.700558] JOEY: read- nid=3,verb=f00,parm=9
[ 28.700596] JOEY: read- result=211
[ 28.700599] JOEY: read- nid=4,verb=f00,parm=9
[ 28.700638] JOEY: read- result=10011b
[ 28.700641] JOEY: read- nid=5,verb=f00,parm=9
[ 28.700680] JOEY: read- result=10011b
[ 28.700682] JOEY: read- nid=6,verb=f00,parm=9
[ 28.700721] JOEY: read- result=100391
[ 28.700724] JOEY: read- nid=7,verb=f00,parm=9
[ 28.700763] JOEY: read- result=20010b
[ 28.700766] JOEY: read- nid=8,verb=f00,parm=9
[ 28.700804] JOEY: read- result=20010f
[ 28.700807] JOEY: read- nid=9,verb=f00,parm=9
[ 28.700846] JOEY: read- result=20010f
[ 28.700849] JOEY: read- nid=a,verb=f00,parm=9
[ 28.700888] JOEY: read- result=20010e
[ 28.700890] JOEY: read- nid=b,verb=f00,parm=9
[ 28.700929] JOEY: read- result=300101
[ 28.700932] JOEY: read- nid=c,verb=f00,parm=9
[ 28.700971] JOEY: read- result=300101
[ 28.700973] JOEY: read- nid=d,verb=f00,parm=9
[ 28.701012] JOEY: read- result=300101
[ 28.701015] JOEY: read- nid=e,verb=f00,parm=9
[ 28.701054] JOEY: read- result=300101
[ 28.701057] JOEY: read- nid=f,verb=f00,parm=9
[ 28.701096] JOEY: read- result=40018d
[ 28.701098] JOEY: read- nid=10,verb=f00,parm=9
[ 28.701137] JOEY: read- result=40018d
[ 28.701140] JOEY: read- nid=11,verb=f00,parm=9
[ 28.701179] JOEY: read- result=40010c
[ 28.701182] JOEY: read- nid=12,verb=f00,parm=9
[ 28.701220] JOEY: read- result=40018d
[ 28.701223] JOEY: read- nid=13,verb=f00,parm=9
[ 28.701262] JOEY: read- result=40018d
[ 28.701265] JOEY: read- nid=14,verb=f00,parm=9
[ 28.701304] JOEY: read- result=40018d
[ 28.701306] JOEY: read- nid=15,verb=f00,parm=9
[ 28.701345] JOEY: read- result=40018d
[ 28.701348] JOEY: read- nid=16,verb=f00,parm=9
[ 28.701387] JOEY: read- result=400001
[ 28.701389] JOEY: read- nid=17,verb=f00,parm=9
[ 28.701428] JOEY: read- result=400000
[ 28.701431] JOEY: read- nid=18,verb=f00,parm=9
[ 28.701470] JOEY: read- result=400380
[ 28.701473] JOEY: read- nid=19,verb=f00,parm=9
[ 28.701512] JOEY: read- result=400280
[ 28.701514] JOEY: read- nid=1a,verb=f00,parm=9
[ 28.701553] JOEY: read- result=f00040
[ 28.701556] JOEY: read- nid=1b,verb=f00,parm=9
[ 28.701595] JOEY: read- result=600080
[ 28.701599] JOEY: read- nid=f,verb=f1c,parm=0
[ 28.701637] JOEY: read- result=1014110
[ 28.701640] JOEY: read- nid=f,verb=f07,parm=0
[ 28.701678] JOEY: read- result=20
[ 28.701681] JOEY: read- nid=10,verb=f1c,parm=0
[ 28.701720] JOEY: read- result=411111f0
[ 28.701722] JOEY: read- nid=10,verb=f07,parm=0
[ 28.701761] JOEY: read- result=20
[ 28.701764] JOEY: read- nid=11,verb=f1c,parm=0
[ 28.701803] JOEY: read- result=411111f0
[ 28.701806] JOEY: read- nid=11,verb=f07,parm=0
[ 28.701844] JOEY: read- result=40
[ 28.701847] JOEY: read- nid=12,verb=f1c,parm=0
[ 28.701886] JOEY: read- result=1a19c30
[ 28.701889] JOEY: read- nid=12,verb=f07,parm=0
[ 28.701928] JOEY: read- result=21
[ 28.701930] JOEY: read- nid=13,verb=f1c,parm=0
[ 28.701970] JOEY: read- result=411111f0
[ 28.701972] JOEY: read- nid=13,verb=f07,parm=0
[ 28.702011] JOEY: read- result=20
[ 28.702013] JOEY: read- nid=14,verb=f1c,parm=0
[ 28.702052] JOEY: read- result=411111f0
[ 28.702055] JOEY: read- nid=14,verb=f07,parm=0
[ 28.702094] JOEY: read- result=20
[ 28.702097] JOEY: read- nid=15,verb=f1c,parm=0
[ 28.702136] JOEY: read- result=411111f0
[ 28.702139] JOEY: read- nid=15,verb=f07,parm=0
[ 28.702177] JOEY: read- result=20
[ 28.702180] JOEY: read- nid=16,verb=f1c,parm=0
[ 28.702219] JOEY: read- result=411111f0
[ 28.702222] JOEY: read- nid=16,verb=f07,parm=0
[ 28.702260] JOEY: read- result=0
[ 28.702263] JOEY: read- nid=17,verb=f1c,parm=0
[ 28.702302] JOEY: read- result=411111f0
[ 28.702305] JOEY: read- nid=17,verb=f07,parm=0
[ 28.702344] JOEY: read- result=0
[ 28.702346] JOEY: read- nid=18,verb=f1c,parm=0
[ 28.702385] JOEY: read- result=411111f0
[ 28.702388] JOEY: read- nid=18,verb=f07,parm=0
[ 28.702427] JOEY: read- result=0
[ 28.702429] JOEY: read- nid=19,verb=f1c,parm=0
[ 28.702469] JOEY: read- result=411111f0
[ 28.702471] JOEY: read- nid=19,verb=f07,parm=0
[ 28.702510] JOEY: read- result=0
[ 28.702513] JOEY: read- nid=1,verb=f20,parm=0
[ 28.702552] JOEY: read- result=103c0000
[ 28.702555] JOEY: read- nid=1,verb=705,parm=0
[ 28.702593] JOEY: read- result=0
[ 28.702597] JOEY: read- nid=1,verb=f05,parm=0
[ 28.702635] JOEY: read- result=0
[ 28.702647] JOEY: read- nid=0,verb=f00,parm=0
[ 28.702697] JOEY: read- result=14f12bfa
[ 28.702700] JOEY: read- nid=0,verb=f00,parm=1
[ 28.702739] JOEY: read- result=0
[ 28.702741] JOEY: read- nid=0,verb=f00,parm=2
[ 28.702781] JOEY: read- result=90000
[ 28.702783] JOEY: read- nid=0,verb=f00,parm=4
[ 28.702822] JOEY: read- result=20001
[ 28.702825] JOEY: read- nid=2,verb=f00,parm=5
[ 28.702864] JOEY: read- result=102
[ 28.702867] JOEY: read- nid=2,verb=f00,parm=4
[ 28.702905] JOEY: read- result=700004
[ 28.702909] JOEY: read- nid=70,verb=f00,parm=9
[ 28.702947] JOEY: read- result=f00000
[ 28.702950] JOEY: read- nid=71,verb=f00,parm=9
[ 28.702988] JOEY: read- result=100100
[ 28.702991] JOEY: read- nid=72,verb=f00,parm=9
[ 28.703030] JOEY: read- result=0
[ 28.703033] JOEY: read- nid=73,verb=f00,parm=9
[ 28.703072] JOEY: read- result=400100
[ 28.703075] JOEY: read- nid=73,verb=f1c,parm=0
[ 28.703113] JOEY: read- result=16a0000
[ 28.703116] JOEY: read- nid=73,verb=f07,parm=0
[ 28.703155] JOEY: read- result=1
[ 28.703158] JOEY: read- nid=2,verb=f20,parm=0
[ 28.703197] JOEY: read- result=103c30ba
[ 28.703199] JOEY: read- nid=2,verb=705,parm=0
[ 28.703238] JOEY: read- result=0
[ 28.716054] JOEY: read- nid=2,verb=f05,parm=0
[ 28.716100] JOEY: read- result=0
[ 28.806380] JOEY: read- nid=2,verb=f00,parm=a
[ 28.806433] JOEY: read- result=e0560
[ 28.806436] JOEY: read- nid=2,verb=f00,parm=b
[ 28.806489] JOEY: read- result=1
[ 28.806493] JOEY: read- nid=4,verb=f00,parm=a
[ 28.806531] JOEY: read- result=60160
[ 28.806534] JOEY: read- nid=4,verb=f00,parm=b
[ 28.806573] JOEY: read- result=1
[ 28.822483] JOEY: read- nid=3,verb=f00,parm=a
[ 28.822543] JOEY: read- result=1e0560
[ 28.822553] JOEY: read- nid=3,verb=f00,parm=b
[ 28.822597] JOEY: read- result=1
[ 28.832180] JOEY: write- nid=14,verb=707,parm=20
[ 28.832253] JOEY: write- nid=16,verb=707,parm=20
[ 28.832306] JOEY: write- nid=12,verb=707,parm=24
[ 28.832347] JOEY: write- nid=13,verb=707,parm=24
[ 28.832388] JOEY: write- nid=15,verb=707,parm=40
[ 28.832430] JOEY: write- nid=e,verb=701,parm=0
[ 28.832471] JOEY: write- nid=f,verb=707,parm=40
[ 28.832513] JOEY: write- nid=10,verb=707,parm=c0
[ 28.832555] JOEY: write- nid=11,verb=707,parm=40
[ 28.832597] JOEY: write- nid=4,verb=300,parm=7000
[ 28.832638] JOEY: write- nid=4,verb=701,parm=2
[ 28.832680] JOEY: write- nid=5,verb=300,parm=7000
[ 28.832721] JOEY: write- nid=5,verb=701,parm=2
[ 28.832763] JOEY: write- nid=8,verb=300,parm=b000
[ 28.832804] JOEY: write- nid=f,verb=300,parm=b000
[ 28.832846] JOEY: write- nid=9,verb=300,parm=b000
[ 28.832888] JOEY: write- nid=10,verb=300,parm=b000
[ 28.832929] JOEY: write- nid=a,verb=300,parm=b000
[ 28.832971] JOEY: write- nid=11,verb=300,parm=b000
[ 28.833012] JOEY: write- nid=15,verb=300,parm=b000
[ 28.833054] JOEY: write- nid=7,verb=300,parm=7080
[ 28.833096] JOEY: write- nid=7,verb=300,parm=7180
[ 28.833138] JOEY: write- nid=7,verb=300,parm=7280
[ 28.833179] JOEY: write- nid=7,verb=300,parm=7380
[ 28.833220] JOEY: write- nid=7,verb=300,parm=7480
[ 28.833262] JOEY: write- nid=8,verb=300,parm=7080
[ 28.833304] JOEY: write- nid=8,verb=300,parm=7180
[ 28.833345] JOEY: write- nid=9,verb=300,parm=7080
[ 28.833387] JOEY: write- nid=9,verb=300,parm=7180
[ 28.833428] JOEY: write- nid=a,verb=300,parm=7080
[ 28.833470] JOEY: write- nid=a,verb=300,parm=7180
[ 28.833512] JOEY: write- nid=f,verb=707,parm=c0
[ 28.833554] JOEY: write- nid=b,verb=701,parm=0
[ 28.833595] JOEY: write- nid=d,verb=701,parm=0
[ 28.833636] JOEY: write- nid=f,verb=70c,parm=2
[ 28.833678] JOEY: write- nid=1a,verb=500,parm=7
[ 28.833720] JOEY: write- nid=1a,verb=400,parm=3040
[ 28.833808] JOEY: read- nid=3,verb=f0d,parm=0
[ 28.833844] JOEY: read- result=0
[ 28.946055] JOEY: read- nid=8,verb=f00,parm=12
[ 28.946128] JOEY: read- result=34040
[ 28.946225] JOEY: read- nid=7,verb=f00,parm=d
[ 28.946271] JOEY: read- result=80034123
[ 28.946348] JOEY: read- nid=4,verb=f00,parm=d
[ 28.946394] JOEY: read- result=80032300
[ 28.946589] JOEY: read- nid=8,verb=b00,parm=a000
[ 28.946645] JOEY: read- result=0
[ 28.946649] JOEY: write- nid=8,verb=300,parm=a040
[ 28.946704] JOEY: read- nid=8,verb=b00,parm=8000
[ 28.946750] JOEY: read- result=0
[ 28.946752] JOEY: write- nid=8,verb=300,parm=9040
[ 28.946815] JOEY: read- nid=8,verb=b00,parm=2000
[ 28.946871] JOEY: read- result=80
[ 28.946873] JOEY: write- nid=8,verb=300,parm=6000
[ 28.946939] JOEY: read- nid=8,verb=b00,parm=0
[ 28.946995] JOEY: read- result=80
[ 28.946997] JOEY: write- nid=8,verb=300,parm=5000
[ 28.947064] JOEY: read- nid=8,verb=b00,parm=2001
[ 28.947119] JOEY: read- result=80
[ 28.947122] JOEY: write- nid=8,verb=300,parm=6100
[ 28.947188] JOEY: read- nid=8,verb=b00,parm=1
[ 28.947243] JOEY: read- result=80
[ 28.947246] JOEY: write- nid=8,verb=300,parm=5100
[ 28.947308] JOEY: read- nid=7,verb=b00,parm=2000
[ 28.947353] JOEY: read- result=80
[ 28.947356] JOEY: write- nid=7,verb=300,parm=60c1
[ 28.947412] JOEY: read- nid=7,verb=b00,parm=0
[ 28.947457] JOEY: read- result=80
[ 28.947460] JOEY: write- nid=7,verb=300,parm=50c1
[ 28.947522] JOEY: read- nid=7,verb=b00,parm=2001
[ 28.947578] JOEY: read- result=80
[ 28.947581] JOEY: read- nid=7,verb=b00,parm=1
[ 28.947646] JOEY: read- result=80
[ 28.947649] JOEY: read- nid=7,verb=b00,parm=2002
[ 28.947708] JOEY: read- result=80
[ 28.947710] JOEY: read- nid=7,verb=b00,parm=2
[ 28.947770] JOEY: read- result=80
[ 28.947773] JOEY: read- nid=7,verb=b00,parm=2003
[ 28.947833] JOEY: read- result=80
[ 28.947835] JOEY: read- nid=7,verb=b00,parm=3
[ 28.947895] JOEY: read- result=80
[ 28.947898] JOEY: read- nid=7,verb=b00,parm=2004
[ 28.947957] JOEY: read- result=80
[ 28.947960] JOEY: read- nid=7,verb=b00,parm=4
[ 28.948030] JOEY: read- result=80
[ 28.948043] JOEY: read- nid=12,verb=f07,parm=0
[ 28.948099] JOEY: read- result=24
[ 28.948131] JOEY: read- nid=14,verb=f07,parm=0
[ 28.948197] JOEY: read- result=20
[ 28.948227] JOEY: read- nid=4,verb=b00,parm=2000
[ 28.948272] JOEY: read- result=0
[ 28.948275] JOEY: read- nid=4,verb=b00,parm=0
[ 28.948333] JOEY: read- result=0
[ 28.948351] JOEY: write- nid=4,verb=300,parm=6022
[ 28.948397] JOEY: write- nid=4,verb=300,parm=5022
[ 28.948493] JOEY: write- nid=3,verb=70d,parm=1
[ 28.948561] JOEY: read- nid=7,verb=b00,parm=2005
[ 28.948627] JOEY: read- result=a3
[ 28.948629] JOEY: write- nid=7,verb=300,parm=65c1
[ 28.948687] JOEY: read- nid=7,verb=b00,parm=5
[ 28.948752] JOEY: read- result=a3
[ 28.948755] JOEY: write- nid=7,verb=300,parm=55c1
[ 31.845631] JOEY: read- nid=12,verb=f07,parm=0
[ 31.845686] JOEY: read- result=24
[ 31.845719] JOEY: read- nid=14,verb=f07,parm=0
[ 31.845765] JOEY: read- result=20
[ 35.296499] JOEY: read- nid=2,verb=f06,parm=0
[ 35.296567] JOEY: read- result=0
[ 35.296570] JOEY: write- nid=2,verb=706,parm=50
[ 35.296619] JOEY: read- nid=2,verb=a00,parm=0
[ 35.296664] JOEY: read- result=20
[ 35.304033] JOEY: write- nid=2,verb=200,parm=4011
[ 35.399209] JOEY: read- nid=14,verb=f07,parm=0
[ 35.399266] JOEY: read- result=20
[ 35.399314] JOEY: read- nid=12,verb=f07,parm=0
[ 35.399369] JOEY: read- result=24
[ 35.401717] JOEY: read- nid=4,verb=f06,parm=0
[ 35.401763] JOEY: read- result=0
[ 35.401766] JOEY: write- nid=4,verb=706,parm=10
[ 35.401804] JOEY: read- nid=4,verb=a00,parm=0
[ 35.401845] JOEY: read- result=20
[ 35.408028] JOEY: write- nid=4,verb=200,parm=4011
[ 35.503004] JOEY: read- nid=14,verb=f07,parm=0
[ 35.503056] JOEY: read- result=20
[ 35.503098] JOEY: read- nid=12,verb=f07,parm=0
[ 35.503143] JOEY: read- result=24
[ 35.552461] JOEY: write- nid=3,verb=70d,parm=81
[ 35.552530] JOEY: write- nid=3,verb=70e,parm=2
[ 35.552652] JOEY: write- nid=3,verb=70d,parm=80
[ 35.552723] JOEY: read- nid=3,verb=f06,parm=0
[ 35.552779] JOEY: read- result=0
[ 35.552781] JOEY: write- nid=3,verb=706,parm=80
[ 35.552842] JOEY: read- nid=3,verb=a00,parm=0
[ 35.552899] JOEY: read- result=20
[ 35.560046] JOEY: write- nid=3,verb=200,parm=4011
[ 35.560109] JOEY: write- nid=3,verb=70d,parm=81
[ 35.560233] JOEY: write- nid=3,verb=70d,parm=80
[ 35.560303] JOEY: write- nid=3,verb=70d,parm=81
[ 35.588192] JOEY: read- nid=14,verb=f07,parm=0
[ 35.588246] JOEY: read- result=20
[ 35.588291] JOEY: read- nid=12,verb=f07,parm=0
[ 35.588348] JOEY: read- result=24
[ 35.590929] JOEY: write- nid=3,verb=70d,parm=1
[ 35.590971] JOEY: write- nid=3,verb=70e,parm=0
[ 35.601132] JOEY: read- nid=14,verb=f07,parm=0
[ 35.601183] JOEY: read- result=20
[ 35.601229] JOEY: read- nid=12,verb=f07,parm=0
[ 35.601284] JOEY: read- result=24
[ 35.627140] JOEY: read- nid=14,verb=f07,parm=0
[ 35.627204] JOEY: read- result=20
[ 35.627253] JOEY: read- nid=12,verb=f07,parm=0
[ 35.627302] JOEY: read- result=24
[ 39.928045] JOEY: read- nid=f,verb=f00,parm=c
[ 39.928118] JOEY: read- result=1003f
[ 39.928121] JOEY: write- nid=f,verb=70c,parm=0
[ 39.928178] JOEY: read- nid=10,verb=f00,parm=c
[ 39.928230] JOEY: read- result=1003f
[ 39.928233] JOEY: write- nid=10,verb=70c,parm=0
[ 40.132062] JOEY: read- nid=f,verb=707,parm=0
[ 40.132141] JOEY: read- result=0
[ 40.132143] JOEY: read- nid=10,verb=707,parm=0
[ 40.132200] JOEY: read- result=0
[ 40.132203] JOEY: read- nid=11,verb=707,parm=0
[ 40.132249] JOEY: read- result=0
[ 40.132252] JOEY: read- nid=12,verb=707,parm=0
[ 40.132317] JOEY: read- result=0
[ 40.132319] JOEY: read- nid=13,verb=707,parm=0
[ 40.132376] JOEY: read- result=0
[ 40.132379] JOEY: read- nid=14,verb=707,parm=0
[ 40.132435] JOEY: read- result=0
[ 40.132438] JOEY: read- nid=15,verb=707,parm=0
[ 40.132503] JOEY: read- result=0
[ 40.132506] JOEY: read- nid=16,verb=707,parm=0
[ 40.132562] JOEY: read- result=0
[ 40.132565] JOEY: read- nid=17,verb=707,parm=0
[ 40.132630] JOEY: read- result=0
[ 40.132633] JOEY: read- nid=18,verb=707,parm=0
[ 40.132698] JOEY: read- result=0
[ 40.132701] JOEY: read- nid=19,verb=707,parm=0
[ 40.132748] JOEY: read- result=0
[ 40.132752] JOEY: write- nid=2,verb=706,parm=0
[ 40.132818] JOEY: write- nid=2,verb=200,parm=0
[ 40.132875] JOEY: write- nid=4,verb=706,parm=0
[ 40.132941] JOEY: write- nid=4,verb=200,parm=0
[ 40.133008] JOEY: write- nid=3,verb=706,parm=0
[ 40.133064] JOEY: write- nid=3,verb=200,parm=0
[ 40.236082] JOEY: read- nid=1,verb=705,parm=3
[ 40.236159] JOEY: read- result=0
[ 41.428673] JOEY: read- nid=1,verb=705,parm=0
[ 41.428734] JOEY: read- result=0
[ 41.428737] JOEY: read- nid=1,verb=f05,parm=0
[ 41.428795] JOEY: read- result=0
[ 41.428799] JOEY: write- nid=f,verb=71c,parm=10
[ 41.428858] JOEY: write- nid=f,verb=71d,parm=41
[ 41.428913] JOEY: write- nid=f,verb=71e,parm=1
[ 41.428959] JOEY: write- nid=f,verb=71f,parm=1
[ 41.429025] JOEY: write- nid=10,verb=71c,parm=f0
[ 41.429081] JOEY: write- nid=10,verb=71d,parm=11
[ 41.429126] JOEY: write- nid=10,verb=71e,parm=11
[ 41.429182] JOEY: write- nid=10,verb=71f,parm=41
[ 41.429228] JOEY: write- nid=11,verb=71c,parm=f0
[ 41.429294] JOEY: write- nid=11,verb=71d,parm=11
[ 41.429349] JOEY: write- nid=11,verb=71e,parm=11
[ 41.429395] JOEY: write- nid=11,verb=71f,parm=41
[ 41.429461] JOEY: write- nid=12,verb=71c,parm=30
[ 41.429517] JOEY: write- nid=12,verb=71d,parm=9c
[ 41.429563] JOEY: write- nid=12,verb=71e,parm=a1
[ 41.429618] JOEY: write- nid=12,verb=71f,parm=1
[ 41.429664] JOEY: write- nid=13,verb=71c,parm=f0
[ 41.429730] JOEY: write- nid=13,verb=71d,parm=11
[ 41.429786] JOEY: write- nid=13,verb=71e,parm=11
[ 41.429831] JOEY: write- nid=13,verb=71f,parm=41
[ 41.429897] JOEY: write- nid=14,verb=71c,parm=f0
[ 41.429953] JOEY: write- nid=14,verb=71d,parm=11
[ 41.429999] JOEY: write- nid=14,verb=71e,parm=11
[ 41.430064] JOEY: write- nid=14,verb=71f,parm=41
[ 41.430120] JOEY: write- nid=15,verb=71c,parm=f0
[ 41.430166] JOEY: write- nid=15,verb=71d,parm=11
[ 41.430221] JOEY: write- nid=15,verb=71e,parm=11
[ 41.430267] JOEY: write- nid=15,verb=71f,parm=41
[ 41.430313] JOEY: write- nid=16,verb=71c,parm=f0
[ 41.430368] JOEY: write- nid=16,verb=71d,parm=11
[ 41.430414] JOEY: write- nid=16,verb=71e,parm=11
[ 41.430480] JOEY: write- nid=16,verb=71f,parm=41
[ 41.430535] JOEY: write- nid=17,verb=71c,parm=f0
[ 41.430581] JOEY: write- nid=17,verb=71d,parm=11
[ 41.430647] JOEY: write- nid=17,verb=71e,parm=11
[ 41.430702] JOEY: write- nid=17,verb=71f,parm=41
[ 41.430748] JOEY: write- nid=18,verb=71c,parm=f0
[ 41.430804] JOEY: write- nid=18,verb=71d,parm=11
[ 41.430849] JOEY: write- nid=18,verb=71e,parm=11
[ 41.430895] JOEY: write- nid=18,verb=71f,parm=41
[ 41.430951] JOEY: write- nid=19,verb=71c,parm=f0
[ 41.430996] JOEY: write- nid=19,verb=71d,parm=11
[ 41.431062] JOEY: write- nid=19,verb=71e,parm=11
[ 41.431118] JOEY: write- nid=19,verb=71f,parm=41
[ 41.431163] JOEY: write- nid=f,verb=707,parm=20
[ 41.431229] JOEY: write- nid=10,verb=707,parm=20
[ 41.431285] JOEY: write- nid=11,verb=707,parm=40
[ 41.431330] JOEY: write- nid=12,verb=707,parm=21
[ 41.431386] JOEY: write- nid=13,verb=707,parm=20
[ 41.431432] JOEY: write- nid=14,verb=707,parm=20
[ 41.431498] JOEY: write- nid=15,verb=707,parm=20
[ 41.431554] JOEY: write- nid=16,verb=707,parm=0
[ 41.431599] JOEY: write- nid=17,verb=707,parm=0
[ 41.431665] JOEY: write- nid=18,verb=707,parm=0
[ 41.431721] JOEY: write- nid=19,verb=707,parm=0
[ 41.584041] JOEY: write- nid=14,verb=707,parm=20
[ 41.584103] JOEY: write- nid=16,verb=707,parm=20
[ 41.584149] JOEY: write- nid=12,verb=707,parm=24
[ 41.584204] JOEY: write- nid=13,verb=707,parm=24
[ 41.584250] JOEY: write- nid=15,verb=707,parm=40
[ 41.584316] JOEY: write- nid=e,verb=701,parm=0
[ 41.584372] JOEY: write- nid=f,verb=707,parm=40
[ 41.584417] JOEY: write- nid=10,verb=707,parm=c0
[ 41.584483] JOEY: write- nid=11,verb=707,parm=40
[ 41.584539] JOEY: write- nid=4,verb=300,parm=7000
[ 41.584585] JOEY: write- nid=4,verb=701,parm=2
[ 41.584640] JOEY: write- nid=5,verb=300,parm=7000
[ 41.584686] JOEY: write- nid=5,verb=701,parm=2
[ 41.584752] JOEY: write- nid=8,verb=300,parm=b000
[ 41.584808] JOEY: write- nid=f,verb=300,parm=b000
[ 41.584853] JOEY: write- nid=9,verb=300,parm=b000
[ 41.584919] JOEY: write- nid=10,verb=300,parm=b000
[ 41.584975] JOEY: write- nid=a,verb=300,parm=b000
[ 41.585020] JOEY: write- nid=11,verb=300,parm=b000
[ 41.585086] JOEY: write- nid=15,verb=300,parm=b000
[ 41.585142] JOEY: write- nid=7,verb=300,parm=7080
[ 41.585189] JOEY: write- nid=7,verb=300,parm=7180
[ 41.585245] JOEY: write- nid=7,verb=300,parm=7280
[ 41.585291] JOEY: write- nid=7,verb=300,parm=7380
[ 41.585348] JOEY: write- nid=7,verb=300,parm=7480
[ 41.585393] JOEY: write- nid=8,verb=300,parm=7080
[ 41.585439] JOEY: write- nid=8,verb=300,parm=7180
[ 41.585495] JOEY: write- nid=9,verb=300,parm=7080
[ 41.585541] JOEY: write- nid=9,verb=300,parm=7180
[ 41.585599] JOEY: write- nid=a,verb=300,parm=7080
[ 41.585645] JOEY: write- nid=a,verb=300,parm=7180
[ 41.585711] JOEY: write- nid=f,verb=707,parm=c0
[ 41.585768] JOEY: write- nid=b,verb=701,parm=0
[ 41.585834] JOEY: write- nid=d,verb=701,parm=0
[ 41.585900] JOEY: write- nid=f,verb=70c,parm=2
[ 41.585957] JOEY: write- nid=1a,verb=500,parm=7
[ 41.586023] JOEY: write- nid=1a,verb=400,parm=3040
[ 41.586082] JOEY: write- nid=8,verb=300,parm=a040
[ 41.586148] JOEY: write- nid=8,verb=300,parm=9040
[ 41.586204] JOEY: write- nid=7,verb=300,parm=60c1
[ 41.586271] JOEY: write- nid=7,verb=300,parm=50c1
[ 41.586337] JOEY: write- nid=4,verb=300,parm=6022
[ 41.586394] JOEY: write- nid=4,verb=300,parm=5022
[ 41.586459] JOEY: write- nid=8,verb=300,parm=6000
[ 41.586516] JOEY: write- nid=8,verb=300,parm=5000
[ 41.586583] JOEY: write- nid=8,verb=300,parm=6100
[ 41.586648] JOEY: write- nid=8,verb=300,parm=5100
[ 41.586706] JOEY: write- nid=7,verb=300,parm=6180
[ 41.586771] JOEY: write- nid=7,verb=300,parm=5180
[ 41.586828] JOEY: write- nid=7,verb=300,parm=6280
[ 41.586895] JOEY: write- nid=7,verb=300,parm=5280
[ 41.586961] JOEY: write- nid=7,verb=300,parm=6380
[ 41.587018] JOEY: write- nid=7,verb=300,parm=5380
[ 41.587083] JOEY: write- nid=7,verb=300,parm=6480
[ 41.587140] JOEY: write- nid=7,verb=300,parm=5480
[ 41.587207] JOEY: write- nid=7,verb=300,parm=65c1
[ 41.587273] JOEY: write- nid=7,verb=300,parm=55c1
[ 41.587330] JOEY: write- nid=3,verb=70d,parm=1
[ 41.587396] JOEY: write- nid=3,verb=70e,parm=0
[ 41.599218] JOEY: read- nid=2,verb=f06,parm=0
[ 41.599274] JOEY: read- result=0
[ 41.599278] JOEY: write- nid=2,verb=706,parm=50
[ 41.599327] JOEY: read- nid=2,verb=a00,parm=0
[ 41.599394] JOEY: read- result=0
[ 41.604039] JOEY: write- nid=2,verb=200,parm=4011
[ 41.606630] JOEY: read- nid=14,verb=f07,parm=0
[ 41.606686] JOEY: read- result=20
[ 41.606722] JOEY: read- nid=12,verb=f07,parm=0
[ 41.606767] JOEY: read- result=24
[ 41.608841] JOEY: read- nid=4,verb=f06,parm=0
[ 41.608897] JOEY: read- result=0
[ 41.608899] JOEY: write- nid=4,verb=706,parm=10
[ 41.608956] JOEY: read- nid=4,verb=a00,parm=0
[ 41.609023] JOEY: read- result=0
[ 41.620071] JOEY: write- nid=4,verb=200,parm=4011
[ 41.625560] JOEY: read- nid=14,verb=f07,parm=0
[ 41.625636] JOEY: read- result=20
[ 41.625677] JOEY: read- nid=12,verb=f07,parm=0
[ 41.625732] JOEY: read- result=24
[ 41.680835] JOEY: write- nid=3,verb=70d,parm=81
[ 41.680904] JOEY: write- nid=3,verb=70e,parm=2
[ 41.681069] JOEY: write- nid=3,verb=70d,parm=80
[ 41.681129] JOEY: read- nid=3,verb=f06,parm=0
[ 41.681188] JOEY: read- result=0
[ 41.681191] JOEY: write- nid=3,verb=706,parm=80
[ 41.681247] JOEY: read- nid=3,verb=a00,parm=0
[ 41.681314] JOEY: read- result=4011
[ 41.681317] JOEY: write- nid=3,verb=70d,parm=81
[ 41.681418] JOEY: write- nid=3,verb=70d,parm=80
[ 41.681488] JOEY: write- nid=3,verb=70d,parm=81
[ 41.681820] JOEY: read- nid=14,verb=f07,parm=0
[ 41.681877] JOEY: read- result=20
[ 41.681914] JOEY: read- nid=12,verb=f07,parm=0
[ 41.681979] JOEY: read- result=24
[ 41.684794] JOEY: write- nid=3,verb=70d,parm=1
[ 41.684851] JOEY: write- nid=3,verb=70e,parm=0
[ 41.694946] JOEY: read- nid=14,verb=f07,parm=0
[ 41.695004] JOEY: read- result=20
[ 41.695043] JOEY: read- nid=12,verb=f07,parm=0
[ 41.695099] JOEY: read- result=24
[ 41.731070] JOEY: read- nid=14,verb=f07,parm=0
[ 41.731128] JOEY: read- result=20
[ 41.731167] JOEY: read- nid=12,verb=f07,parm=0
[ 41.731223] JOEY: read- result=24
[ 47.836051] JOEY: write- nid=f,verb=70c,parm=0
[ 47.836124] JOEY: write- nid=10,verb=70c,parm=0
[ 48.040049] JOEY: read- nid=f,verb=707,parm=0
[ 48.040102] JOEY: read- result=0
[ 48.040105] JOEY: read- nid=10,verb=707,parm=0
[ 48.040162] JOEY: read- result=0
[ 48.040165] JOEY: read- nid=11,verb=707,parm=0
[ 48.040203] JOEY: read- result=0
[ 48.040206] JOEY: read- nid=12,verb=707,parm=0
[ 48.040245] JOEY: read- result=0
[ 48.040247] JOEY: read- nid=13,verb=707,parm=0
[ 48.040286] JOEY: read- result=0
[ 48.040289] JOEY: read- nid=14,verb=707,parm=0
[ 48.040328] JOEY: read- result=0
[ 48.040331] JOEY: read- nid=15,verb=707,parm=0
[ 48.040370] JOEY: read- result=0
[ 48.040372] JOEY: read- nid=16,verb=707,parm=0
[ 48.040411] JOEY: read- result=0
[ 48.040414] JOEY: read- nid=17,verb=707,parm=0
[ 48.040453] JOEY: read- result=0
[ 48.040455] JOEY: read- nid=18,verb=707,parm=0
[ 48.040495] JOEY: read- result=0
[ 48.040497] JOEY: read- nid=19,verb=707,parm=0
[ 48.040536] JOEY: read- result=0
[ 48.040540] JOEY: write- nid=2,verb=706,parm=0
[ 48.040578] JOEY: write- nid=2,verb=200,parm=0
[ 48.040620] JOEY: write- nid=4,verb=706,parm=0
[ 48.040661] JOEY: write- nid=4,verb=200,parm=0
[ 48.040703] JOEY: write- nid=3,verb=706,parm=0
[ 48.040744] JOEY: write- nid=3,verb=200,parm=0
[ 48.144047] JOEY: read- nid=1,verb=705,parm=3
[ 48.144102] JOEY: read- result=0

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

Here is a link that may help and that you should read all the way through:

http://voices.canonical.com/tag/pulseaudio/

I suggest installing and using the codecgraph package from Ubuntu universe repository, hda-jack-retask package from ppa:diwic/hda and snd-hda-tools package from ppa:diwic/hda repository to assist in troubleshooting.

Revision history for this message
Joey Jiao (tufeijoe) said :
#13

Thanks, I will try it.

Anyway, analyze part of the read/write, and many VERB not listed in the datasheet.

[ 28.608401] JOEY: read- nid=0,verb=f00,parm=0
[ 28.608454] JOEY: read- result=10ec0260
Get Vendor ID [verb ID=F00h means get parameters]
[ 28.608456] JOEY: read- nid=0,verb=f00,parm=1
[ 28.608496] JOEY: read- result=0
Get Subsystem ID: not ALC260 and ALC260-LF, for others
[ 28.608498] JOEY: read- nid=0,verb=f00,parm=2
[ 28.608540] JOEY: read- result=100400
Get Revision ID, MajRev=1, MinRev=0, Revision ID=04, Stepping ID=0
[ 28.608543] JOEY: read- nid=0,verb=f00,parm=4
[ 28.608677] JOEY: read- result=10001
Get Subordinate Node Count, Starting Node Number=1, Total Number of Nodes=1
[ 28.608680] JOEY: read- nid=1,verb=f00,parm=5
[ 28.608731] JOEY: read- result=101
N/A
[ 28.608734] JOEY: read- nid=1,verb=f00,parm=4
[ 28.608796] JOEY: read- result=2001a
N/A
[ 28.608801] JOEY: read- nid=2,verb=f00,parm=9
[ 28.608871] JOEY: read- result=11
[ 28.608874] JOEY: read- nid=3,verb=f00,parm=9
[ 28.608938] JOEY: read- result=211
[ 28.608941] JOEY: read- nid=4,verb=f00,parm=9
[ 28.608993] JOEY: read- result=10011b
[ 28.608996] JOEY: read- nid=5,verb=f00,parm=9
[ 28.609047] JOEY: read- result=10011b
[ 28.609050] JOEY: read- nid=6,verb=f00,parm=9
[ 29.612031] JOEY: read- result=100391
[ 29.612034] JOEY: read- nid=7,verb=f00,parm=9
[ 30.616022] JOEY: read- result=20010b
[ 30.616025] JOEY: read- nid=8,verb=f00,parm=9
[ 31.620090] JOEY: read- result=20010f
[ 31.620093] JOEY: read- nid=9,verb=f00,parm=9
[ 31.620147] JOEY: read- result=20010f
[ 31.620150] JOEY: read- nid=a,verb=f00,parm=9
[ 31.620203] JOEY: read- result=20010e
[ 31.620206] JOEY: read- nid=b,verb=f00,parm=9
[ 31.620248] JOEY: read- result=300101
[ 31.620250] JOEY: read- nid=c,verb=f00,parm=9
[ 31.620291] JOEY: read- result=300101
[ 31.620294] JOEY: read- nid=d,verb=f00,parm=9
[ 31.620347] JOEY: read- result=300101
[ 31.620349] JOEY: read- nid=e,verb=f00,parm=9
[ 31.620390] JOEY: read- result=300101
[ 31.620393] JOEY: read- nid=f,verb=f00,parm=9
[ 31.620434] JOEY: read- result=40018d
[ 31.620437] JOEY: read- nid=10,verb=f00,parm=9
[ 31.620479] JOEY: read- result=40018d
[ 31.620481] JOEY: read- nid=11,verb=f00,parm=9
[ 31.620535] JOEY: read- result=40010c
[ 31.620537] JOEY: read- nid=12,verb=f00,parm=9
[ 31.620579] JOEY: read- result=40018d
[ 31.620581] JOEY: read- nid=13,verb=f00,parm=9
[ 31.620622] JOEY: read- result=40018d
[ 31.620625] JOEY: read- nid=14,verb=f00,parm=9
[ 31.620666] JOEY: read- result=40018d
[ 31.620669] JOEY: read- nid=15,verb=f00,parm=9
[ 31.620721] JOEY: read- result=40018d
[ 31.620724] JOEY: read- nid=16,verb=f00,parm=9
[ 31.620765] JOEY: read- result=400001
[ 31.620768] JOEY: read- nid=17,verb=f00,parm=9
[ 31.620809] JOEY: read- result=400000
[ 31.620812] JOEY: read- nid=18,verb=f00,parm=9
[ 31.620853] JOEY: read- result=400380
[ 31.620855] JOEY: read- nid=19,verb=f00,parm=9
[ 31.620908] JOEY: read- result=400280
[ 31.620911] JOEY: read- nid=1a,verb=f00,parm=9
[ 31.620953] JOEY: read- result=f00040
[ 31.620956] JOEY: read- nid=1b,verb=f00,parm=9
[ 31.620996] JOEY: read- result=600080
[ 31.621000] JOEY: read- nid=f,verb=f1c,parm=0
[ 31.621053] JOEY: read- result=1014110
8.23 Get Configuration Default for each pin widget, NID=0Fh,10h,11h,12h,13h,14h,15h,18h,19h
[ 31.621056] JOEY: read- nid=f,verb=f07,parm=0
[ 31.621097] JOEY: read- result=20
8.17 Get Pin Widget Control, NID=0Fh,10h,11h,12h,13h,14h,15h
[ 31.621100] JOEY: read- nid=10,verb=f1c,parm=0
[ 31.621141] JOEY: read- result=411111f0
[ 31.621144] JOEY: read- nid=10,verb=f07,parm=0
[ 31.621185] JOEY: read- result=20
[ 31.621188] JOEY: read- nid=11,verb=f1c,parm=0
[ 31.621240] JOEY: read- result=411111f0
[ 31.621243] JOEY: read- nid=11,verb=f07,parm=0
[ 31.621284] JOEY: read- result=40
[ 31.621287] JOEY: read- nid=12,verb=f1c,parm=0
[ 31.621328] JOEY: read- result=1a19c30
[ 31.621331] JOEY: read- nid=12,verb=f07,parm=0
[ 31.621372] JOEY: read- result=21
[ 31.621374] JOEY: read- nid=13,verb=f1c,parm=0
[ 31.621427] JOEY: read- result=411111f0
[ 31.621430] JOEY: read- nid=13,verb=f07,parm=0
[ 31.621471] JOEY: read- result=20
[ 31.621474] JOEY: read- nid=14,verb=f1c,parm=0
[ 31.621515] JOEY: read- result=411111f0
[ 31.621517] JOEY: read- nid=14,verb=f07,parm=0
[ 31.621558] JOEY: read- result=20
[ 31.621561] JOEY: read- nid=15,verb=f1c,parm=0
[ 31.621602] JOEY: read- result=411111f0
[ 31.621605] JOEY: read- nid=15,verb=f07,parm=0
[ 31.621658] JOEY: read- result=20
[ 31.621660] JOEY: read- nid=16,verb=f1c,parm=0
[ 31.621702] JOEY: read- result=411111f0
[ 31.621704] JOEY: read- nid=16,verb=f07,parm=0
[ 31.621745] JOEY: read- result=0
[ 31.621748] JOEY: read- nid=17,verb=f1c,parm=0
[ 31.621789] JOEY: read- result=411111f0
[ 31.621792] JOEY: read- nid=17,verb=f07,parm=0
[ 31.621845] JOEY: read- result=0
[ 31.621847] JOEY: read- nid=18,verb=f1c,parm=0
[ 31.621888] JOEY: read- result=411111f0
[ 31.621891] JOEY: read- nid=18,verb=f07,parm=0
[ 31.621932] JOEY: read- result=0
[ 31.621934] JOEY: read- nid=19,verb=f1c,parm=0
[ 31.621975] JOEY: read- result=411111f0
[ 31.621978] JOEY: read- nid=19,verb=f07,parm=0
[ 31.622031] JOEY: read- result=0
[ 31.622033] JOEY: read- nid=1,verb=f20,parm=0
[ 31.622074] JOEY: read- result=103c0000
8.40 Get Subsystem ID
[ 31.622077] JOEY: read- nid=1,verb=705,parm=0
[ 31.622118] JOEY: read- result=0
8.14 Set Power State
[ 31.622121] JOEY: read- nid=1,verb=f05,parm=0
[ 31.622162] JOEY: read- result=0
[ 31.622178] JOEY: read- nid=0,verb=f00,parm=0
[ 31.622219] JOEY: read- result=14f12bfa
[ 31.622222] JOEY: read- nid=0,verb=f00,parm=1
[ 31.622263] JOEY: read- result=0
[ 31.622265] JOEY: read- nid=0,verb=f00,parm=2
[ 31.622306] JOEY: read- result=90000
[ 31.622309] JOEY: read- nid=0,verb=f00,parm=4
[ 31.622350] JOEY: read- result=20001
[ 31.622353] JOEY: read- nid=2,verb=f00,parm=5
[ 31.622405] JOEY: read- result=102
[ 31.622408] JOEY: read- nid=2,verb=f00,parm=4
[ 31.622449] JOEY: read- result=700004
[ 31.622452] JOEY: read- nid=70,verb=f00,parm=9
[ 31.622493] JOEY: read- result=f00000
[ 31.622496] JOEY: read- nid=71,verb=f00,parm=9
[ 31.622537] JOEY: read- result=100100
[ 31.622539] JOEY: read- nid=72,verb=f00,parm=9
[ 31.622592] JOEY: read- result=0
[ 31.622595] JOEY: read- nid=73,verb=f00,parm=9
[ 31.622636] JOEY: read- result=400100
[ 31.622639] JOEY: read- nid=73,verb=f1c,parm=0
[ 31.622680] JOEY: read- result=16a0000
[ 31.622682] JOEY: read- nid=73,verb=f07,parm=0
[ 31.622723] JOEY: read- result=1
[ 31.622726] JOEY: read- nid=2,verb=f20,parm=0
[ 31.622767] JOEY: read- result=103c30ba
[ 31.622770] JOEY: read- nid=2,verb=705,parm=0
[ 31.622822] JOEY: read- result=0
[ 31.636286] JOEY: read- nid=2,verb=f05,parm=0
[ 31.636333] JOEY: read- result=0
[ 31.905510] JOEY: read- nid=2,verb=f00,parm=a
[ 31.905559] JOEY: read- result=e0560
[ 31.905563] JOEY: read- nid=2,verb=f00,parm=b
[ 31.905615] JOEY: read- result=1
[ 31.905618] JOEY: read- nid=4,verb=f00,parm=a
[ 31.905659] JOEY: read- result=60160
[ 31.905662] JOEY: read- nid=4,verb=f00,parm=b
[ 31.905703] JOEY: read- result=1
[ 31.942439] JOEY: read- nid=3,verb=f00,parm=a
[ 31.942496] JOEY: read- result=1e0560
[ 31.942499] JOEY: read- nid=3,verb=f00,parm=b
[ 31.942552] JOEY: read- result=1
[ 31.958195] JOEY: write- nid=14,verb=707,parm=20
8.18 Set Pin Widget Control
[ 31.958239] JOEY: write- nid=16,verb=707,parm=20
[ 31.958290] JOEY: write- nid=12,verb=707,parm=24
[ 31.958348] JOEY: write- nid=13,verb=707,parm=24
[ 31.958385] JOEY: write- nid=15,verb=707,parm=40
[ 31.958503] JOEY: write- nid=e,verb=701,parm=0
8.3 Set Connection Select
[ 31.958558] JOEY: write- nid=f,verb=707,parm=40
[ 31.958600] JOEY: write- nid=10,verb=707,parm=c0
[ 31.958644] JOEY: write- nid=11,verb=707,parm=40
[ 31.958701] JOEY: write- nid=4,verb=300,parm=7000
N/A
[ 31.958746] JOEY: write- nid=4,verb=701,parm=2
[ 31.958788] JOEY: write- nid=5,verb=300,parm=7000
[ 31.958845] JOEY: write- nid=5,verb=701,parm=2
[ 31.958893] JOEY: write- nid=8,verb=300,parm=b000
[ 31.958989] JOEY: write- nid=f,verb=300,parm=b000
[ 31.959031] JOEY: write- nid=9,verb=300,parm=b000
[ 31.959074] JOEY: write- nid=10,verb=300,parm=b000
[ 31.959116] JOEY: write- nid=a,verb=300,parm=b000
[ 31.959158] JOEY: write- nid=11,verb=300,parm=b000
[ 31.959200] JOEY: write- nid=15,verb=300,parm=b000
[ 31.959243] JOEY: write- nid=7,verb=300,parm=7080
[ 31.959286] JOEY: write- nid=7,verb=300,parm=7180
[ 31.959329] JOEY: write- nid=7,verb=300,parm=7280
[ 31.959385] JOEY: write- nid=7,verb=300,parm=7380
[ 31.959429] JOEY: write- nid=7,verb=300,parm=7480
[ 31.959473] JOEY: write- nid=8,verb=300,parm=7080
[ 31.959517] JOEY: write- nid=8,verb=300,parm=7180
[ 31.959575] JOEY: write- nid=9,verb=300,parm=7080
[ 31.959688] JOEY: write- nid=9,verb=300,parm=7180
[ 31.959743] JOEY: write- nid=a,verb=300,parm=7080
[ 31.959785] JOEY: write- nid=a,verb=300,parm=7180
[ 31.959829] JOEY: write- nid=f,verb=707,parm=c0
[ 31.969424] JOEY: write- nid=b,verb=701,parm=0
[ 31.969470] JOEY: write- nid=d,verb=701,parm=0
[ 31.969512] JOEY: write- nid=f,verb=70c,parm=2
[ 31.969554] JOEY: write- nid=1a,verb=500,parm=7
[ 31.969596] JOEY: write- nid=1a,verb=400,parm=3040
[ 31.969673] JOEY: read- nid=3,verb=f0d,parm=0
[ 31.969726] JOEY: read- result=0
8.36 Get Digital Converter Control
[ 32.073089] JOEY: read- nid=8,verb=f00,parm=12
[ 32.073148] JOEY: read- result=34040
[ 32.073251] JOEY: read- nid=7,verb=f00,parm=d
[ 32.073307] JOEY: read- result=80034123
[ 32.073384] JOEY: read- nid=4,verb=f00,parm=d
[ 32.073428] JOEY: read- result=80032300
[ 32.073616] JOEY: read- nid=8,verb=b00,parm=a000
[ 32.073661] JOEY: read- result=0
[ 32.073664] JOEY: write- nid=8,verb=300,parm=a040
[ 32.073706] JOEY: read- nid=8,verb=b00,parm=8000
[ 32.073747] JOEY: read- result=0
[ 32.073749] JOEY: write- nid=8,verb=300,parm=9040
[ 32.073798] JOEY: read- nid=8,verb=b00,parm=2000
[ 32.073851] JOEY: read- result=80
[ 32.073853] JOEY: write- nid=8,verb=300,parm=6000
[ 32.073895] JOEY: read- nid=8,verb=b00,parm=0
[ 32.073935] JOEY: read- result=80
[ 32.073938] JOEY: write- nid=8,verb=300,parm=5000
[ 32.073992] JOEY: read- nid=8,verb=b00,parm=2001
[ 32.074033] JOEY: read- result=80
[ 32.074036] JOEY: write- nid=8,verb=300,parm=6100
[ 32.074077] JOEY: read- nid=8,verb=b00,parm=1
[ 32.074118] JOEY: read- result=80
[ 32.074120] JOEY: write- nid=8,verb=300,parm=5100
[ 32.074177] JOEY: read- nid=7,verb=b00,parm=2000
[ 32.074219] JOEY: read- result=80
[ 32.074222] JOEY: write- nid=7,verb=300,parm=60c1
[ 32.074265] JOEY: read- nid=7,verb=b00,parm=0
[ 32.074309] JOEY: read- result=80
[ 32.074311] JOEY: write- nid=7,verb=300,parm=50c1
[ 32.074376] JOEY: read- nid=7,verb=b00,parm=2001
[ 32.074432] JOEY: read- result=80
[ 32.074435] JOEY: read- nid=7,verb=b00,parm=1
[ 32.074491] JOEY: read- result=80
[ 32.074494] JOEY: read- nid=7,verb=b00,parm=2002
[ 32.074538] JOEY: read- result=80
[ 32.074541] JOEY: read- nid=7,verb=b00,parm=2
[ 32.074597] JOEY: read- result=80
[ 32.074600] JOEY: read- nid=7,verb=b00,parm=2003
[ 32.074644] JOEY: read- result=80
[ 32.074647] JOEY: read- nid=7,verb=b00,parm=3
[ 32.074703] JOEY: read- result=80
[ 32.074706] JOEY: read- nid=7,verb=b00,parm=2004
[ 32.074762] JOEY: read- result=80
[ 32.074765] JOEY: read- nid=7,verb=b00,parm=4
[ 32.074809] JOEY: read- result=80
[ 32.074820] JOEY: read- nid=12,verb=f07,parm=0
[ 32.074864] JOEY: read- result=24
[ 32.074883] JOEY: write- nid=7,verb=300,parm=62c1
[ 32.074928] JOEY: write- nid=7,verb=300,parm=52c1
[ 32.074989] JOEY: read- nid=14,verb=f07,parm=0
[ 32.075034] JOEY: read- result=20
[ 32.075036] JOEY: write- nid=14,verb=707,parm=40
[ 32.075082] JOEY: read- nid=14,verb=b00,parm=2000
[ 32.075137] JOEY: read- result=0
[ 32.075139] JOEY: write- nid=14,verb=300,parm=6080
[ 32.075181] JOEY: read- nid=14,verb=b00,parm=0
[ 32.075223] JOEY: read- result=0
[ 32.075226] JOEY: write- nid=14,verb=300,parm=5080
[ 32.075267] JOEY: read- nid=14,verb=b00,parm=a000
[ 32.075308] JOEY: read- result=80
[ 32.075310] JOEY: write- nid=14,verb=300,parm=a000
[ 32.075363] JOEY: read- nid=14,verb=b00,parm=8000
[ 32.075404] JOEY: read- result=80
[ 32.075407] JOEY: write- nid=14,verb=300,parm=9000
[ 32.075464] JOEY: write- nid=7,verb=300,parm=64c1
[ 32.075517] JOEY: write- nid=7,verb=300,parm=54c1
[ 32.075571] JOEY: read- nid=4,verb=b00,parm=2000
[ 32.075612] JOEY: read- result=0
[ 32.075615] JOEY: read- nid=4,verb=b00,parm=0
[ 32.075656] JOEY: read- result=0
[ 32.075674] JOEY: write- nid=4,verb=300,parm=6022
[ 32.075727] JOEY: write- nid=4,verb=300,parm=5022
[ 32.075809] JOEY: write- nid=3,verb=70d,parm=1
8.37 Set Digital Converter Contgrol 1 & Control 2
[ 32.075871] JOEY: read- nid=7,verb=b00,parm=2005
[ 32.075913] JOEY: read- result=a3
[ 32.075915] JOEY: write- nid=7,verb=300,parm=65c1
[ 32.075968] JOEY: read- nid=7,verb=b00,parm=5
[ 32.076032] JOEY: read- result=a3
[ 32.076035] JOEY: write- nid=7,verb=300,parm=55c1
[ 35.233725] JOEY: read- nid=2,verb=f06,parm=0
[ 35.233768] JOEY: read- result=0
8.15 Get Converter Stream
[ 35.233772] JOEY: write- nid=2,verb=706,parm=50
8.16 Set Converter Stream
[ 35.233825] JOEY: read- nid=2,verb=a00,parm=0
[ 35.233866] JOEY: read- result=20
[ 35.240090] JOEY: write- nid=2,verb=200,parm=4011
[ 35.322407] JOEY: read- nid=14,verb=f07,parm=0
[ 35.322455] JOEY: read- result=40
[ 35.322497] JOEY: read- nid=12,verb=f07,parm=0
[ 35.322539] JOEY: read- result=24
[ 35.324992] JOEY: read- nid=4,verb=f06,parm=0
[ 35.325034] JOEY: read- result=0
[ 35.325037] JOEY: write- nid=4,verb=706,parm=10
[ 35.325079] JOEY: read- nid=4,verb=a00,parm=0
[ 35.325120] JOEY: read- result=20
[ 35.332056] JOEY: write- nid=4,verb=200,parm=4011
[ 35.450122] JOEY: read- nid=14,verb=f07,parm=0
[ 35.450180] JOEY: read- result=40
[ 35.450223] JOEY: read- nid=12,verb=f07,parm=0
[ 35.450264] JOEY: read- result=24
[ 35.501220] JOEY: write- nid=3,verb=70d,parm=81
[ 35.501265] JOEY: write- nid=3,verb=70e,parm=2
[ 35.501362] JOEY: write- nid=3,verb=70d,parm=80
[ 35.501420] JOEY: read- nid=3,verb=f06,parm=0
[ 35.501473] JOEY: read- result=0
[ 35.501476] JOEY: write- nid=3,verb=706,parm=80
[ 35.501517] JOEY: read- nid=3,verb=a00,parm=0
[ 35.501558] JOEY: read- result=20
[ 35.508041] JOEY: write- nid=3,verb=200,parm=4011
[ 35.508085] JOEY: write- nid=3,verb=70d,parm=81
[ 35.508194] JOEY: write- nid=3,verb=70d,parm=80
[ 35.508251] JOEY: write- nid=3,verb=70d,parm=81
[ 35.514377] JOEY: read- nid=14,verb=f07,parm=0
[ 35.514432] JOEY: read- result=40
[ 35.514470] JOEY: read- nid=12,verb=f07,parm=0
[ 35.514523] JOEY: read- result=24
[ 35.517174] JOEY: write- nid=3,verb=70d,parm=1
[ 35.517230] JOEY: write- nid=3,verb=70e,parm=0
[ 35.525171] JOEY: read- nid=14,verb=f07,parm=0
[ 35.525227] JOEY: read- result=40
[ 35.525264] JOEY: read- nid=12,verb=f07,parm=0
[ 35.525306] JOEY: read- result=24
[ 35.543364] JOEY: read- nid=14,verb=f07,parm=0
[ 35.543408] JOEY: read- result=40
[ 35.543448] JOEY: read- nid=12,verb=f07,parm=0
[ 35.543489] JOEY: read- result=24
[ 43.154574] JOEY: read- nid=14,verb=f07,parm=0
[ 43.154620] JOEY: read- result=40
[ 43.154655] JOEY: read- nid=12,verb=f07,parm=0
[ 43.154697] JOEY: read- result=24
[ 43.163007] JOEY: read- nid=14,verb=f07,parm=0
[ 43.163053] JOEY: read- result=40
[ 43.163093] JOEY: read- nid=12,verb=f07,parm=0
[ 43.163135] JOEY: read- result=24
[ 43.214099] JOEY: write- nid=3,verb=70d,parm=81
[ 43.214143] JOEY: write- nid=3,verb=70e,parm=2
[ 43.214292] JOEY: write- nid=3,verb=70d,parm=80
[ 43.214351] JOEY: write- nid=3,verb=70d,parm=81
[ 43.214441] JOEY: write- nid=3,verb=70d,parm=80
[ 43.214498] JOEY: write- nid=3,verb=70d,parm=81
[ 43.214810] JOEY: read- nid=14,verb=f07,parm=0
[ 43.214865] JOEY: read- result=40
[ 43.214901] JOEY: read- nid=12,verb=f07,parm=0
[ 43.214954] JOEY: read- result=24
[ 43.217414] JOEY: write- nid=3,verb=70d,parm=1
[ 43.217457] JOEY: write- nid=3,verb=70e,parm=0
[ 43.225270] JOEY: read- nid=14,verb=f07,parm=0
[ 43.225313] JOEY: read- result=40
[ 43.225350] JOEY: read- nid=12,verb=f07,parm=0
[ 43.225392] JOEY: read- result=24
[ 43.245836] JOEY: read- nid=14,verb=f07,parm=0
[ 43.245892] JOEY: read- result=40
[ 43.245934] JOEY: read- nid=12,verb=f07,parm=0
[ 43.245975] JOEY: read- result=24

Revision history for this message
Joey Jiao (tufeijoe) said :
#14

Mark, your answer is very intesting.

codecgraph
Reading codec data from /proc/asound/card0/codec#0
Codec: Realtek ALC260
Node 0x04: Amp-In vals count is wrong: values found: 7. expected: 1
Node 0x05: Amp-In vals count is wrong: values found: 8. expected: 1
Generating codec#0.svg

So codecgraph points out some val is wrong for these two NIDs.
Need to know what it means and how to deal with codec#0.svg

Revision history for this message
Joey Jiao (tufeijoe) said :
#15

OK, codec#0.svg can be reviewed by installed picture viewer.

Save below as a svg file:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
 -->
<!-- Title: _anonymous_0 Pages: 1 -->
<svg width="3394pt" height="1292pt"
 viewBox="0.00 0.00 3394.00 1292.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1288)">
<title>_anonymous_0</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-1288 3391,-1288 3391,5 -4,5"/>
<g id="graph2" class="cluster"><title>cluster&#45;nid&#45;02</title>
<polygon fill="none" stroke="#cccccc" points="971,-1085 971,-1163 1075,-1163 1075,-1085 971,-1085"/>
</g>
<g id="graph3" class="cluster"><title>cluster&#45;nid&#45;03</title>
<polygon fill="none" stroke="#cccccc" points="83,-1094 83,-1172 257,-1172 257,-1094 83,-1094"/>
</g>
<g id="graph4" class="cluster"><title>cluster&#45;nid&#45;04</title>
<polygon fill="none" stroke="#cccccc" points="613,-149 613,-227 1075,-227 1075,-149 613,-149"/>
</g>
<g id="graph5" class="cluster"><title>cluster&#45;nid&#45;05</title>
<polygon fill="none" stroke="#cccccc" points="1363,-303 1363,-381 1825,-381 1825,-303 1363,-303"/>
</g>
<g id="graph6" class="cluster"><title>cluster&#45;nid&#45;06</title>
<polygon fill="none" stroke="#cccccc" points="561,-1189 561,-1267 735,-1267 735,-1189 561,-1189"/>
</g>
<g id="graph7" class="cluster"><title>cluster&#45;nid&#45;07</title>
<polygon fill="none" stroke="#cccccc" points="532,-235 532,-969 1082,-969 1082,-235 532,-235"/>
</g>
<g id="graph8" class="cluster"><title>cluster&#45;nid&#45;08</title>
<polygon fill="none" stroke="#cccccc" points="1282,-793 1282,-975 2102,-975 2102,-793 1282,-793"/>
</g>
<g id="graph9" class="cluster"><title>cluster&#45;nid&#45;09</title>
<polygon fill="none" stroke="#cccccc" points="1282,-603 1282,-785 2102,-785 2102,-603 1282,-603"/>
</g>
<g id="graph10" class="cluster"><title>cluster&#45;nid&#45;0a</title>
<polygon fill="none" stroke="#cccccc" points="1282,-987 1282,-1169 2102,-1169 2102,-987 1282,-987"/>
</g>
<g id="graph11" class="cluster"><title>cluster&#45;nid&#45;0b</title>
<polygon fill="none" stroke="#cccccc" points="2391,-543 2391,-647 2537,-647 2537,-543 2391,-543"/>
</g>
<g id="graph12" class="cluster"><title>cluster&#45;nid&#45;0c</title>
<polygon fill="none" stroke="#cccccc" points="2391,-879 2391,-983 2537,-983 2537,-879 2391,-879"/>
</g>
<g id="graph13" class="cluster"><title>cluster&#45;nid&#45;0d</title>
<polygon fill="none" stroke="#cccccc" points="2391,-767 2391,-871 2537,-871 2537,-767 2391,-767"/>
</g>
<g id="graph14" class="cluster"><title>cluster&#45;nid&#45;0e</title>
<polygon fill="none" stroke="#cccccc" points="2391,-655 2391,-759 2537,-759 2537,-655 2391,-655"/>
</g>
<g id="graph15" class="cluster"><title>cluster&#45;nid&#45;0f&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2302,-991 2302,-1087 3002,-1087 3002,-991 2302,-991"/>
</g>
<g id="graph16" class="cluster"><title>cluster&#45;nid&#45;0f&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="8,-8 8,-104 332,-104 332,-8 8,-8"/>
</g>
<g id="graph17" class="cluster"><title>cluster&#45;nid&#45;10&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2302,-439 2302,-535 3002,-535 3002,-439 2302,-439"/>
</g>
<g id="graph18" class="cluster"><title>cluster&#45;nid&#45;10&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="8,-894 8,-990 332,-990 332,-894 8,-894"/>
</g>
<g id="graph19" class="cluster"><title>cluster&#45;nid&#45;11&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2359,-1095 2359,-1191 2569,-1191 2569,-1095 2359,-1095"/>
</g>
<g id="graph21" class="cluster"><title>cluster&#45;nid&#45;12&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2826,-547 2826,-643 3378,-643 3378,-547 2826,-547"/>
</g>
<g id="graph22" class="cluster"><title>cluster&#45;nid&#45;12&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="29,-582 29,-678 311,-678 311,-582 29,-582"/>
</g>
<g id="graph23" class="cluster"><title>cluster&#45;nid&#45;13&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2826,-883 2826,-979 3378,-979 3378,-883 2826,-883"/>
</g>
<g id="graph24" class="cluster"><title>cluster&#45;nid&#45;13&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="29,-320 29,-416 311,-416 311,-320 29,-320"/>
</g>
<g id="graph25" class="cluster"><title>cluster&#45;nid&#45;14&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2826,-771 2826,-867 3378,-867 3378,-771 2826,-771"/>
</g>
<g id="graph26" class="cluster"><title>cluster&#45;nid&#45;14&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="29,-216 29,-312 311,-312 311,-216 29,-216"/>
</g>
<g id="graph27" class="cluster"><title>cluster&#45;nid&#45;15&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="2826,-659 2826,-755 3378,-755 3378,-659 2826,-659"/>
</g>
<g id="graph28" class="cluster"><title>cluster&#45;nid&#45;15&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="29,-790 29,-886 311,-886 311,-790 29,-790"/>
</g>
<g id="graph30" class="cluster"><title>cluster&#45;nid&#45;16&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="65,-112 65,-208 275,-208 275,-112 65,-112"/>
</g>
<g id="graph32" class="cluster"><title>cluster&#45;nid&#45;17&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="65,-686 65,-782 275,-782 275,-686 65,-686"/>
</g>
<g id="graph33" class="cluster"><title>cluster&#45;nid&#45;18&#45;in</title>
<polygon fill="none" stroke="#cccccc" points="543,-1085 543,-1181 753,-1181 753,-1085 543,-1085"/>
</g>
<g id="graph36" class="cluster"><title>cluster&#45;nid&#45;19&#45;out</title>
<polygon fill="none" stroke="#cccccc" points="65,-1180 65,-1276 275,-1276 275,-1180 65,-1180"/>
</g>
<!-- nid&#45;02 -->
<g id="node2" class="node"><title>nid&#45;02</title>
<ellipse fill="none" stroke="blue" cx="1023" cy="-1124" rx="43.8406" ry="31.1127"/>
<text text-anchor="middle" x="1023" y="-1129.4" font-family="Times Roman,serif" font-size="14.00">0x02</text>
<text text-anchor="middle" x="1023" y="-1111.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampin&#45;2 -->
<g id="node70" class="node"><title>nid&#45;08&#45;ampin&#45;2</title>
<polygon fill="none" stroke="#0000ff" points="1504.98,-930 1344.51,-966.77 1344.51,-893.23 1504.98,-930"/>
<text text-anchor="middle" x="1398" y="-926.4" font-family="Times Roman,serif" font-size="14.00">0 (0x02)</text>
</g>
<!-- nid&#45;02&#45;&gt;nid&#45;08&#45;ampin&#45;2 -->
<g id="edge83" class="edge"><title>nid&#45;02&#45;&gt;nid&#45;08&#45;ampin&#45;2</title>
<path fill="none" stroke="#333333" d="M1057.36,-1104.29C1106.59,-1076.29 1200.26,-1023.86 1282,-983 1298.96,-974.522 1317.56,-965.784 1334.79,-957.91"/>
<polygon fill="#333333" stroke="#333333" points="1336.55,-960.955 1344.21,-953.632 1333.66,-954.582 1336.55,-960.955"/>
</g>
<!-- nid&#45;09&#45;ampin&#45;2 -->
<g id="node80" class="node"><title>nid&#45;09&#45;ampin&#45;2</title>
<polygon fill="none" stroke="#c8c8c8" points="1504.98,-740 1344.51,-776.77 1344.51,-703.23 1504.98,-740"/>
<text text-anchor="middle" x="1398" y="-736.4" font-family="Times Roman,serif" font-size="14.00">0 (0x02)</text>
</g>
<!-- nid&#45;02&#45;&gt;nid&#45;09&#45;ampin&#45;2 -->
<g id="edge94" class="edge"><title>nid&#45;02&#45;&gt;nid&#45;09&#45;ampin&#45;2</title>
<path fill="none" stroke="#333333" d="M1054.85,-1102.59C1064.12,-1095.62 1073.91,-1087.49 1082,-1079 1190.03,-965.673 1160.59,-887.858 1282,-789 1297.37,-776.481 1316.41,-766.683 1334.59,-759.248"/>
<polygon fill="#333333" stroke="#333333" points="1335.96,-762.473 1344,-755.574 1333.41,-755.953 1335.96,-762.473"/>
</g>
<!-- nid&#45;0a&#45;ampin&#45;2 -->
<g id="node90" class="node"><title>nid&#45;0a&#45;ampin&#45;2</title>
<polygon fill="none" stroke="#c8c8c8" points="1504.98,-1124 1344.51,-1160.77 1344.51,-1087.23 1504.98,-1124"/>
<text text-anchor="middle" x="1398" y="-1120.4" font-family="Times Roman,serif" font-size="14.00">0 (0x02)</text>
</g>
<!-- nid&#45;02&#45;&gt;nid&#45;0a&#45;ampin&#45;2 -->
<g id="edge105" class="edge"><title>nid&#45;02&#45;&gt;nid&#45;0a&#45;ampin&#45;2</title>
<path fill="none" stroke="#333333" d="M1067.12,-1124C1133.04,-1124 1257.61,-1124 1333.68,-1124"/>
<polygon fill="#333333" stroke="#333333" points="1334.08,-1127.5 1344.08,-1124 1334.08,-1120.5 1334.08,-1127.5"/>
</g>
<!-- nid&#45;03 -->
<g id="node4" class="node"><title>nid&#45;03</title>
<ellipse fill="none" stroke="blue" cx="170" cy="-1133" rx="79.196" ry="31.1127"/>
<text text-anchor="middle" x="170" y="-1138.4" font-family="Times Roman,serif" font-size="14.00">0x03</text>
<text text-anchor="middle" x="170" y="-1120.4" font-family="Times Roman,serif" font-size="14.00">Stereo Digital</text>
</g>
<!-- nid&#45;18&#45;in -->
<g id="node157" class="node"><title>nid&#45;18&#45;in</title>
<polygon fill="none" stroke="green" points="745,-1173 551,-1173 551,-1093 745,-1093 745,-1173"/>
<text text-anchor="middle" x="648" y="-1156.4" font-family="Times Roman,serif" font-size="14.00">0x18</text>
<text text-anchor="middle" x="648" y="-1138.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="648" y="-1120.4" font-family="Times Roman,serif" font-size="14.00">Mono Digital</text>
<text text-anchor="middle" x="648" y="-1102.4" font-family="Times Roman,serif" font-size="14.00">OUT Detect</text>
</g>
<!-- nid&#45;03&#45;&gt;nid&#45;18&#45;in -->
<g id="edge175" class="edge"><title>nid&#45;03&#45;&gt;nid&#45;18&#45;in</title>
<path fill="none" stroke="#333333" d="M249.2,-1133C328.908,-1133 452.379,-1133 540.814,-1133"/>
<polygon fill="#333333" stroke="#333333" points="540.878,-1136.5 550.878,-1133 540.878,-1129.5 540.878,-1136.5"/>
</g>
<!-- nid&#45;04 -->
<g id="node6" class="node"><title>nid&#45;04</title>
<ellipse fill="none" stroke="red" cx="1023" cy="-188" rx="43.8406" ry="31.1127"/>
<text text-anchor="middle" x="1023" y="-193.4" font-family="Times Roman,serif" font-size="14.00">0x04</text>
<text text-anchor="middle" x="1023" y="-175.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;04&#45;ampin -->
<g id="node7" class="node"><title>nid&#45;04&#45;ampin</title>
<polygon fill="none" stroke="#c2c2c9" points="675,-201 634.5,-219 634.5,-183 675,-201"/>
</g>
<!-- nid&#45;04&#45;ampin&#45;&gt;nid&#45;04 -->
<g id="edge5" class="edge"><title>nid&#45;04&#45;ampin&#45;&gt;nid&#45;04</title>
<path fill="none" stroke="#c2c2c9" d="M673.187,-200.127C734.571,-197.999 892.775,-192.514 973.711,-189.709"/>
<polygon fill="#c2c2c9" stroke="#c2c2c9" points="973.993,-191.45 978.929,-189.528 973.871,-187.952 973.993,-191.45"/>
</g>
<!-- nid&#45;12&#45;out -->
<g id="node9" class="node"><title>nid&#45;12&#45;out</title>
<polygon fill="none" stroke="green" points="302,-670 38,-670 38,-590 302,-590 302,-670"/>
<text text-anchor="middle" x="170" y="-653.4" font-family="Times Roman,serif" font-size="14.00">0x12</text>
<text text-anchor="middle" x="170" y="-635.4" font-family="Times Roman,serif" font-size="14.00">[Jack] Mic at Ext Rear</text>
<text text-anchor="middle" x="170" y="-617.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-599.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;12&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge7" class="edge"><title>nid&#45;12&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M201.537,-589.735C273.827,-498.403 451.447,-279.673 532,-231 560.717,-213.648 599.297,-206.252 623.911,-203.155"/>
<polygon fill="gray" stroke="gray" points="624.601,-206.6 634.152,-202.014 623.826,-199.643 624.601,-206.6"/>
</g>
<!-- nid&#45;05&#45;ampin -->
<g id="node25" class="node"><title>nid&#45;05&#45;ampin</title>
<polygon fill="none" stroke="#0000ff" points="1425,-342 1384.5,-360 1384.5,-324 1425,-342"/>
</g>
<!-- nid&#45;12&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge24" class="edge"><title>nid&#45;12&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M302.76,-664.327C313.093,-669.443 322.994,-675.3 332,-682 457.911,-775.673 393.115,-899.929 532,-973 586.083,-1001.45 1030.01,-1005.11 1082,-973 1111.31,-954.897 1333.12,-481.349 1386.48,-366.781"/>
<polygon fill="gray" stroke="gray" points="1389.8,-367.954 1390.84,-357.411 1383.45,-365.001 1389.8,-367.954"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;18 -->
<g id="node41" class="node"><title>nid&#45;07&#45;ampin&#45;18</title>
<polygon fill="none" stroke="#5c5ce5" points="754.98,-648 594.51,-684.77 594.51,-611.23 754.98,-648"/>
<text text-anchor="middle" x="648" y="-644.4" font-family="Times Roman,serif" font-size="14.00">0 (0x12)</text>
</g>
<!-- nid&#45;12&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;18 -->
<g id="edge60" class="edge"><title>nid&#45;12&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;18</title>
<path fill="none" stroke="#333333" d="M302.515,-634.99C394.158,-638.441 512.056,-642.881 583.732,-645.58"/>
<polygon fill="#333333" stroke="#333333" points="583.838,-649.086 593.963,-645.965 584.101,-642.091 583.838,-649.086"/>
</g>
<!-- nid&#45;13&#45;out -->
<g id="node11" class="node"><title>nid&#45;13&#45;out</title>
<polygon fill="none" stroke="green" points="302,-408 38,-408 38,-328 302,-328 302,-408"/>
<text text-anchor="middle" x="170" y="-391.4" font-family="Times Roman,serif" font-size="14.00">0x13</text>
<text text-anchor="middle" x="170" y="-373.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-355.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-337.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;13&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge9" class="edge"><title>nid&#45;13&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M298.593,-327.913C309.936,-324.018 321.203,-320.018 332,-316 422.52,-282.317 440.549,-262.066 532,-231 563.428,-220.324 600.743,-211.302 624.397,-206.019"/>
<polygon fill="gray" stroke="gray" points="625.216,-209.423 634.234,-203.863 623.717,-202.585 625.216,-209.423"/>
</g>
<!-- nid&#45;13&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge26" class="edge"><title>nid&#45;13&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M302.717,-330.277C312.836,-325.935 322.714,-321.182 332,-316 434.125,-259.011 422.29,-185.507 532,-145 646.657,-102.666 964.495,-111.372 1082,-145 1205.97,-180.478 1328.59,-280.263 1376.71,-322.609"/>
<polygon fill="gray" stroke="gray" points="1374.5,-325.327 1384.3,-329.358 1379.15,-320.097 1374.5,-325.327"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;19 -->
<g id="node43" class="node"><title>nid&#45;07&#45;ampin&#45;19</title>
<polygon fill="none" stroke="#c8c8c8" points="754.98,-556 594.51,-592.77 594.51,-519.23 754.98,-556"/>
<text text-anchor="middle" x="648" y="-552.4" font-family="Times Roman,serif" font-size="14.00">1 (0x13)</text>
</g>
<!-- nid&#45;13&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;19 -->
<g id="edge62" class="edge"><title>nid&#45;13&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;19</title>
<path fill="none" stroke="#333333" d="M271.957,-408.1C366.676,-445.354 504.77,-499.667 584.587,-531.059"/>
<polygon fill="#333333" stroke="#333333" points="583.437,-534.368 594.025,-534.771 586,-527.854 583.437,-534.368"/>
</g>
<!-- nid&#45;14&#45;out -->
<g id="node13" class="node"><title>nid&#45;14&#45;out</title>
<polygon fill="none" stroke="green" points="302,-304 38,-304 38,-224 302,-224 302,-304"/>
<text text-anchor="middle" x="170" y="-287.4" font-family="Times Roman,serif" font-size="14.00">0x14</text>
<text text-anchor="middle" x="170" y="-269.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-251.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-233.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;14&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge11" class="edge"><title>nid&#45;14&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="#333333" d="M302.515,-246.535C414.906,-231.722 566.788,-211.704 624.465,-204.102"/>
<polygon fill="#333333" stroke="#333333" points="624.951,-207.568 634.407,-202.791 624.036,-200.628 624.951,-207.568"/>
</g>
<!-- nid&#45;14&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge28" class="edge"><title>nid&#45;14&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="#333333" d="M300.589,-223.959C311.286,-220.111 321.871,-216.106 332,-212 423.918,-174.74 435.425,-135.594 532,-113 596.859,-97.8259 1064.68,-117.292 1082,-123 1208.41,-164.659 1329.61,-274.287 1377.03,-320.727"/>
<polygon fill="#333333" stroke="#333333" points="1374.68,-323.326 1384.25,-327.873 1379.6,-318.351 1374.68,-323.326"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;20 -->
<g id="node45" class="node"><title>nid&#45;07&#45;ampin&#45;20</title>
<polygon fill="none" stroke="#5c5ce5" points="754.98,-464 594.51,-500.77 594.51,-427.23 754.98,-464"/>
<text text-anchor="middle" x="648" y="-460.4" font-family="Times Roman,serif" font-size="14.00">2 (0x14)</text>
</g>
<!-- nid&#45;14&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;20 -->
<g id="edge64" class="edge"><title>nid&#45;14&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;20</title>
<path fill="none" stroke="#333333" d="M301.076,-304.065C311.614,-307.895 322.033,-311.89 332,-316 424.247,-354.038 441.078,-376.897 532,-418 548.906,-425.643 567.483,-433.32 584.721,-440.153"/>
<polygon fill="#333333" stroke="#333333" points="583.553,-443.455 594.14,-443.857 586.115,-436.941 583.553,-443.455"/>
</g>
<!-- nid&#45;15&#45;out -->
<g id="node15" class="node"><title>nid&#45;15&#45;out</title>
<polygon fill="none" stroke="green" points="302,-878 38,-878 38,-798 302,-798 302,-878"/>
<text text-anchor="middle" x="170" y="-861.4" font-family="Times Roman,serif" font-size="14.00">0x15</text>
<text text-anchor="middle" x="170" y="-843.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-825.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-807.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;15&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge13" class="edge"><title>nid&#45;15&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M302.822,-807.156C313.455,-801.29 323.393,-794.309 332,-786 520.64,-603.9 338.201,-407.6 532,-231 557.427,-207.83 598.41,-202.076 624.241,-200.906"/>
<polygon fill="gray" stroke="gray" points="624.387,-204.403 634.294,-200.648 624.207,-197.406 624.387,-204.403"/>
</g>
<!-- nid&#45;15&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge30" class="edge"><title>nid&#45;15&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M302.066,-878.086C312.281,-881.886 322.361,-885.87 332,-890 425.051,-929.869 433.902,-974.004 532,-999 590.371,-1013.87 1055.6,-1012.73 1082,-996 1112.08,-976.935 1335.16,-482.2 1387.18,-366.183"/>
<polygon fill="gray" stroke="gray" points="1390.39,-367.582 1391.28,-357.025 1384,-364.72 1390.39,-367.582"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;21 -->
<g id="node47" class="node"><title>nid&#45;07&#45;ampin&#45;21</title>
<polygon fill="none" stroke="#c8c8c8" points="754.98,-832 594.51,-868.77 594.51,-795.23 754.98,-832"/>
<text text-anchor="middle" x="648" y="-828.4" font-family="Times Roman,serif" font-size="14.00">3 (0x15)</text>
</g>
<!-- nid&#45;15&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;21 -->
<g id="edge66" class="edge"><title>nid&#45;15&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;21</title>
<path fill="none" stroke="#333333" d="M302.515,-836.337C394.158,-835.186 512.056,-833.706 583.732,-832.807"/>
<polygon fill="#333333" stroke="#333333" points="584.007,-836.304 593.963,-832.678 583.919,-829.304 584.007,-836.304"/>
</g>
<!-- nid&#45;16&#45;out -->
<g id="node17" class="node"><title>nid&#45;16&#45;out</title>
<polygon fill="none" stroke="green" points="267,-200 73,-200 73,-120 267,-120 267,-200"/>
<text text-anchor="middle" x="170" y="-183.4" font-family="Times Roman,serif" font-size="14.00">0x16</text>
<text text-anchor="middle" x="170" y="-165.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-147.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-129.4" font-family="Times Roman,serif" font-size="14.00">IN</text>
</g>
<!-- nid&#45;16&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge15" class="edge"><title>nid&#45;16&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M267.018,-168.322C380.029,-178.015 559.478,-193.407 623.95,-198.937"/>
<polygon fill="gray" stroke="gray" points="624.017,-202.456 634.28,-199.823 624.616,-195.481 624.017,-202.456"/>
</g>
<!-- nid&#45;16&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge32" class="edge"><title>nid&#45;16&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M267.066,-131.911C437.312,-87.6118 798.576,-15.9156 1082,-112 1210.14,-155.44 1330.38,-270.748 1377.28,-319.613"/>
<polygon fill="gray" stroke="gray" points="1375,-322.291 1384.42,-327.132 1380.07,-317.47 1375,-322.291"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;22 -->
<g id="node49" class="node"><title>nid&#45;07&#45;ampin&#45;22</title>
<polygon fill="none" stroke="#5c5ce5" points="754.98,-372 594.51,-408.77 594.51,-335.23 754.98,-372"/>
<text text-anchor="middle" x="648" y="-368.4" font-family="Times Roman,serif" font-size="14.00">4 (0x16)</text>
</g>
<!-- nid&#45;16&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;22 -->
<g id="edge68" class="edge"><title>nid&#45;16&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;22</title>
<path fill="none" stroke="#333333" d="M267.166,-187.568C288.824,-194.708 311.45,-202.962 332,-212 425.658,-253.19 439.773,-281.699 532,-326 548.807,-334.073 567.423,-341.917 584.733,-348.773"/>
<polygon fill="#333333" stroke="#333333" points="583.608,-352.091 594.196,-352.476 586.159,-345.573 583.608,-352.091"/>
</g>
<!-- nid&#45;0f&#45;out -->
<g id="node19" class="node"><title>nid&#45;0f&#45;out</title>
<polygon fill="none" stroke="green" points="324,-96 16,-96 16,-16 324,-16 324,-96"/>
<text text-anchor="middle" x="170" y="-79.4" font-family="Times Roman,serif" font-size="14.00">0x0f</text>
<text text-anchor="middle" x="170" y="-61.4" font-family="Times Roman,serif" font-size="14.00">[Jack] Line Out at Ext Rear</text>
<text text-anchor="middle" x="170" y="-43.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-25.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP EAPD Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;0f&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge17" class="edge"><title>nid&#45;0f&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M301.881,-96.0057C414.524,-130.176 567.195,-176.488 624.758,-193.95"/>
<polygon fill="gray" stroke="gray" points="623.783,-197.311 634.368,-196.865 625.815,-190.613 623.783,-197.311"/>
</g>
<!-- nid&#45;0f&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge36" class="edge"><title>nid&#45;0f&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M324.404,-29.1645C511.069,-3.60532 831.341,17.9032 1082,-81 1213.89,-133.042 1331.92,-262.207 1377.76,-316.897"/>
<polygon fill="gray" stroke="gray" points="1375.16,-319.247 1384.23,-324.71 1380.55,-314.778 1375.16,-319.247"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;15 -->
<g id="node53" class="node"><title>nid&#45;07&#45;ampin&#45;15</title>
<polygon fill="none" stroke="#c8c8c8" points="747.91,-280 598.045,-316.77 598.045,-243.23 747.91,-280"/>
<text text-anchor="middle" x="648" y="-276.4" font-family="Times Roman,serif" font-size="14.00">6 (0x0f)</text>
</g>
<!-- nid&#45;0f&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;15 -->
<g id="edge72" class="edge"><title>nid&#45;0f&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;15</title>
<path fill="none" stroke="#333333" d="M303.601,-96.0263C313.317,-99.8059 322.875,-103.804 332,-108 426.811,-151.596 439.224,-183.226 532,-231 549.875,-240.205 569.878,-249.12 588.173,-256.766"/>
<polygon fill="#333333" stroke="#333333" points="586.986,-260.062 597.565,-260.643 589.657,-253.591 586.986,-260.062"/>
</g>
<!-- nid&#45;10&#45;out -->
<g id="node21" class="node"><title>nid&#45;10&#45;out</title>
<polygon fill="none" stroke="green" points="324,-982 16,-982 16,-902 324,-902 324,-982"/>
<text text-anchor="middle" x="170" y="-965.4" font-family="Times Roman,serif" font-size="14.00">0x10</text>
<text text-anchor="middle" x="170" y="-947.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-929.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="170" y="-911.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP EAPD Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;10&#45;out&#45;&gt;nid&#45;04&#45;ampin -->
<g id="edge19" class="edge"><title>nid&#45;10&#45;out&#45;&gt;nid&#45;04&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M318.266,-901.904C323.146,-898.274 327.752,-894.316 332,-890 546.699,-671.85 311.116,-442.885 532,-231 556.825,-207.186 597.985,-201.62 624.015,-200.664"/>
<polygon fill="gray" stroke="gray" points="624.211,-204.161 634.152,-200.497 624.096,-197.162 624.211,-204.161"/>
</g>
<!-- nid&#45;10&#45;out&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge38" class="edge"><title>nid&#45;10&#45;out&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M323.435,-982.07C387.427,-996.834 462.827,-1011.72 532,-1019 602.259,-1026.39 1072.91,-1021.84 1082,-1016 1097.39,-1006.12 1332.71,-486.561 1386.92,-366.55"/>
<polygon fill="gray" stroke="gray" points="1390.26,-367.652 1391.19,-357.098 1383.88,-364.771 1390.26,-367.652"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;16 -->
<g id="node55" class="node"><title>nid&#45;07&#45;ampin&#45;16</title>
<polygon fill="none" stroke="#c8c8c8" points="754.98,-924 594.51,-960.77 594.51,-887.23 754.98,-924"/>
<text text-anchor="middle" x="648" y="-920.4" font-family="Times Roman,serif" font-size="14.00">7 (0x10)</text>
</g>
<!-- nid&#45;10&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;16 -->
<g id="edge74" class="edge"><title>nid&#45;10&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;16</title>
<path fill="none" stroke="#333333" d="M324.203,-936.193C412.129,-932.882 517.647,-928.909 583.779,-926.418"/>
<polygon fill="#333333" stroke="#333333" points="584.185,-929.906 594.046,-926.032 583.921,-922.911 584.185,-929.906"/>
</g>
<!-- nid&#45;05 -->
<g id="node24" class="node"><title>nid&#45;05</title>
<ellipse fill="none" stroke="red" cx="1773" cy="-342" rx="43.8406" ry="31.1127"/>
<text text-anchor="middle" x="1773" y="-347.4" font-family="Times Roman,serif" font-size="14.00">0x05</text>
<text text-anchor="middle" x="1773" y="-329.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;05&#45;ampin&#45;&gt;nid&#45;05 -->
<g id="edge22" class="edge"><title>nid&#45;05&#45;ampin&#45;&gt;nid&#45;05</title>
<path fill="none" stroke="#0000ff" d="M1425.27,-342C1488.11,-342 1643.8,-342 1723.81,-342"/>
<polygon fill="#0000ff" stroke="#0000ff" points="1723.97,-343.75 1728.97,-342 1723.97,-340.25 1723.97,-343.75"/>
</g>
<!-- nid&#45;07 -->
<g id="node32" class="node"><title>nid&#45;07</title>
<polygon fill="none" stroke="black" points="1073.12,-648 1048.06,-683.926 997.939,-683.926 972.878,-648 997.939,-612.074 1048.06,-612.074 1073.12,-648"/>
<text text-anchor="middle" x="1023" y="-653.4" font-family="Times Roman,serif" font-size="14.00">0x07</text>
<text text-anchor="middle" x="1023" y="-635.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;07&#45;&gt;nid&#45;05&#45;ampin -->
<g id="edge34" class="edge"><title>nid&#45;07&#45;&gt;nid&#45;05&#45;ampin</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M1055.3,-621.646C1129.96,-560.725 1312.93,-411.421 1376.11,-359.858"/>
<polygon fill="gray" stroke="gray" points="1378.68,-362.285 1384.21,-353.251 1374.25,-356.861 1378.68,-362.285"/>
</g>
<!-- nid&#45;08&#45;ampin&#45;7 -->
<g id="node72" class="node"><title>nid&#45;08&#45;ampin&#45;7</title>
<polygon fill="none" stroke="#0000ff" points="1504.98,-838 1344.51,-874.77 1344.51,-801.23 1504.98,-838"/>
<text text-anchor="middle" x="1398" y="-834.4" font-family="Times Roman,serif" font-size="14.00">1 (0x07)</text>
</g>
<!-- nid&#45;07&#45;&gt;nid&#45;08&#45;ampin&#45;7 -->
<g id="edge85" class="edge"><title>nid&#45;07&#45;&gt;nid&#45;08&#45;ampin&#45;7</title>
<path fill="none" stroke="#333333" d="M1058.87,-668.998C1108.33,-697.61 1200.6,-749.768 1282,-789 1298.87,-797.129 1317.43,-805.302 1334.67,-812.581"/>
<polygon fill="#333333" stroke="#333333" points="1333.51,-815.892 1344.09,-816.527 1336.22,-809.436 1333.51,-815.892"/>
</g>
<!-- nid&#45;09&#45;ampin&#45;7 -->
<g id="node82" class="node"><title>nid&#45;09&#45;ampin&#45;7</title>
<polygon fill="none" stroke="#c8c8c8" points="1504.98,-648 1344.51,-684.77 1344.51,-611.23 1504.98,-648"/>
<text text-anchor="middle" x="1398" y="-644.4" font-family="Times Roman,serif" font-size="14.00">1 (0x07)</text>
</g>
<!-- nid&#45;07&#45;&gt;nid&#45;09&#45;ampin&#45;7 -->
<g id="edge96" class="edge"><title>nid&#45;07&#45;&gt;nid&#45;09&#45;ampin&#45;7</title>
<path fill="none" stroke="#333333" d="M1073.57,-648C1140.98,-648 1260.28,-648 1333.91,-648"/>
<polygon fill="#333333" stroke="#333333" points="1333.99,-651.5 1343.99,-648 1333.99,-644.5 1333.99,-651.5"/>
</g>
<!-- nid&#45;0a&#45;ampin&#45;7 -->
<g id="node92" class="node"><title>nid&#45;0a&#45;ampin&#45;7</title>
<polygon fill="none" stroke="#c8c8c8" points="1504.98,-1032 1344.51,-1068.77 1344.51,-995.23 1504.98,-1032"/>
<text text-anchor="middle" x="1398" y="-1028.4" font-family="Times Roman,serif" font-size="14.00">1 (0x07)</text>
</g>
<!-- nid&#45;07&#45;&gt;nid&#45;0a&#45;ampin&#45;7 -->
<g id="edge107" class="edge"><title>nid&#45;07&#45;&gt;nid&#45;0a&#45;ampin&#45;7</title>
<path fill="none" stroke="#333333" d="M1043.14,-683.971C1081.78,-750.183 1172.28,-892.481 1282,-979 1297.69,-991.375 1316.74,-1001.61 1334.83,-1009.68"/>
<polygon fill="#333333" stroke="#333333" points="1333.61,-1012.97 1344.18,-1013.7 1336.37,-1006.54 1333.61,-1012.97"/>
</g>
<!-- nid&#45;06 -->
<g id="node37" class="node"><title>nid&#45;06</title>
<ellipse fill="none" stroke="red" cx="648" cy="-1228" rx="79.196" ry="31.1127"/>
<text text-anchor="middle" x="648" y="-1233.4" font-family="Times Roman,serif" font-size="14.00">0x06</text>
<text text-anchor="middle" x="648" y="-1215.4" font-family="Times Roman,serif" font-size="14.00">Stereo Digital</text>
</g>
<!-- nid&#45;19&#45;out -->
<g id="node38" class="node"><title>nid&#45;19&#45;out</title>
<polygon fill="none" stroke="green" points="267,-1268 73,-1268 73,-1188 267,-1188 267,-1268"/>
<text text-anchor="middle" x="170" y="-1251.4" font-family="Times Roman,serif" font-size="14.00">0x19</text>
<text text-anchor="middle" x="170" y="-1233.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-1215.4" font-family="Times Roman,serif" font-size="14.00">Mono Digital</text>
<text text-anchor="middle" x="170" y="-1197.4" font-family="Times Roman,serif" font-size="14.00">IN Detect</text>
</g>
<!-- nid&#45;19&#45;out&#45;&gt;nid&#45;06 -->
<g id="edge41" class="edge"><title>nid&#45;19&#45;out&#45;&gt;nid&#45;06</title>
<path fill="none" stroke="#333333" d="M267.018,-1228C352.417,-1228 475.753,-1228 558.746,-1228"/>
<polygon fill="#333333" stroke="#333333" points="558.914,-1231.5 568.914,-1228 558.914,-1224.5 558.914,-1231.5"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;18&#45;&gt;nid&#45;07 -->
<g id="edge44" class="edge"><title>nid&#45;07&#45;ampin&#45;18&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#5c5ce5" d="M755.711,-648C824.682,-648 911.36,-648 966.973,-648"/>
<polygon fill="#5c5ce5" stroke="#5c5ce5" points="967.256,-649.75 972.256,-648 967.256,-646.25 967.256,-649.75"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;19&#45;&gt;nid&#45;07 -->
<g id="edge46" class="edge"><title>nid&#45;07&#45;ampin&#45;19&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#c8c8c8" d="M700.142,-568.792C772.958,-586.656 904.09,-618.828 974.755,-636.164"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="974.464,-637.894 979.737,-637.386 975.298,-634.495 974.464,-637.894"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;20&#45;&gt;nid&#45;07 -->
<g id="edge48" class="edge"><title>nid&#45;07&#45;ampin&#45;20&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#5c5ce5" d="M686.797,-479.704C707.501,-488.29 733.319,-499.326 756,-510 837.119,-548.174 929.62,-597.268 981.686,-625.429"/>
<polygon fill="#5c5ce5" stroke="#5c5ce5" points="981.058,-627.079 986.288,-627.921 982.724,-624.001 981.058,-627.079"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;21&#45;&gt;nid&#45;07 -->
<g id="edge50" class="edge"><title>nid&#45;07&#45;ampin&#45;21&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#c8c8c8" d="M686.797,-816.296C707.501,-807.71 733.319,-796.674 756,-786 837.119,-747.826 929.62,-698.732 981.686,-670.571"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="982.724,-671.999 986.288,-668.079 981.058,-668.921 982.724,-671.999"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;22&#45;&gt;nid&#45;07 -->
<g id="edge52" class="edge"><title>nid&#45;07&#45;ampin&#45;22&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#5c5ce5" d="M691.041,-386.811C711.46,-394.706 735.758,-405.397 756,-418 848.886,-475.831 942.298,-565.109 990.17,-613.674"/>
<polygon fill="#5c5ce5" stroke="#5c5ce5" points="989.065,-615.046 993.818,-617.385 991.561,-612.592 989.065,-615.046"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;23 -->
<g id="node51" class="node"><title>nid&#45;07&#45;ampin&#45;23</title>
<polygon fill="none" stroke="#5c5ce5" points="754.98,-740 594.51,-776.77 594.51,-703.23 754.98,-740"/>
<text text-anchor="middle" x="648" y="-736.4" font-family="Times Roman,serif" font-size="14.00">5 (0x17)</text>
</g>
<!-- nid&#45;07&#45;ampin&#45;23&#45;&gt;nid&#45;07 -->
<g id="edge54" class="edge"><title>nid&#45;07&#45;ampin&#45;23&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#5c5ce5" d="M700.142,-727.208C772.958,-709.344 904.09,-677.172 974.755,-659.836"/>
<polygon fill="#5c5ce5" stroke="#5c5ce5" points="975.298,-661.505 979.737,-658.614 974.464,-658.106 975.298,-661.505"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;15&#45;&gt;nid&#45;07 -->
<g id="edge56" class="edge"><title>nid&#45;07&#45;ampin&#45;15&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#c8c8c8" d="M692.831,-293.646C713.301,-301.194 737.128,-311.932 756,-326 864.676,-407.012 956.816,-541.066 998.761,-607.749"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="997.313,-608.735 1001.45,-612.043 1000.28,-606.877 997.313,-608.735"/>
</g>
<!-- nid&#45;07&#45;ampin&#45;16&#45;&gt;nid&#45;07 -->
<g id="edge58" class="edge"><title>nid&#45;07&#45;ampin&#45;16&#45;&gt;nid&#45;07</title>
<path fill="none" stroke="#c8c8c8" d="M691.041,-909.189C711.46,-901.294 735.758,-890.603 756,-878 848.886,-820.169 942.298,-730.891 990.17,-682.326"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="991.561,-683.408 993.818,-678.615 989.065,-680.954 991.561,-683.408"/>
</g>
<!-- nid&#45;17&#45;out -->
<g id="node62" class="node"><title>nid&#45;17&#45;out</title>
<polygon fill="none" stroke="green" points="267,-774 73,-774 73,-694 267,-694 267,-774"/>
<text text-anchor="middle" x="170" y="-757.4" font-family="Times Roman,serif" font-size="14.00">0x17</text>
<text text-anchor="middle" x="170" y="-739.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="170" y="-721.4" font-family="Times Roman,serif" font-size="14.00">Mono</text>
<text text-anchor="middle" x="170" y="-703.4" font-family="Times Roman,serif" font-size="14.00">IN</text>
</g>
<!-- nid&#45;17&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;23 -->
<g id="edge70" class="edge"><title>nid&#45;17&#45;out&#45;&gt;nid&#45;07&#45;ampin&#45;23</title>
<path fill="none" stroke="#333333" d="M267.018,-735.218C361.62,-736.405 502.777,-738.177 584.074,-739.198"/>
<polygon fill="#333333" stroke="#333333" points="584.125,-742.698 594.168,-739.324 584.213,-735.699 584.125,-742.698"/>
</g>
<!-- nid&#45;08 -->
<g id="node67" class="node"><title>nid&#45;08</title>
<polygon fill="none" stroke="black" points="1823.12,-838 1798.06,-873.926 1747.94,-873.926 1722.88,-838 1747.94,-802.074 1798.06,-802.074 1823.12,-838"/>
<text text-anchor="middle" x="1773" y="-843.4" font-family="Times Roman,serif" font-size="14.00">0x08</text>
<text text-anchor="middle" x="1773" y="-825.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampout -->
<g id="node68" class="node"><title>nid&#45;08&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="2094,-838 2053.5,-856 2053.5,-820 2094,-838"/>
</g>
<!-- nid&#45;08&#45;&gt;nid&#45;08&#45;ampout -->
<g id="edge77" class="edge"><title>nid&#45;08&#45;&gt;nid&#45;08&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M1823.54,-838C1890.12,-838 2003.96,-838 2048.43,-838"/>
<polygon fill="#0000ff" stroke="#0000ff" points="2048.5,-839.75 2053.5,-838 2048.5,-836.25 2048.5,-839.75"/>
</g>
<!-- nid&#45;0b -->
<g id="node97" class="node"><title>nid&#45;0b</title>
<polygon fill="none" stroke="black" points="2527.78,-639 2426.32,-639 2400.22,-551 2501.68,-551 2527.78,-639"/>
<text text-anchor="middle" x="2464" y="-600.4" font-family="Times Roman,serif" font-size="14.00">0x0b</text>
<text text-anchor="middle" x="2464" y="-582.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampout&#45;&gt;nid&#45;0b -->
<g id="edge110" class="edge"><title>nid&#45;08&#45;ampout&#45;&gt;nid&#45;0b</title>
<path fill="none" stroke="#333333" d="M2075.59,-829.301C2104.78,-800.191 2203.76,-704.987 2302,-651 2334.85,-632.947 2374.6,-619.101 2406.5,-609.693"/>
<polygon fill="#333333" stroke="#333333" points="2407.49,-613.05 2416.13,-606.917 2405.55,-606.324 2407.49,-613.05"/>
</g>
<!-- nid&#45;0c -->
<g id="node101" class="node"><title>nid&#45;0c</title>
<polygon fill="none" stroke="black" points="2527.78,-975 2426.32,-975 2400.22,-887 2501.68,-887 2527.78,-975"/>
<text text-anchor="middle" x="2464" y="-936.4" font-family="Times Roman,serif" font-size="14.00">0x0c</text>
<text text-anchor="middle" x="2464" y="-918.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampout&#45;&gt;nid&#45;0c -->
<g id="edge115" class="edge"><title>nid&#45;08&#45;ampout&#45;&gt;nid&#45;0c</title>
<path fill="none" stroke="#333333" d="M2084.83,-842.177C2139.35,-854.948 2305.76,-893.932 2398.98,-915.77"/>
<polygon fill="#333333" stroke="#333333" points="2398.34,-919.213 2408.87,-918.086 2399.94,-912.398 2398.34,-919.213"/>
</g>
<!-- nid&#45;0d -->
<g id="node105" class="node"><title>nid&#45;0d</title>
<polygon fill="none" stroke="black" points="2527.78,-863 2426.32,-863 2400.22,-775 2501.68,-775 2527.78,-863"/>
<text text-anchor="middle" x="2464" y="-824.4" font-family="Times Roman,serif" font-size="14.00">0x0d</text>
<text text-anchor="middle" x="2464" y="-806.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampout&#45;&gt;nid&#45;0d -->
<g id="edge120" class="edge"><title>nid&#45;08&#45;ampout&#45;&gt;nid&#45;0d</title>
<path fill="none" stroke="#333333" d="M2091.53,-836.826C2152.84,-833.892 2314.16,-826.171 2403.06,-821.917"/>
<polygon fill="#333333" stroke="#333333" points="2403.44,-825.402 2413.26,-821.428 2403.11,-818.41 2403.44,-825.402"/>
</g>
<!-- nid&#45;0e -->
<g id="node109" class="node"><title>nid&#45;0e</title>
<polygon fill="none" stroke="black" points="2527.78,-751 2426.32,-751 2400.22,-663 2501.68,-663 2527.78,-751"/>
<text text-anchor="middle" x="2464" y="-712.4" font-family="Times Roman,serif" font-size="14.00">0x0e</text>
<text text-anchor="middle" x="2464" y="-694.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;08&#45;ampout&#45;&gt;nid&#45;0e -->
<g id="edge125" class="edge"><title>nid&#45;08&#45;ampout&#45;&gt;nid&#45;0e</title>
<path fill="none" stroke="#333333" d="M2082.56,-832.865C2136.16,-815.179 2314.88,-756.207 2407.4,-725.676"/>
<polygon fill="#333333" stroke="#333333" points="2408.76,-728.913 2417.16,-722.456 2406.57,-722.266 2408.76,-728.913"/>
</g>
<!-- nid&#45;0f&#45;in -->
<g id="node113" class="node"><title>nid&#45;0f&#45;in</title>
<polygon fill="none" stroke="green" points="2618,-1079 2310,-1079 2310,-999 2618,-999 2618,-1079"/>
<text text-anchor="middle" x="2464" y="-1062.4" font-family="Times Roman,serif" font-size="14.00">0x0f</text>
<text text-anchor="middle" x="2464" y="-1044.4" font-family="Times Roman,serif" font-size="14.00">[Jack] Line Out at Ext Rear</text>
<text text-anchor="middle" x="2464" y="-1026.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2464" y="-1008.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP EAPD Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;08&#45;ampout&#45;&gt;nid&#45;0f&#45;in -->
<g id="edge133" class="edge"><title>nid&#45;08&#45;ampout&#45;&gt;nid&#45;0f&#45;in</title>
<path fill="none" stroke="#333333" d="M2077.22,-845.844C2108.96,-869.891 2209.25,-943.579 2302,-987 2308.02,-989.819 2314.24,-992.544 2320.56,-995.17"/>
<polygon fill="#333333" stroke="#333333" points="2319.32,-998.444 2329.91,-998.946 2321.95,-991.954 2319.32,-998.444"/>
</g>
<!-- nid&#45;08&#45;ampin&#45;2&#45;&gt;nid&#45;08 -->
<g id="edge79" class="edge"><title>nid&#45;08&#45;ampin&#45;2&#45;&gt;nid&#45;08</title>
<path fill="none" stroke="#0000ff" d="M1450.14,-917.208C1522.96,-899.344 1654.09,-867.172 1724.76,-849.836"/>
<polygon fill="#0000ff" stroke="#0000ff" points="1725.3,-851.505 1729.74,-848.614 1724.46,-848.106 1725.3,-851.505"/>
</g>
<!-- nid&#45;08&#45;ampin&#45;7&#45;&gt;nid&#45;08 -->
<g id="edge81" class="edge"><title>nid&#45;08&#45;ampin&#45;7&#45;&gt;nid&#45;08</title>
<path fill="none" stroke="#0000ff" d="M1505.71,-838C1574.68,-838 1661.36,-838 1716.97,-838"/>
<polygon fill="#0000ff" stroke="#0000ff" points="1717.26,-839.75 1722.26,-838 1717.26,-836.25 1717.26,-839.75"/>
</g>
<!-- nid&#45;09 -->
<g id="node77" class="node"><title>nid&#45;09</title>
<polygon fill="none" stroke="black" points="1823.12,-707 1798.06,-742.926 1747.94,-742.926 1722.88,-707 1747.94,-671.074 1798.06,-671.074 1823.12,-707"/>
<text text-anchor="middle" x="1773" y="-712.4" font-family="Times Roman,serif" font-size="14.00">0x09</text>
<text text-anchor="middle" x="1773" y="-694.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
</g>
<!-- nid&#45;09&#45;ampout -->
<g id="node78" class="node"><title>nid&#45;09&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="2094,-707 2053.5,-725 2053.5,-689 2094,-707"/>
</g>
<!-- nid&#45;09&#45;&gt;nid&#45;09&#45;ampout -->
<g id="edge88" class="edge"><title>nid&#45;09&#45;&gt;nid&#45;09&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M1823.54,-707C1890.12,-707 2003.96,-707 2048.43,-707"/>
<polygon fill="#0000ff" stroke="#0000ff" points="2048.5,-708.75 2053.5,-707 2048.5,-705.25 2048.5,-708.75"/>
</g>
<!-- nid&#45;09&#45;ampout&#45;&gt;nid&#45;0b -->
<g id="edge112" class="edge"><title>nid&#45;09&#45;ampout&#45;&gt;nid&#45;0b</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M2083.55,-702.33C2138.21,-686.911 2314.65,-637.134 2406.78,-611.141"/>
<polygon fill="gray" stroke="gray" points="2407.84,-614.481 2416.51,-608.398 2405.94,-607.744 2407.84,-614.481"/>
</g>
<!-- nid&#45;09&#45;ampout&#45;&gt;nid&#45;0c -->
<g id="edge117" class="edge"><title>nid&#45;09&#45;ampout&#45;&gt;nid&#45;0c</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M2076.2,-715.105C2106.49,-741.443 2206.64,-825.75 2302,-875 2332.54,-890.772 2368.5,-903.711 2398.77,-913.164"/>
<polygon fill="gray" stroke="gray" points="2397.8,-916.526 2408.38,-916.109 2399.85,-909.833 2397.8,-916.526"/>
</g>
<!-- nid&#45;09&#45;ampout&#45;&gt;nid&#45;0d -->
<g id="edge122" class="edge"><title>nid&#45;09&#45;ampout&#45;&gt;nid&#45;0d</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M2083.55,-711.67C2136.56,-726.624 2304.14,-773.9 2398.24,-800.448"/>
<polygon fill="gray" stroke="gray" points="2397.37,-803.839 2407.95,-803.186 2399.27,-797.102 2397.37,-803.839"/>
</g>
<!-- nid&#45;09&#45;ampout&#45;&gt;nid&#45;0e -->
<g id="edge127" class="edge"><title>nid&#45;09&#45;ampout&#45;&gt;nid&#45;0e</title>
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M2094.29,-707C2157.48,-707 2315.14,-707 2402.79,-707"/>
<polygon fill="gray" stroke="gray" points="2402.86,-710.5 2412.86,-707 2402.86,-703.5 2402.86,-710.5"/>
</g>
<!-- nid&#45;10&#45;in -->
<g id="node119" class="node"><title>nid&#45;10&#45;in</title>
<polygon fill="none" stroke="green" points="2618,-527 2310,-527 2310,-447 2618,-447 2618,-527"/>
<text text-anchor="middle" x="2464" y="-510.4" font-family="Times Roman,serif" font-size="14.00">0x10</text>
<text text-anchor="middle" x="2464" y="-492.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="2464" y="-474.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2464" y="-456.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP EAPD Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;09&#45;ampout&#45;&gt;nid&#45;10&#45;in -->
<g id="edge139" class="edge"><title>nid&#45;09&#45;ampout&#45;&gt;nid&#45;10&#45;in</title>
<path fill="none" stroke="#333333" d="M2076.16,-698.809C2106.32,-672.208 2206.1,-587.187 2302,-539 2307.54,-536.215 2313.27,-533.537 2319.1,-530.967"/>
<polygon fill="#333333" stroke="#333333" points="2320.54,-534.161 2328.36,-527.018 2317.79,-527.723 2320.54,-534.161"/>
</g>
<!-- nid&#45;09&#45;ampin&#45;2&#45;&gt;nid&#45;09 -->
<g id="edge90" class="edge"><title>nid&#45;09&#45;ampin&#45;2&#45;&gt;nid&#45;09</title>
<path fill="none" stroke="#c8c8c8" d="M1475.7,-733.162C1548.73,-726.736 1656.08,-717.289 1719.82,-711.679"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="1720.27,-713.397 1725.1,-711.216 1719.96,-709.911 1720.27,-713.397"/>
</g>
<!-- nid&#45;09&#45;ampin&#45;7&#45;&gt;nid&#45;09 -->
<g id="edge92" class="edge"><title>nid&#45;09&#45;ampin&#45;7&#45;&gt;nid&#45;09</title>
<path fill="none" stroke="#c8c8c8" d="M1461.61,-658.009C1535.13,-669.576 1654.65,-688.38 1722.23,-699.013"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="1722.2,-700.778 1727.41,-699.827 1722.74,-697.321 1722.2,-700.778"/>
</g>
<!-- nid&#45;0a -->
<g id="node87" class="node"><title>nid&#45;0a</title>
<polygon fill="none" stroke="black" points="1817.09,-1124 1795.05,-1159.93 1750.95,-1159.93 1728.91,-1124 1750.95,-1088.07 1795.05,-1088.07 1817.09,-1124"/>
<text text-anchor="middle" x="1773" y="-1129.4" font-family="Times Roman,serif" font-size="14.00">0x0a</text>
<text text-anchor="middle" x="1773" y="-1111.4" font-family="Times Roman,serif" font-size="14.00">Mono</text>
</g>
<!-- nid&#45;0a&#45;ampout -->
<g id="node88" class="node"><title>nid&#45;0a&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="2094,-1124 2053.5,-1142 2053.5,-1106 2094,-1124"/>
</g>
<!-- nid&#45;0a&#45;&gt;nid&#45;0a&#45;ampout -->
<g id="edge99" class="edge"><title>nid&#45;0a&#45;&gt;nid&#45;0a&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M1817.01,-1124C1882.28,-1124 2001.98,-1124 2048.15,-1124"/>
<polygon fill="#0000ff" stroke="#0000ff" points="2048.4,-1125.75 2053.4,-1124 2048.4,-1122.25 2048.4,-1125.75"/>
</g>
<!-- nid&#45;11&#45;in -->
<g id="node125" class="node"><title>nid&#45;11&#45;in</title>
<polygon fill="none" stroke="green" points="2561,-1183 2367,-1183 2367,-1103 2561,-1103 2561,-1183"/>
<text text-anchor="middle" x="2464" y="-1166.4" font-family="Times Roman,serif" font-size="14.00">0x11</text>
<text text-anchor="middle" x="2464" y="-1148.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="2464" y="-1130.4" font-family="Times Roman,serif" font-size="14.00">Mono</text>
<text text-anchor="middle" x="2464" y="-1112.4" font-family="Times Roman,serif" font-size="14.00">OUT</text>
</g>
<!-- nid&#45;0a&#45;ampout&#45;&gt;nid&#45;11&#45;in -->
<g id="edge143" class="edge"><title>nid&#45;0a&#45;ampout&#45;&gt;nid&#45;11&#45;in</title>
<path fill="none" stroke="#333333" d="M2091.53,-1125.17C2143.27,-1127.65 2266.23,-1133.53 2356.78,-1137.87"/>
<polygon fill="#333333" stroke="#333333" points="2356.67,-1141.37 2366.82,-1138.35 2357,-1134.38 2356.67,-1141.37"/>
</g>
<!-- nid&#45;0a&#45;ampin&#45;2&#45;&gt;nid&#45;0a -->
<g id="edge101" class="edge"><title>nid&#45;0a&#45;ampin&#45;2&#45;&gt;nid&#45;0a</title>
<path fill="none" stroke="#c8c8c8" d="M1505.71,-1124C1577.41,-1124 1668.24,-1124 1723.42,-1124"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="1723.64,-1125.75 1728.64,-1124 1723.64,-1122.25 1723.64,-1125.75"/>
</g>
<!-- nid&#45;0a&#45;ampin&#45;7&#45;&gt;nid&#45;0a -->
<g id="edge103" class="edge"><title>nid&#45;0a&#45;ampin&#45;7&#45;&gt;nid&#45;0a</title>
<path fill="none" stroke="#c8c8c8" d="M1450.14,-1044.79C1524.73,-1063.09 1660.5,-1096.4 1729.8,-1113.4"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="1729.4,-1115.1 1734.67,-1114.6 1730.23,-1111.71 1729.4,-1115.1"/>
</g>
<!-- nid&#45;12&#45;in -->
<g id="node129" class="node"><title>nid&#45;12&#45;in</title>
<polygon fill="none" stroke="green" points="3099,-635 2835,-635 2835,-555 3099,-555 3099,-635"/>
<text text-anchor="middle" x="2967" y="-618.4" font-family="Times Roman,serif" font-size="14.00">0x12</text>
<text text-anchor="middle" x="2967" y="-600.4" font-family="Times Roman,serif" font-size="14.00">[Jack] Mic at Ext Rear</text>
<text text-anchor="middle" x="2967" y="-582.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2967" y="-564.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;0b&#45;&gt;nid&#45;12&#45;in -->
<g id="edge149" class="edge"><title>nid&#45;0b&#45;&gt;nid&#45;12&#45;in</title>
<path fill="none" stroke="#333333" d="M2515.47,-595C2587.43,-595 2720.9,-595 2824.14,-595"/>
<polygon fill="#333333" stroke="#333333" points="2824.35,-598.5 2834.35,-595 2824.35,-591.5 2824.35,-598.5"/>
</g>
<!-- nid&#45;13&#45;in -->
<g id="node135" class="node"><title>nid&#45;13&#45;in</title>
<polygon fill="none" stroke="green" points="3099,-971 2835,-971 2835,-891 3099,-891 3099,-971"/>
<text text-anchor="middle" x="2967" y="-954.4" font-family="Times Roman,serif" font-size="14.00">0x13</text>
<text text-anchor="middle" x="2967" y="-936.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="2967" y="-918.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2967" y="-900.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;0c&#45;&gt;nid&#45;13&#45;in -->
<g id="edge155" class="edge"><title>nid&#45;0c&#45;&gt;nid&#45;13&#45;in</title>
<path fill="none" stroke="#333333" d="M2515.47,-931C2587.43,-931 2720.9,-931 2824.14,-931"/>
<polygon fill="#333333" stroke="#333333" points="2824.35,-934.5 2834.35,-931 2824.35,-927.5 2824.35,-934.5"/>
</g>
<!-- nid&#45;14&#45;in -->
<g id="node141" class="node"><title>nid&#45;14&#45;in</title>
<polygon fill="none" stroke="green" points="3099,-859 2835,-859 2835,-779 3099,-779 3099,-859"/>
<text text-anchor="middle" x="2967" y="-842.4" font-family="Times Roman,serif" font-size="14.00">0x14</text>
<text text-anchor="middle" x="2967" y="-824.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="2967" y="-806.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2967" y="-788.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;0d&#45;&gt;nid&#45;14&#45;in -->
<g id="edge161" class="edge"><title>nid&#45;0d&#45;&gt;nid&#45;14&#45;in</title>
<path fill="none" stroke="#333333" d="M2515.47,-819C2587.43,-819 2720.9,-819 2824.14,-819"/>
<polygon fill="#333333" stroke="#333333" points="2824.35,-822.5 2834.35,-819 2824.35,-815.5 2824.35,-822.5"/>
</g>
<!-- nid&#45;15&#45;in -->
<g id="node147" class="node"><title>nid&#45;15&#45;in</title>
<polygon fill="none" stroke="green" points="3099,-747 2835,-747 2835,-667 3099,-667 3099,-747"/>
<text text-anchor="middle" x="2967" y="-730.4" font-family="Times Roman,serif" font-size="14.00">0x15</text>
<text text-anchor="middle" x="2967" y="-712.4" font-family="Times Roman,serif" font-size="14.00">[N/A] Speaker at Ext Rear</text>
<text text-anchor="middle" x="2967" y="-694.4" font-family="Times Roman,serif" font-size="14.00">Stereo</text>
<text text-anchor="middle" x="2967" y="-676.4" font-family="Times Roman,serif" font-size="14.00">IN OUT HP Detect Trigger ImpSense</text>
</g>
<!-- nid&#45;0e&#45;&gt;nid&#45;15&#45;in -->
<g id="edge167" class="edge"><title>nid&#45;0e&#45;&gt;nid&#45;15&#45;in</title>
<path fill="none" stroke="#333333" d="M2515.47,-707C2587.43,-707 2720.9,-707 2824.14,-707"/>
<polygon fill="#333333" stroke="#333333" points="2824.35,-710.5 2834.35,-707 2824.35,-703.5 2824.35,-710.5"/>
</g>
<!-- nid&#45;0f&#45;ampout -->
<g id="node114" class="node"><title>nid&#45;0f&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="2994,-1039 2953.5,-1057 2953.5,-1021 2994,-1039"/>
</g>
<!-- nid&#45;0f&#45;in&#45;&gt;nid&#45;0f&#45;ampout -->
<g id="edge130" class="edge"><title>nid&#45;0f&#45;in&#45;&gt;nid&#45;0f&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M2618.33,-1039C2738.95,-1039 2894.79,-1039 2948.13,-1039"/>
<polygon fill="#0000ff" stroke="#0000ff" points="2948.26,-1040.75 2953.26,-1039 2948.26,-1037.25 2948.26,-1040.75"/>
</g>
<!-- nid&#45;10&#45;ampout -->
<g id="node120" class="node"><title>nid&#45;10&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="2994,-487 2953.5,-505 2953.5,-469 2994,-487"/>
</g>
<!-- nid&#45;10&#45;in&#45;&gt;nid&#45;10&#45;ampout -->
<g id="edge136" class="edge"><title>nid&#45;10&#45;in&#45;&gt;nid&#45;10&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M2618.33,-487C2738.95,-487 2894.79,-487 2948.13,-487"/>
<polygon fill="#0000ff" stroke="#0000ff" points="2948.26,-488.75 2953.26,-487 2948.26,-485.25 2948.26,-488.75"/>
</g>
<!-- nid&#45;12&#45;ampout -->
<g id="node130" class="node"><title>nid&#45;12&#45;ampout</title>
<polygon fill="none" stroke="#c8c8c8" points="3370,-595 3329.5,-613 3329.5,-577 3370,-595"/>
</g>
<!-- nid&#45;12&#45;in&#45;&gt;nid&#45;12&#45;ampout -->
<g id="edge146" class="edge"><title>nid&#45;12&#45;in&#45;&gt;nid&#45;12&#45;ampout</title>
<path fill="none" stroke="#c8c8c8" d="M3099.56,-595C3183.33,-595 3283.23,-595 3324.13,-595"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="3324.28,-596.75 3329.28,-595 3324.28,-593.25 3324.28,-596.75"/>
</g>
<!-- nid&#45;13&#45;ampout -->
<g id="node136" class="node"><title>nid&#45;13&#45;ampout</title>
<polygon fill="none" stroke="#c8c8c8" points="3370,-931 3329.5,-949 3329.5,-913 3370,-931"/>
</g>
<!-- nid&#45;13&#45;in&#45;&gt;nid&#45;13&#45;ampout -->
<g id="edge152" class="edge"><title>nid&#45;13&#45;in&#45;&gt;nid&#45;13&#45;ampout</title>
<path fill="none" stroke="#c8c8c8" d="M3099.56,-931C3183.33,-931 3283.23,-931 3324.13,-931"/>
<polygon fill="#c8c8c8" stroke="#c8c8c8" points="3324.28,-932.75 3329.28,-931 3324.28,-929.25 3324.28,-932.75"/>
</g>
<!-- nid&#45;14&#45;ampout -->
<g id="node142" class="node"><title>nid&#45;14&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="3370,-819 3329.5,-837 3329.5,-801 3370,-819"/>
</g>
<!-- nid&#45;14&#45;in&#45;&gt;nid&#45;14&#45;ampout -->
<g id="edge158" class="edge"><title>nid&#45;14&#45;in&#45;&gt;nid&#45;14&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M3099.56,-819C3183.33,-819 3283.23,-819 3324.13,-819"/>
<polygon fill="#0000ff" stroke="#0000ff" points="3324.28,-820.75 3329.28,-819 3324.28,-817.25 3324.28,-820.75"/>
</g>
<!-- nid&#45;15&#45;ampout -->
<g id="node148" class="node"><title>nid&#45;15&#45;ampout</title>
<polygon fill="none" stroke="#0000ff" points="3370,-707 3329.5,-725 3329.5,-689 3370,-707"/>
</g>
<!-- nid&#45;15&#45;in&#45;&gt;nid&#45;15&#45;ampout -->
<g id="edge164" class="edge"><title>nid&#45;15&#45;in&#45;&gt;nid&#45;15&#45;ampout</title>
<path fill="none" stroke="#0000ff" d="M3099.56,-707C3183.33,-707 3283.23,-707 3324.13,-707"/>
<polygon fill="#0000ff" stroke="#0000ff" points="3324.28,-708.75 3329.28,-707 3324.28,-705.25 3324.28,-708.75"/>
</g>
</g>
</svg>

Revision history for this message
Joey Jiao (tufeijoe) said :
#16

hda-verb /dev/snd/hwC0D0 0x0 0xf00 0
nid = 0x0, verb = 0xf00, param = 0x0
value = 0x10ec0260

So hda-verb is possible to debug without adding printk in kernel.

Revision history for this message
Joey Jiao (tufeijoe) said :
#17

Good news, I have enabled noise from speaker which approves it's problem of the codec problem. For sure I'm still not for sure what exactly can make it perfect.

Here's some interesting things. (So GPIO pins controls the switch for the speaker for sure)
1) Get GPIO ENABLE MASK
hda-verb /dev/snd/hwCOD0 0x01 0xF16 0x0
returns 0
2) Set GPIO ENABLE MASK
hda-verb /dev/snd/hwCOD0 0x01 0x716 0x0F
3) Get GPIO Direction
hda-verb /dev/snd/hwCOD0 0x01 0xF17 0x0
returns 0
4) Set GPIO Direction
hda-verb /dev/snd/hwCOD0 0x01 0x717 0x0F
5) Set GPIO Data
this also seems will enable/disable the noise depends on the giving value

Hope more can contribute to test.

Revision history for this message
Joey Jiao (tufeijoe) said :
#18

OK, tested with above settings, music plays, but much noise just like the headphone plays.

Alsa problem or others? Meanwhile, needs to find out which pin instead of 0xF acts

Revision history for this message
Joey Jiao (tufeijoe) said :
#19

OK, to enable speaker. Do like below which works well.
(After several months suffer and got the one week on source and debug, finally works. Sometimes have noise and sometimes not)

Steps: [Should works for all B1900 series]
0. sudo vi /etc/modprobe.d/alsa-base.conf
add below lines at the bottom of this file.
options snd-hda-intel model=will
1. Create a script file like compaq.sh
#!/bin/sh
sudo hda-verb /dev/snd/hwC0D0 0x1 0x716 0x01
sudo hda-verb /dev/snd/hwC0D0 0x1 0x717 0x01
2. run the script when you want to enable sound from speaker.
3. Use this script if you want make autostart under init.d.
4. Not sure if conflict with headphone since I seldom use it.

Revision history for this message
Joey Jiao (tufeijoe) said :
#20

Well, after test, sudo is not necessary. Not check /dev/snd/hwC0D0 permission. But you don't need to use sudo.

Meanwhile, use either one below to disable speaker.
hda-verb /dev/snd/hwC0D0 0x1 0x716 0x00
hda-verb /dev/snd/hwC0D0 0x1 0x717 0x00

Revision history for this message
Joey Jiao (tufeijoe) said :
#21

I use alsamixer, press F5, to adjust all volume below white zone (that is around 55), then all noise gone. Great. Hope helpful to ubuntu and alsa team. I don't want to go deep into code to add fix but if needing any information, I can give comments as I already go through patch_realtek.c.

Revision history for this message
Joey Jiao (tufeijoe) said :
#22

Previously, I'm using a kernel I compiled, after removing it, I realized I need sudo to execute hda-verb.
So please attention to this if you are using ubuntu official kernel. Btw, if you are using debian or any other linux version on B1900 series, this method should also works.

Revision history for this message
Joey Jiao (tufeijoe) said :
#23

Today, I tested headphone and earphone.
1) By default, headphone plays
2) After enable speaker, headphone stops and speaker plays
sudo hda-verb /dev/snd/hwC0D0 0x1 0x716 0x01
sudo hda-verb /dev/snd/hwC0D0 0x1 0x717 0x01
3) After disable speaker, headphone plays and speaker stops.
sudo hda-verb /dev/snd/hwC0D0 0x1 0x716 0x00
sudo hda-verb /dev/snd/hwC0D0 0x1 0x717 0x00
4) Alsa cannot detect headphone plug in event.

Revision history for this message
Joey Jiao (tufeijoe) said :
#24

Adding Headphone detection method:
1) If no headphone attached
sudo hda-verb /dev/snd/hwC0D0 0x0F 0xF09 0x0
nid = 0xf, verb = 0xf09, param = 0x0
value = 0x7fffffff
=>value =0x7fffffff means nothing attached
2) If headphone attached
$ sudo hda-verb /dev/snd/hwC0D0 0x0F 0xF09 0x0
nid = 0xf, verb = 0xf09, param = 0x0
value = 0x800000c8
=>value != 0x7fffffff means something attached

Revision history for this message
Joey Jiao (tufeijoe) said :
#25

Adding micphone detect:
$ sudo hda-verb /dev/snd/hwC0D0 0x12 0xF09 0x0
nid = 0x12, verb = 0xf09, param = 0x0
value = 0x800000c8

Revision history for this message
Joey Jiao (tufeijoe) said :
#26

I don't know how to use ppa to upload. But below is a script to easy switch between speaker and headphone.
Copy and paste in a file named b1900. save and give x permission. mv to /usr/bin/. use sudo b1900 to enable speaker if headphone not plugged in, if headphone plugged, it will disable speaker and enable headphone.

#!/bin/sh
VER=1.0.0
echo "Fix for HP COMPAQ B1900 series no sound from speaker when model=will"
echo "Version=$VER"
echo "USAGE: sudo b1900"
#1) Is Headphone attached
HEADPHONE_ON=FALSE
MICPHONE_ON=FALSE
TEMP=`hda-verb /dev/snd/hwC0D0 0x0F 0xF09 0x0`
TEMP=`echo $TEMP|awk -F "=" '{printf $2}'`
if test $TEMP = 0x7fffffff -o $TEMP = 0x7FFFFFFF
then
 echo "HeadPhone not plugged in, enable Speaker"
 HEADPHONE_ON=FALSE
 hda-verb /dev/snd/hwC0D0 0x01 0x716 0x01
 hda-verb /dev/snd/hwC0D0 0x01 0x717 0x01
else
 echo "HeadPhone plugged in, disable Speaker"
 HEADPHONE_ON=TRUE
 hda-verb /dev/snd/hwC0D0 0x01 0x716 0x00
 hda-verb /dev/snd/hwC0D0 0x01 0x717 0x00
fi
#2) Is Micphone attached?
#TEMP=`hda-verb /dev/snd/hwC0D0 0x12 0xF09 0x0`
#TEMP=`echo $TEMP|awk -F "=" '{printf $2}'`
#if test $TEMP = 0x7fffffff -o $TEMP = 0x7FFFFFFF
#then
# MICPHONE_ON=FALSE
#else
# MICPHONE_ON=TRUE
#fi

Revision history for this message
Joey Jiao (tufeijoe) said :
#27

Except above solution, there could be another two solutions:
1) refer to HD-Audio.txt
write a firmware patch file which executes during driver loading inside hda_intel.c
2) Modify patch_realtek.c
Modify alc260_init_verbs or alc260_will_verbs to include NID=01 controls which I think is the bug mentioned by ALSA as there is no any control to NID=01.

Revision history for this message
Joey Jiao (tufeijoe) said :
#28

I have posted the modified source code to alsa-group and hope they can add into next release. The fix can auto switch between speaker and headphone based on HP state.

The modification is based on ubuntu 11.10 lastest kernel source 3.0.13 (alsa version 1.0.24) for file patch_realtek.c under sound/pci/hda/.
Not modified file at http://115.com/file/c2mxxcdc#patch_realtek.c.bk
Modified file at http://115.com/file/dp2554n3#patch_realtek.c

Revision history for this message
Joey Jiao (tufeijoe) said :
#29

Below is the diff of the patch. ALSA has replied and probably will merge.

--- patch_realtek.c.bk 2012-02-15 17:29:44.851620661 +0800
+++ patch_realtek.c 2012-02-15 17:29:40.887601285 +0800
@@ -80,6 +80,7 @@ enum {
  ALC260_WILL,
  ALC260_REPLACER_672V,
  ALC260_FAVORIT100,
+ ALC260_B1900,
 #ifdef CONFIG_SND_DEBUG
  ALC260_TEST,
 #endif
@@ -1323,6 +1324,34 @@ static void alc_inithook(struct hda_code
  alc_mic_automute(codec);
 }

+/* toggle speaker-output according to the hp-jack state */
+static void alc260_b1900_automute(struct hda_codec *codec)
+{
+ unsigned int present;
+
+ present = snd_hda_jack_detect(codec, 0x0f);
+ if (present) {
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_MASK, 0);
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_DIRECTION,
+ 0);
+ snd_hda_codec_write_cache(codec, 0x0f, 0,
+ AC_VERB_SET_PIN_WIDGET_CONTROL,
+ PIN_HP);
+ } else {
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_MASK, 1);
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_DIRECTION,
+ 1);
+ snd_hda_codec_write_cache(codec, 0x0f, 0,
+ AC_VERB_SET_PIN_WIDGET_CONTROL,
+ PIN_OUT);
+ }
+}
+
+
 /* additional initialization for ALC888 variants */
 static void alc888_coef_init(struct hda_codec *codec)
 {
@@ -6899,6 +6928,18 @@ static const struct hda_verb alc260_will
  {}
 };

+static const struct hda_verb alc260_b1900_verbs[] = {
+ {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
+ {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
+ {0x1a, AC_VERB_SET_COEF_INDEX, 0x07},
+ {0x1a, AC_VERB_SET_PROC_COEF, 0x3040},
+ {0x0f, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
+ {}
+};
+
+
 static const struct hda_verb alc260_replacer_672v_verbs[] = {
  {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
  {0x1a, AC_VERB_SET_COEF_INDEX, 0x07},
@@ -6941,6 +6982,12 @@ static void alc260_replacer_672v_unsol_e
                 alc260_replacer_672v_automute(codec);
 }

+static void alc260_b1900_unsol_event(struct hda_codec *codec,
+ unsigned int res)
+{
+ if ((res >> 26) == ALC880_HP_EVENT)
+ alc260_b1900_automute(codec);
+}
 static const struct hda_verb alc260_hp_dc7600_verbs[] = {
  {0x05, AC_VERB_SET_CONNECT_SEL, 0x01},
  {0x15, AC_VERB_SET_CONNECT_SEL, 0x01},
@@ -7431,6 +7478,7 @@ static const char * const alc260_models[
  [ALC260_WILL] = "will",
  [ALC260_REPLACER_672V] = "replacer",
  [ALC260_FAVORIT100] = "favorit100",
+ [ALC260_B1900] = "b1900",
 #ifdef CONFIG_SND_DEBUG
  [ALC260_TEST] = "test",
 #endif
@@ -7458,6 +7506,7 @@ static const struct snd_pci_quirk alc260
  SND_PCI_QUIRK(0x152d, 0x0729, "CTL U553W", ALC260_BASIC),
  SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_REPLACER_672V),
  SND_PCI_QUIRK(0x1631, 0xc017, "PB V7900", ALC260_WILL),
+ SND_PCI_QUIRK(0x103c, 0x007f, "HP COMPAQ", ALC260_B1900),
  {}
 };

@@ -7570,6 +7619,20 @@ static const struct alc_config_preset al
   .channel_mode = alc260_modes,
   .input_mux = &alc260_capture_source,
  },
+ [ALC260_B1900] = {
+ .mixers = { alc260_will_mixer },
+ .init_verbs = { alc260_init_verbs, alc260_b1900_verbs },
+ .num_dacs = ARRAY_SIZE(alc260_dac_nids),
+ .dac_nids = alc260_dac_nids,
+ .num_adc_nids = ARRAY_SIZE(alc260_adc_nids),
+ .adc_nids = alc260_adc_nids,
+ .dig_out_nid = ALC260_DIGOUT_NID,
+ .num_channel_mode = ARRAY_SIZE(alc260_modes),
+ .channel_mode = alc260_modes,
+ .input_mux = &alc260_capture_source,
+ .unsol_event = alc260_b1900_unsol_event,
+ .init_hook = alc260_b1900_automute,
+ },
  [ALC260_REPLACER_672V] = {
   .mixers = { alc260_replacer_672v_mixer },
   .init_verbs = { alc260_init_verbs, alc260_replacer_672v_verbs },

Revision history for this message
Joey Jiao (tufeijoe) said :
#30

ALSA Team has accepted to merge code into future release. The final diff code worked on my Ubuntu 11.10 with kernel 3.0.13 is below:

--- /usr/src/linux/sound/pci/hda/patch_realtek.c.bk 2012-02-14 22:04:36.351729299 +0800
+++ /usr/src/linux/sound/pci/hda/patch_realtek.c 2012-02-16 17:41:59.022196749 +0800
@@ -80,6 +80,7 @@ enum {
  ALC260_WILL,
  ALC260_REPLACER_672V,
  ALC260_FAVORIT100,
+ ALC260_B1900,
 #ifdef CONFIG_SND_DEBUG
  ALC260_TEST,
 #endif
@@ -1323,6 +1324,24 @@ static void alc_inithook(struct hda_code
  alc_mic_automute(codec);
 }

+/* toggle speaker-output according to the hp-jack state */
+static void alc260_b1900_automute(struct hda_codec *codec)
+{
+ unsigned int present;
+
+ present = snd_hda_jack_detect(codec, 0x0f);
+ if (present) {
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_DATA,
+ 1);
+ } else {
+ snd_hda_codec_write_cache(codec, 0x01, 0,
+ AC_VERB_SET_GPIO_DATA,
+ 0);
+ }
+}
+
+
 /* additional initialization for ALC888 variants */
 static void alc888_coef_init(struct hda_codec *codec)
 {
@@ -6899,6 +6918,20 @@ static const struct hda_verb alc260_will
  {}
 };

+static const struct hda_verb alc260_b1900_verbs[] = {
+ {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
+ {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
+ {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
+ {0x1a, AC_VERB_SET_COEF_INDEX, 0x07},
+ {0x1a, AC_VERB_SET_PROC_COEF, 0x3040},
+ {0x01, AC_VERB_SET_GPIO_MASK, 0x01},
+ {0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01},
+ {0x0f, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
+ {}
+};
+
+
 static const struct hda_verb alc260_replacer_672v_verbs[] = {
  {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
  {0x1a, AC_VERB_SET_COEF_INDEX, 0x07},
@@ -6941,6 +6974,12 @@ static void alc260_replacer_672v_unsol_e
                 alc260_replacer_672v_automute(codec);
 }

+static void alc260_b1900_unsol_event(struct hda_codec *codec,
+ unsigned int res)
+{
+ if ((res >> 26) == ALC880_HP_EVENT)
+ alc260_b1900_automute(codec);
+}
 static const struct hda_verb alc260_hp_dc7600_verbs[] = {
  {0x05, AC_VERB_SET_CONNECT_SEL, 0x01},
  {0x15, AC_VERB_SET_CONNECT_SEL, 0x01},
@@ -7431,6 +7470,7 @@ static const char * const alc260_models[
  [ALC260_WILL] = "will",
  [ALC260_REPLACER_672V] = "replacer",
  [ALC260_FAVORIT100] = "favorit100",
+ [ALC260_B1900] = "b1900",
 #ifdef CONFIG_SND_DEBUG
  [ALC260_TEST] = "test",
 #endif
@@ -7458,6 +7498,7 @@ static const struct snd_pci_quirk alc260
  SND_PCI_QUIRK(0x152d, 0x0729, "CTL U553W", ALC260_BASIC),
  SND_PCI_QUIRK(0x161f, 0x2057, "Replacer 672V", ALC260_REPLACER_672V),
  SND_PCI_QUIRK(0x1631, 0xc017, "PB V7900", ALC260_WILL),
+ SND_PCI_QUIRK(0x103c, 0x007f, "HP COMPAQ", ALC260_B1900),
  {}
 };

@@ -7570,6 +7611,20 @@ static const struct alc_config_preset al
   .channel_mode = alc260_modes,
   .input_mux = &alc260_capture_source,
  },
+ [ALC260_B1900] = {
+ .mixers = { alc260_will_mixer },
+ .init_verbs = { alc260_init_verbs, alc260_b1900_verbs },
+ .num_dacs = ARRAY_SIZE(alc260_dac_nids),
+ .dac_nids = alc260_dac_nids,
+ .num_adc_nids = ARRAY_SIZE(alc260_adc_nids),
+ .adc_nids = alc260_adc_nids,
+ .dig_out_nid = ALC260_DIGOUT_NID,
+ .num_channel_mode = ARRAY_SIZE(alc260_modes),
+ .channel_mode = alc260_modes,
+ .input_mux = &alc260_capture_source,
+ .unsol_event = alc260_b1900_unsol_event,
+ .init_hook = alc260_b1900_automute,
+ },
  [ALC260_REPLACER_672V] = {
   .mixers = { alc260_replacer_672v_mixer },
   .init_verbs = { alc260_init_verbs, alc260_replacer_672v_verbs },

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

Thanks a lot and congratulations, Joey! Good job!

Revision history for this message
Raymond (superquad-vortex2) said :
#32

refer to #24 and #25 ,
the presence detect bit is correct but the impedance of microphone should be higher than headphone

http://thread.gmane.org/gmane.linux.alsa.devel/90911/focus=91115

does it need a delay after set_pin_sense before issue get_pin_sense ?

#24

2) If headphone attached
$ sudo hda-verb /dev/snd/hwC0D0 0x0F 0xF09 0x0
nid = 0xf, verb = 0xf09, param = 0x0
value = 0x800000c8
=>value != 0x7fffffff means something attached
Joey Jiao (tufeijoe) said on 2012-02-14:

#25

Adding micphone detect:
$ sudo hda-verb /dev/snd/hwC0D0 0x12 0xF09 0x0
nid = 0x12, verb = 0xf09, param = 0x0
value = 0x800000c8

Revision history for this message
Daighi Conal (drob114) said :
#33

This works perfectly for me.

Thanks buddy :)