[alsa-devel] Fwd: No sound with ATI SB450
Takashi Iwai
tiwai at suse.de
Tue Apr 24 12:05:49 CEST 2007
At Tue, 24 Apr 2007 10:15:30 +1000,
Ben DiDonc wrote:
>
> Takashi,
> I applied your patch (to alsa-driver-hg-20070421) and modprobe'd
> snd_hda_intel without probe_mask, but with model=auto. It worked and
> detected the ALC861 codec straight away, just like it did with
> probe_mask=8.
OK, then I'll apply the patch to the upstream.
> I max'ed all playback and capture volumes , ran arecord
> | aplay ,which worked fine. The laptop I have (toshiba A100) only has
> builtin speakers and a headphone jack for output (and a mic jack for
> input). There are no other jacks. I tried both the speakers and
> headphones, both worked (the speakers are muted when the headphone is
> connected).
Interesting. It means that this has obviously a different hardware
design from the pre-defined one in the current driver code.
> Next I modprobe'd again snd_hda_intel without any parameters this
> time, and it worked fine too. the codec was detected and both playback
> and capture worked fine.
The current code has a check of headphone pin, so either with or
without headphone, model=toshiba works.
Takashi
> On 4/24/07, Takashi Iwai <tiwai at suse.de> wrote:
> > At Tue, 24 Apr 2007 00:12:46 +1000,
> > Ben DiDonc wrote:
> > >
> > > Here are the two codec files:
> > > codec#3-working-14rc1 was obtained after loading snd-hda-intel with
> > > probe_mask=8 and model=auto
> > > the other was obtained after loading the module without special parameters
> >
> > Thanks. Let's cut out bugs step by step.
> >
> > The probing problem with the latest driver might be fixed by the patch
> > below. Could you try it and load without probe_mask option?
> >
> > Also, what output did you test actually? Is the output from the
> > built-in speaker (if any), the output from HP-jack or both?
> >
> >
> > Takashi
> >
> > diff -r aed6a15c9398 pci/hda/hda_intel.c
> > --- a/pci/hda/hda_intel.c Mon Apr 23 11:54:41 2007 +0200
> > +++ b/pci/hda/hda_intel.c Mon Apr 23 16:18:35 2007 +0200
> > @@ -979,7 +979,7 @@ static int __devinit azx_codec_create(st
> > static int __devinit azx_codec_create(struct azx *chip, const char *model)
> > {
> > struct hda_bus_template bus_temp;
> > - int c, codecs, err;
> > + int c, codecs, audio_codecs, err;
> >
> > memset(&bus_temp, 0, sizeof(bus_temp));
> > bus_temp.private_data = chip;
> > @@ -991,16 +991,19 @@ static int __devinit azx_codec_create(st
> > if ((err = snd_hda_bus_new(chip->card, &bus_temp, &chip->bus)) < 0)
> > return err;
> >
> > - codecs = 0;
> > + codecs = audio_codecs = 0;
> > for (c = 0; c < AZX_MAX_CODECS; c++) {
> > if ((chip->codec_mask & (1 << c)) & probe_mask) {
> > - err = snd_hda_codec_new(chip->bus, c, NULL);
> > + struct hda_codec *codec;
> > + err = snd_hda_codec_new(chip->bus, c, &codec);
> > if (err < 0)
> > continue;
> > codecs++;
> > + if (codec->afg)
> > + audio_codecs++;
> > }
> > }
> > - if (!codecs) {
> > + if (!audio_codecs) {
> > /* probe additional slots if no codec is found */
> > for (; c < azx_max_codecs[chip->driver_type]; c++) {
> > if ((chip->codec_mask & (1 << c)) & probe_mask) {
> >
>
More information about the Alsa-devel
mailing list