[alsa-devel] No sound for several minutes after reboot
Takashi Iwai
tiwai at suse.de
Tue Aug 30 11:03:27 CEST 2016
On Tue, 30 Aug 2016 10:32:01 +0200,
Markus Trippelsdorf wrote:
>
> On 2016.08.30 at 10:04 +0200, Takashi Iwai wrote:
> > On Mon, 29 Aug 2016 16:02:33 +0200,
> > Markus Trippelsdorf wrote:
> > >
> > > On 2016.08.29 at 14:06 +0200, Markus Trippelsdorf wrote:
> > > > On 2016.08.29 at 11:32 +0200, Takashi Iwai wrote:
> > > > > On Mon, 29 Aug 2016 11:20:47 +0200,
> > > > > Markus Trippelsdorf wrote:
> > > > output:ALSA def-222 [003] .... 422.035002: hda_send_cmd: [0000:00:14.2:0] val=0x01570d01
> > > > output:ALSA def-222 [003] .... 422.035061: hda_get_response: [0000:00:14.2:0] val=0x00000000
> > >
> > > Actually it right here that sound starts again:
> > >
> > > markus at x4 hda-emu % ./a.out 0x01570d01
> > > raw value = 0x01570d01
> > > cid = 0, nid = 0x15, verb = 0x70d, parm = 0x01
> > > raw value: verb = 0x70d, parm = 0x1
> > > verbname = set_digi_cvt_1
> >
> > So, the program itself sets the value. Which sound backend are you
> > using? PulseAudio, whatever?
>
> No backend at all. I use mpd directly on type hw:
>
> pcm.!default {
> type hw
> card 0
> device 3
> }
Hmm, it's assigned to device 3?
This was supposed to be assigned to HDMI/DP.
In anyway, for device 3, you can use
pcm.!default "hdmi:0"
Then the IEC958 status parameter is set via alsa-lib properly.
Takashi
>
> > Basically you need to track the verb 0x01570dXX that changes the
> > digital converter parameter.
> >
> > When the driver was loaded and initialized, what value does the node
> > have? Also check the raw ctl elements, too. The value is controlled
> > via "IEC958 Status" controls. If the value at the init time is wrong,
> > you may set the initial value via "iecset" program included in
> > alsa-utils.
>
> The driver is build directly into my monolithic kernel (I don't have
> modules enabled at all).
> At boot time I run "alsactl restore" in an init script.
> alsamixer shows that S/PDIF is unmuted, but as I wrote it doesn't work
> for several minutes. If I toggle the S/PDIF setting in alsamixer from
> unmuted to muted to unmuted then sounds starts working.
>
> Anyway:
> /usr/bin/hda-verb /dev/snd/hwC0D0 0x15 SET_DIGI_CONVERT_1 0x01 &> /dev/null
> works fine in my init script, so the issue is solved for me.
>
> Thanks.
>
> --
> Markus
>
More information about the Alsa-devel
mailing list