Onboard HDA/ALC898 works only after 60 second delay after booting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

some months ago, presumably after a kernel update, my system (archlinux)
started having the following problem.

After booting, it takes pretty much exactly 1 minute for the HDA Intel
PCH / Realtek ALC898 audio card and devices to become available.

Here's dmesg | grep snd:

###################################
[    3.084363] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[    3.084614] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    3.084660] snd_hda_intel 0000:01:00.1: Disabling MSI
[    3.084665] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio
client
[   64.559641] snd_hda_intel 0000:00:1b.0: couldn't bind with audio
component
[   64.590246] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC898:
line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
[   64.590248] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0
(0x0/0x0/0x0/0x0/0x0)
[   64.590249] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1
(0x1b/0x0/0x0/0x0/0x0)
[   64.590250] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   64.590251] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x1e/0x0
[   64.590251] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   64.590252] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[   64.590253] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[   64.590254] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
###################################

At the 64 second mark, in this case, sound starts working correctly.

Here's lsmod | grep snd before sound starts working:

###################################
snd_hda_codec_hdmi     73728  1
snd_hda_intel          53248  0
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_hda_codec         167936  2 snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core          106496  3
snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               147456  4
snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              45056  1 snd_pcm
snd                   114688  6
snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
soundcore              16384  1 snd
###################################

and after:

###################################
snd_hda_codec_realtek   135168  1
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_codec_hdmi     73728  1
snd_hda_intel          53248  5
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_hda_codec         167936  4
snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core          106496  5
snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               147456  6
snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              45056  3 snd_pcm
snd                   114688  14
snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
soundcore              16384  1 snd
###################################

Here's aplay -l before sound starts working:

###################################
**** List of PLAYBACK Hardware Devices ****
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
###################################

and after:

###################################
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
###################################

The output of cat /proc/asound/modules before 60 seconds:

###################################
 1 snd_hda_intel
###################################

and after:

###################################
 0 snd_hda_intel
 1 snd_hda_intel
###################################

I tried adding snd_hda_codec_realtek to /etc/modules-load.d/snd.conf, in
which case lsmod | grep snd will be on boot exactly like after the 60
seconds, but I still have no sound and no ALC898 devices in aplay -l.

The journal contains nothing of interest, except that after the 60
seconds, it will print

###################################
Aug 13 01:11:20 machine kernel: snd_hda_intel 0000:00:1b.0: couldn't
bind with audio component
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
autoconfig for ALC898: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
mono: mono_out=0x0
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
dig-out=0x1e/0x0
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
inputs:
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
Front Mic=0x19
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
Rear Mic=0x18
Aug 13 01:11:20 machine kernel: snd_hda_codec_realtek hdaudioC0D0:
Line=0x1a
Aug 13 01:11:20 machine systemd[515]: Reached target Sound Card.
Aug 13 01:11:20 machine kernel: input: HDA Digital PCBeep as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input20
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Front Mic as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input21
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Rear Mic as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input22
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Line as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input23
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Line Out Front as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input24
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Line Out Surround
as /devices/pci0000:00/0000:00:1b.0/sound/card0/input25
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Line Out CLFE as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input26
Aug 13 01:11:20 machine kernel: input: HDA Intel PCH Front Headphone as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input27
###################################

This is my asound.conf but it doesn't matter what's in there or if it
exists at all - the problem persists.

###################################
# dmix for analog output
pcm.dmixa {
  type dmix
  ipc_key 1024
  ipc_perm 0666
  slave.pcm "hw:PCH,0"
  slave {
    period_time 0
    period_size 1024
    buffer_size 4096
    channels 2
  }
  bindings {
    0 0
    1 1
  }
}

# dmix for digital output
pcm.dmixd {
  type dmix
  ipc_key 2048
  ipc_perm 0666
  slave.pcm "hw:PCH,1"
  slave {
    period_time 0
    period_size 1024
    buffer_size 4096
    channels 2
  }
  bindings {
    0 0
    1 1
  }
}

# equalizer
pcm.plugequal {
  type equal
  slave {
    pcm "plug:dmixd"
  }
}

# equalizer controls
ctl.equal {
 type equal
}

# Volume control for S/PDIF
pcm.softvol {
    type softvol
    slave.pcm "plug:plugequal"
    control {
        name "S/PDIF"
    }
}

# multi:
# "a" (analog)  -> dmix,
# "d" (digital) -> softvol -> plugequal -> dmix
pcm.quad {
    type multi
    slaves {
      a.pcm "dmixa"
      a.channels 2
      d.pcm "plug:softvol" # detour via softvol and equalizer
      d.channels 2
    }
    bindings {
      0 { slave a; channel 0; }
      1 { slave a; channel 1; }
      2 { slave d; channel 0; }
      3 { slave d; channel 1; }
    }
}

# stereo to quad
pcm.stereo2quad {
  type route
  slave.pcm "quad"
  ttable [
    [ 1 0 1 0 ]
    [ 0 1 0 1 ]
  ]
}

# playback to stereo to quad, capture as usual
pcm.!default {
  type asym
  playback.pcm "plug:stereo2quad"
  capture.pcm "plug:dnsoop"
}
###################################

Any ideas? I don't know how to debug this any further.

Thank you.



_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user



[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux