[HP Compaq dc7600 Small Form Factor, Realtek ALC260, Green Line Out, Rear] Underruns, dropouts or crackling sound.

Bug #1294830 reported by bosdwerg
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

continuous crackling sound from moment ubuntu starts up.
no sound problem in Windows before Ubuntu install (ubuntu great btw)>
not only green line out, rear ( I use this one for speaker); all sound device.
crackling continues when pulseaudio turned off,
when playing sound gives interruptions.

Continuous switching between speakers and headphones in sound settings.
Difficulty adjusting sound levels in alsamixer

tried editing sample rate in daemon.conf or tsched=0 in default.pa, checking archlinux and some other basic bug sollutions for ALSA, but no luck..

there's a short video I made of the problem:
https://www.facebook.com/photo.php?v=486149771507522&l=6160322189117296858

thx

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: alsa-base 1.0.25+dfsg-0ubuntu4
Uname: Linux 3.13.5-031305-generic i686
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: bosdwerg 1287 F.... pulseaudio
 /dev/snd/pcmC0D0p: bosdwerg 1287 F...m pulseaudio
CurrentDmesg:

Date: Wed Mar 19 19:59:25 2014
InstallationDate: Installed on 2014-03-06 (13 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release i386 (20131016.1)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: alsa-driver
Symptom: audio
Symptom_AlsaPlaybackTest: ALSA playback test through plughw:Intel successful
Symptom_Card: Built-in Audio - HDA Intel
Symptom_Jack: Green Line Out, Rear
Symptom_PulsePlaybackTest: PulseAudio playback test successful
Symptom_Type: Underruns, dropouts, or "crackling" sound
Title: [HP Compaq dc7600 Small Form Factor, Realtek ALC260, Green Line Out, Rear] Underruns, dropouts or crackling sound
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/18/2005
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: 786D1 v01.03
dmi.board.name: 09F8h
dmi.board.vendor: Hewlett-Packard
dmi.chassis.type: 4
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-Packard:bvr786D1v01.03:bd05/18/2005:svnHewlett-Packard:pnHPCompaqdc7600SmallFormFactor:pvr:rvnHewlett-Packard:rn09F8h:rvr:cvnHewlett-Packard:ct4:cvr:
dmi.product.name: HP Compaq dc7600 Small Form Factor
dmi.sys.vendor: Hewlett-Packard

Revision history for this message
bosdwerg (bavovaneesbeek) wrote :
Revision history for this message
Raymond (superquad-vortex2) wrote :

send email to the author or file an upstream bug report if you think it is regression of this patch,

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=0d8cb303a984afe4a7f0b68e47fe1958e1fd75e0

static const struct hda_bind_ctls alc260_dc7600_bind_master_vol = {
- .ops = &snd_hda_bind_vol,
- .values = {
- HDA_COMPOSE_AMP_VAL(0x08, 3, 0, HDA_OUTPUT),
- HDA_COMPOSE_AMP_VAL(0x09, 3, 0, HDA_OUTPUT),
- HDA_COMPOSE_AMP_VAL(0x0a, 3, 0, HDA_OUTPUT),
- 0
- },
-};
-
-static const struct hda_bind_ctls alc260_dc7600_bind_switch = {
- .ops = &snd_hda_bind_sw,
- .values = {
- HDA_COMPOSE_AMP_VAL(0x11, 3, 0, HDA_OUTPUT),
- HDA_COMPOSE_AMP_VAL(0x15, 3, 0, HDA_OUTPUT),
- 0
- },
-};

-static const struct hda_bind_ctls alc260_dc7600_bind_switch = {
- .ops = &snd_hda_bind_sw,
- .values = {
- HDA_COMPOSE_AMP_VAL(0x11, 3, 0, HDA_OUTPUT),
- HDA_COMPOSE_AMP_VAL(0x15, 3, 0, HDA_OUTPUT),
- 0
- },
-};
-
-static const struct snd_kcontrol_new alc260_hp_dc7600_mixer[] = {
- HDA_BIND_VOL("Master Playback Volume", &alc260_dc7600_bind_master_vol),
- HDA_BIND_SW("LineOut Playback Switch", &alc260_dc7600_bind_switch),
- HDA_CODEC_MUTE("Speaker Playback Switch", 0x0f, 0x0, HDA_OUTPUT),
- HDA_CODEC_MUTE("Headphone Playback Switch", 0x10, 0x0, HDA_OUTPUT),
- { } /* end */
-};

- [ALC260_HP_DC7600] = {
- .mixers = { alc260_hp_dc7600_mixer,
- alc260_input_mixer },
- .init_verbs = { alc260_init_verbs,
- alc260_hp_dc7600_verbs },
- .num_dacs = ARRAY_SIZE(alc260_dac_nids),
- .dac_nids = alc260_dac_nids,
- .num_adc_nids = ARRAY_SIZE(alc260_adc_nids_alt),
- .adc_nids = alc260_adc_nids_alt,
- .num_channel_mode = ARRAY_SIZE(alc260_modes),
- .channel_mode = alc260_modes,
- .input_mux = &alc260_capture_source,
- .unsol_event = alc_sku_unsol_event,
- .setup = alc260_hp_3012_setup,
- .init_hook = alc_inithook,
- },

Revision history for this message
Raymond (superquad-vortex2) wrote :
Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Revision history for this message
Raymond (superquad-vortex2) wrote :

+static void alc260_hp_3012_automute(struct hda_codec *codec)
+{
+ unsigned int present, bits;
+
+ present = snd_hda_codec_read(codec, 0x10, 0,
+ AC_VERB_GET_PIN_SENSE, 0) & AC_PINSENSE_PRESENCE;
+
+ bits = present ? 0 : PIN_OUT;
+ snd_hda_codec_write(codec, 0x0f, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+ bits);
+ snd_hda_codec_write(codec, 0x11, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+ bits);
+ snd_hda_codec_write(codec, 0x15, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+ bits);
+}
+

Node 0x10 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Headphone Jack", index=0, device=0
  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 0x0221101f: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Connection: 1
     0x09

seem alc260 support Trigger and ImpSense

https://bugzilla.kernel.org/show_bug.cgi?id=66621#c39

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/Documentation/sound/alsa/HD-Audio.txt

the difference is it only use AC_VERB_GET_PIN_SENSE to detect the presence of the headphone in the previous version but

try add hint

trigger_sense = 0

using hda-emu, the current version send (exec_pin_sense) before (get_pin_sense)

 jack 0x10 1
send: NID=0x10, VERB=0x709(exec_pin_sense), PARM=0x0
receive: 0x0
send: NID=0x10, VERB=0xf09(get_pin_sense), PARM=0x0
receive: 0x80000000
send: NID=0x11, VERB=0x707(set_pin_ctl), PARM=0x0
send: NID=0x15, VERB=0x707(set_pin_ctl), PARM=0x0

Revision history for this message
Raymond (superquad-vortex2) wrote :

Mar 19 20:01:11 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 0.295| 0.295) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now unplugged
Mar 19 20:01:11 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 0.322| 0.026) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now plugged in
Mar 19 20:01:11 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 0.962| 0.640) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now unplugged
Mar 19 20:01:11 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 0.988| 0.026) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now plugged in
Mar 19 20:01:12 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 1.682| 0.693) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now unplugged
Mar 19 20:01:12 bosdwerg-HP-Compaq-dc7600-Small-Form-Factor pulseaudio[1287]: ( 1.708| 0.026) [pulseaudio] module-alsa-card.c: Jack 'Line Out Jack' is now plugged in

 the codec need some time for the impedance measurement to become stable

Revision history for this message
Raymond (superquad-vortex2) wrote :

disable trigger sense for alc260 codec

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "alc260_no_trigger_sense.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.