Are you using the same ALSA source code version as used in your fc6 installation? Check with: $ aplay --version If it is different, try the same ALSA source version. MarvS On 4/11/07, Eberhard Schruefer <schruefer@xxxxxxxxxxx> wrote:
Marvin, I tried to compile the patched snd-hda-intel as you suggested under FC6. Configure completes with no problems, but make fails ... make[1]: Entering directory `/usr/src/kernels/2.6.20-1.2933.fc6-i686' CC [M] /usr/src/alsa-driver-1.0.14rc1/acore/memalloc.o CC [M] /usr/src/alsa-driver-1.0.14rc1/acore/sgbuf.o CC [M] /usr/src/alsa-driver-1.0.14rc1/acore/memory_wrapper.o CC [M] /usr/src/alsa-driver-1.0.14rc1/acore/pcm.o In file included from /usr/src/alsa-driver-1.0.14rc1/acore/../alsa-kernel/core/pcm.c:29, from /usr/src/alsa-driver-1.0.14rc1/acore/pcm.c:1: /usr/src/alsa-driver-1.0.14rc1/include/sound/pcm.h: In function 'snd_pcm_mmap_data_open': /usr/src/alsa-driver-1.0.14rc1/include/sound/pcm.h:977: error: dereferencing pointer to incomplete type /usr/src/alsa-driver-1.0.14rc1/include/sound/pcm.h: In function 'snd_pcm_mmap_data_close': /usr/src/alsa-driver-1.0.14rc1/include/sound/pcm.h:983: error: dereferencing pointer to incomplete type make[4]: *** [/usr/src/alsa-driver-1.0.14rc1/acore/pcm.o] Error 1 make[3]: *** [/usr/src/alsa-driver-1.0.14rc1/acore] Error 2 make[2]: *** [_module_/usr/src/alsa-driver-1.0.14rc1] Error 2 make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.20-1.2933.fc6-i686' make: *** [compile] Error 2 I'm stuck. -Eberhard Marvin Stodolsky wrote: > Gadi > >> knoppix or papylinux > usage would be very difficult because the snd-hda-intel and its > dependent drivers would be loaded from the CD during the bootup, and > likely cannot > afterward be unloaded to replace with the fixed snd-hda-intel driver set. > > ALSA sources should be downloaded from http://www.alsa-project.org/ , > both driver and library packages. I'm using version 1.0.13 as an > example, through some of you may need to use some of the 1.0.14rcN > working releases > They should be unpacked in a common folder, say > /usr/src/modules/alsa/ with > $ tar jxf alsa*.bz2 > > The patch should be applied within > /usr/src/modules/alsa/alsa-driver-1.0.13/alsa-kernel/ > $ patch -p1 < /path_to_the/hda.patch > Though I haven't yet had time to test which versions it takes on. > > That done the configuration step must be run within: > /usr/src/modules/alsa/alsa-driver-1.0.13/ > Assuming your System already has packages installed for: make, gcc and > kernel-headers matching your kernel_version. > Do a useful definition: > HEADERS=/lib/modules/`uname -r`/build > and check then > ls $HEADERS > should display the base of your kernel-headers/source folder, > depending on your Linux Distro. The configuration command is: > ./configure --with-kernel=$HEADERS --with-build=$HEADERS > --with-cards=hda-intel > > If the configuation works, then > make > will build snd-hda-intel and its dependent drivers. Install them with: > $ su root > # make install > or under Ubuntu > $ sudo make install > > Reboot and retest the modem. > I lack cogent HDA cardware, so cannot myself test. > > MarvS > > > > > > > > > On 4/10/07, Gadi Dor <gadido30@xxxxxxxxx> wrote: >> Hi >> >> Is is also problem of the alsa and kernel ? >> >> Before I am going to patch it , is there way that I can use livecd like >> knoppix or papylinux , to see if it's working? >> >> Thanx >> Gadi >> >> >> On 4/11/07, Marvin Stodolsky <marvin.stodolsky@xxxxxxxxx> wrote: >> > You need to apply the patch below to ALSA sources and install a >> > snd-hda-intel driver replacement set. Details will follow tomorrow >> > (hopefully) to the LIST. >> > I haven't been able to apply the patch myself and have requested >> instructions. >> > >> > MarvS >> > >> > ---------- Forwarded message ---------- >> > From: Takashi Iwai <tiwai@xxxxxxx> >> > Date: Apr 10, 2007 5:13 AM >> > Subject: Re: [ marvin.stodolsky@xxxxxxxxx: Re: Eberhard, Germany, >> > Fedora Core release 6 (Zod), kernel 2.6.20-1.2925.fc6] >> > To: Sasha Khapyorsky <sashakh@xxxxxxxxx> >> > Cc: Marvin Stodolsky < marvin.stodolsky@xxxxxxxxx> >> > >> > >> > At Tue, 10 Apr 2007 02:00:26 +0300, >> > Sasha Khapyorsky wrote: >> > > >> > > Hi Takashi, >> > > >> > > How are you those days? >> > >> > Thanks, fine -- except for growing amount of bugs regarding hda-intel >> > ;) >> > >> > > Recently we got couple reports about broken slmodem with HDA modems. >> > > I also found that 9600 sample rate was removed from supported by >> > > hda_codec list. What was the reason for this change? Is there >> another >> > > way to solve this problem without removing 9600? Unfortunately >> slmodem >> > > knows to work 9600 only and we don't have the source code in >> order to >> > > improve this. Thanks. >> > >> > It's a patch: >> > >> ================================================================ >> > # HG changeset patch >> > # User tiwai >> > # Date 1162912140 -3600 >> > # Node ID 2ad24f7f3313b2b59aace15348e19b1971e93b12 >> > # Parent b854fbfd238f18cbcc4b4030a40aac8815735e57 >> > hda-codec - Fix detection of supported sample rates >> > >> > Don't include 9.6kHz in the list of supported sample rates. >> > Since this rate isn't indicated in AC_PAR_PCM parameter, >> > the driver might guess wrongly as if it's available. >> > >> ================================================================ >> > >> > IIRC, it was due to a possible problem that some codecs wrongly report >> > 384kHz bit that points 96kHz in hda_codec.c. I overlooked that si3043 >> > supports 96kHz. >> > >> > The patch below should fix the problem. Please give it a try. >> > >> > >> > Takashi >> > >> > diff -r 42321871a7dc pci/hda/hda_codec.c >> > --- a/pci/hda/hda_codec.c Thu Apr 05 17:08:57 2007 +0200 >> > +++ b/pci/hda/hda_codec.c Tue Apr 10 11:08:35 2007 +0200 >> > @@ -1368,6 +1368,11 @@ static struct hda_rate_tbl rate_bits[] = >> > { 96000, SNDRV_PCM_RATE_96000, 0x0800 }, /* 2 x 48 */ >> > { 176400, SNDRV_PCM_RATE_176400, 0x5800 },/* 4 x 44 */ >> > { 192000, SNDRV_PCM_RATE_192000, 0x1800 }, /* 4 x 48 */ >> > +#define AC_PAR_PCM_RATE_BITS 11 >> > + /* up to bits 10, 384kHZ isn't supported properly */ >> > + >> > + /* not autodetected value */ >> > + { 9600, SNDRV_PCM_RATE_KNOT, 0x0400 }, /* 1/5 x 48 */ >> > >> > { 0 } /* terminator */ >> > }; >> > @@ -1461,7 +1466,7 @@ int >> snd_hda_query_supported_pcm(struct h >> > >> > if (ratesp) { >> > u32 rates = 0; >> > - for (i = 0; rate_bits[i].hz; i++) { >> > + for (i = 0; i < AC_PAR_PCM_RATE_BITS; i++) { >> > if (val & (1 << i)) >> > rates |= >> rate_bits[i].alsa_bits; >> > } >> > @@ -1555,13 +1560,13 @@ int >> snd_hda_is_supported_format(struct h >> > } >> > >> > rate = format & 0xff00; >> > - for (i = 0; rate_bits[i].hz; i++) >> > + for (i = 0; i < AC_PAR_PCM_RATE_BITS; i++) >> > if (rate_bits[i].hda_fmt == rate) { >> > if (val & (1 << i)) >> > break; >> > return 0; >> > } >> > - if (! rate_bits[i].hz) >> > + if (i >= AC_PAR_PCM_RATE_BITS) >> > return 0; >> > >> > stream = snd_hda_param_read(codec, nid, AC_PAR_STREAM); >> > >> >>