Gentoo Archives: gentoo-dev

From: Kevin <gentoo-dev@××××××.biz>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] ALSA and kernel 2.6.1-gentoo-r1 and /etc/init.d/alsasound
Date: Tue, 17 Feb 2004 18:12:41
Message-Id: 200402171312.38132.gentoo-dev@gnosys.biz
1 Hi All-
2
3 (To the developers, though this may be a long post and it may initially
4 appear to be appropriate for strictly the user list, I'm pretty sure
5 there is an important point for you near the bottom (about the
6 script /etc/init.d/alsasound). I'm not a developer, so I'm not certain
7 that you'll find it noteworthy, and so if I'm wrong, my apologies for
8 sending this cc to the developer's list. Also, is there a list archive?
9 I considered searching for this subject in a list archive, but didn't see
10 one listed on http://www.gentoo.org/main/en/lists.xml)
11
12 I'm following the thread "Alsa & 2.6.1" on gentoo-user since it seems to
13 be related, but my issues are slightly different---or maybe I just have
14 more detail than I see described in that thread, not sure. This may be a
15 long post, so I offer apologies for that in advance.
16
17 Anyway, I've been using the Gentoo Linux ALSA Guide, but it clearly
18 distinguishes between the kernel versions 2.4 and 2.5/2.6. I see (from
19 the Gentoo Guide) that much of the ALSA code is already in 2.6.x.
20
21 I've noted that the Guide describes setting up ALSA with a 2.4.x kernel,
22 and it seems to be that the instructions for doing so with a 2.6.x kernel
23 would probably be different, in light of the presence of ALSA in the 2.6
24 kernel, but I'm not sure exactly how they should differ.
25
26 Anyway, my first specific problem comes when following the "ALSA modules"
27 section of the guide. I've grep'd my /proc/pci file and also done lspci
28 with the following relevant output:
29 ======================================
30 # grep audio /proc/pci
31 Multimedia audio controller: PCI device 10de:006a (nVidia Corporation
32 (rev 161).
33
34 # lspci | grep audio
35 00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio
36 Controler (MCP) (rev a1)
37 ======================================
38
39 This is an Asus A7N8X motherboard, with onboard 6 channel audio that the
40 motherboard docs describe as a "Realtek ALC650 6CH with built-in HP
41 amplifier". I didn't find such a device in the ALSA Soundcard Matrix
42 linked to from the Gentoo Guide, but I did find in the Matrix
43 what /proc/pci and lspci show. There's only one Nvidia device ("nForce")
44 in the Matrix, and since I seem to have nForce2 (output from lspci), I
45 thought it would be the appropriate entry for me to use. The Matrix
46 mentions the module: snd-intel8x0 as being associated with this device.
47
48 So, following the Gentoo Guide, I did a:
49 # env ALSA_CARDS='intel8x0' emerge alsa-driver
50
51 Now, I'm not really sure if this step is required since I did build
52 modular ALSA support with my 2.6.1 kernel build, but I tried it anyway
53 and it failed with error listed here:
54
55 =============================================
56 In file included from
57 /var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/include/sound/driver.h:42,
58 from
59 /var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/alsa-kernel/core/oss/rate.c:22,
60 from rate.c:2:
61 /var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/include/adriver.h:42:31:
62 linux/modversions.h: No such file or directory
63 make[3]: *** [fastdep] Error 1
64 make[3]: Leaving directory
65 `/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/acore/oss'
66 make[2]: *** [_sfdep_oss] Error 2
67 make[2]: Leaving directory
68 `/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8/acore'
69 make[1]: *** [dep] Error 1
70 make[1]: Leaving directory
71 `/var/tmp/portage/alsa-driver-0.9.8/work/alsa-driver-0.9.8'
72 make: *** [include/sndversions.h] Error 2
73
74 !!! ERROR: media-sound/alsa-driver-0.9.8 failed.
75 !!! Function src_compile, Line 64, Exitcode 2
76 !!! Parallel Make Failed
77
78 =============================================
79
80 As is clear here, I do seem to have the file, but apparently the make is
81 not finding it where it resides:
82 # locate modversions.h
83 /usr/src/linux-2.6.1-gentoo-r1/include/config/modversions.h
84
85 FWIW:
86 # cat /usr/src/linux-2.6.1-gentoo-r1/include/config/modversions.h
87 #define CONFIG_MODVERSIONS 1
88
89 The following is the relevant portion of my kernel .config file. I was
90 being lazy when I built it and didn't look up the particular sound
91 hardware that I had and instead just built all likely devices as modules,
92 thinking that I'd only insmod the one that I needed. This detail may be
93 important because when I do an lsmod now (after following the steps in
94 the Gentoo Guide), I see what looks like ALL of the sound device modules
95 (that I built) loaded into the kernel. Perhaps not surprisingly, this
96 seems to be causing lots of problems in and of itself. So, my
97 kernel .config file (Sound portions):
98
99 =============================================
100
101 #
102 # Sound
103 #
104 CONFIG_SOUND=y
105
106 #
107 # Advanced Linux Sound Architecture
108 #
109 CONFIG_SND=m
110 CONFIG_SND_SEQUENCER=m
111 CONFIG_SND_SEQ_DUMMY=m
112 CONFIG_SND_OSSEMUL=y
113 CONFIG_SND_MIXER_OSS=m
114 CONFIG_SND_PCM_OSS=m
115 CONFIG_SND_SEQUENCER_OSS=y
116 CONFIG_SND_RTCTIMER=m
117 # CONFIG_SND_VERBOSE_PRINTK is not set
118 # CONFIG_SND_DEBUG is not set
119
120 #
121 # Generic devices
122 #
123 CONFIG_SND_DUMMY=m
124 CONFIG_SND_VIRMIDI=m
125 CONFIG_SND_MTPAV=m
126 CONFIG_SND_SERIAL_U16550=m
127 CONFIG_SND_MPU401=m
128
129 #
130 # PCI devices
131 #
132 CONFIG_SND_ALI5451=m
133 CONFIG_SND_AZT3328=m
134 CONFIG_SND_CS46XX=m
135 # CONFIG_SND_CS46XX_NEW_DSP is not set
136 CONFIG_SND_CS4281=m
137 CONFIG_SND_EMU10K1=m
138 CONFIG_SND_KORG1212=m
139 CONFIG_SND_NM256=m
140 CONFIG_SND_RME32=m
141 CONFIG_SND_RME96=m
142 CONFIG_SND_RME9652=m
143 CONFIG_SND_HDSP=m
144 CONFIG_SND_TRIDENT=m
145 CONFIG_SND_YMFPCI=m
146 CONFIG_SND_ALS4000=m
147 CONFIG_SND_CMIPCI=m
148 CONFIG_SND_ENS1370=m
149 CONFIG_SND_ENS1371=m
150 CONFIG_SND_ES1938=m
151 CONFIG_SND_ES1968=m
152 CONFIG_SND_MAESTRO3=m
153 CONFIG_SND_FM801=m
154 CONFIG_SND_ICE1712=m
155 CONFIG_SND_ICE1724=m
156 CONFIG_SND_INTEL8X0=m
157 CONFIG_SND_SONICVIBES=m
158 CONFIG_SND_VIA82XX=m
159 CONFIG_SND_VX222=m
160
161 #
162 # ALSA USB devices
163 #
164 CONFIG_SND_USB_AUDIO=m
165
166 #
167 # Open Sound System
168 #
169 CONFIG_SOUND_PRIME=m
170 CONFIG_SOUND_BT878=m
171 CONFIG_SOUND_CMPCI=m
172 # CONFIG_SOUND_CMPCI_FM is not set
173 # CONFIG_SOUND_CMPCI_MIDI is not set
174 # CONFIG_SOUND_CMPCI_JOYSTICK is not set
175 # CONFIG_SOUND_CMPCI_CM8738 is not set
176 CONFIG_SOUND_EMU10K1=m
177 # CONFIG_MIDI_EMU10K1 is not set
178 CONFIG_SOUND_FUSION=m
179 CONFIG_SOUND_CS4281=m
180 CONFIG_SOUND_ES1370=m
181 CONFIG_SOUND_ES1371=m
182 CONFIG_SOUND_ESSSOLO1=m
183 CONFIG_SOUND_MAESTRO=m
184 # CONFIG_SOUND_MAESTRO3 is not set
185 CONFIG_SOUND_ICH=m
186 CONFIG_SOUND_SONICVIBES=m
187 CONFIG_SOUND_TRIDENT=m
188 CONFIG_SOUND_MSNDCLAS=m
189 CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin"
190 CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin"
191 CONFIG_SOUND_MSNDPIN=m
192 CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin"
193 CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin"
194 CONFIG_SOUND_VIA82CXXX=m
195 # CONFIG_MIDI_VIA82CXXX is not set
196 CONFIG_SOUND_OSS=m
197 CONFIG_SOUND_TRACEINIT=y
198 # CONFIG_SOUND_DMAP is not set
199 # CONFIG_SOUND_AD1816 is not set
200 # CONFIG_SOUND_AD1889 is not set
201 CONFIG_SOUND_SGALAXY=m
202 CONFIG_SOUND_ADLIB=m
203 CONFIG_SOUND_ACI_MIXER=m
204 CONFIG_SOUND_CS4232=m
205 CONFIG_SOUND_SSCAPE=m
206 CONFIG_SOUND_GUS=m
207 CONFIG_SOUND_GUS16=y
208 CONFIG_SOUND_GUSMAX=y
209 CONFIG_SOUND_VMIDI=m
210 CONFIG_SOUND_TRIX=m
211 CONFIG_SOUND_MSS=m
212 CONFIG_SOUND_MPU401=m
213 CONFIG_SOUND_NM256=m
214 CONFIG_SOUND_MAD16=m
215 # CONFIG_MAD16_OLDCARD is not set
216 CONFIG_SOUND_PAS=m
217 CONFIG_SOUND_PSS=m
218 # CONFIG_PSS_MIXER is not set
219 CONFIG_SOUND_SB=m
220 CONFIG_SOUND_AWE32_SYNTH=m
221 CONFIG_SOUND_WAVEFRONT=m
222 CONFIG_SOUND_MAUI=m
223 CONFIG_SOUND_YM3812=m
224 CONFIG_SOUND_OPL3SA1=m
225 CONFIG_SOUND_OPL3SA2=m
226 CONFIG_SOUND_YMFPCI=m
227 # CONFIG_SOUND_YMFPCI_LEGACY is not set
228 CONFIG_SOUND_UART6850=m
229 CONFIG_SOUND_AEDSP16=m
230 # CONFIG_SC6600 is not set
231 # CONFIG_AEDSP16_MSS is not set
232 # CONFIG_AEDSP16_SBPRO is not set
233 # CONFIG_AEDSP16_MPU401 is not set
234 CONFIG_SOUND_TVMIXER=m
235 CONFIG_SOUND_KAHLUA=m
236 CONFIG_SOUND_ALI5455=m
237 CONFIG_SOUND_FORTE=m
238 CONFIG_SOUND_RME96XX=m
239 CONFIG_SOUND_AD1980=m
240
241 =============================================
242
243 So, continuing with this saga, the very first part of the instructions in
244 the Gentoo Guide (energe alsa-driver) fail for me. Maybe it's not
245 necessary?
246
247 But as I mentioned above, I now have other problems too.
248
249 What I did to get where I am now was simply follow the Gentoo Guide,
250 specifically:
251
252 "ALSA modules"
253 env ALSA_CARDS='intel8x0' emerge alsa-driver
254 (I also edited my /etc/make.conf and added ALSA_CARDS="intel8x0" in case
255 this would influence the loading of modules, but no help there)
256
257
258 "Configuration of ALSA"
259 # emerge alsa-utils (no apparent problems here)
260
261 modified the file "/etc/modules.d/alsa" as directed in the Guide (with
262 changes for my soundcard module of course)
263
264 # modules-update (no apparent problems here, though it took a long time)
265
266 Verified that /etc/devfsd.conf looked as described in the Guide.
267
268 "Starting ALSA"
269 # rc-update add alsasound boot
270
271 Although the next step in the Guide is to run
272 # /etc/init.d/alsasound start
273 I never did that manually. Instead, I rebooted (for various reasons that
274 I won't bother listing here) which apparently ran that script
275 automatically because of my previous rc-update add alsasound boot
276 command.
277
278 # /etc/init.d/alsasound status
279 status: started
280
281 I stopped following the Guide here because of this problem with about 50
282 sound modules being loaded into my kernel. Clearly, this is a problem
283 and I'm not sure how to solve it.
284
285 It looks to me like the script /etc/init.d/alsa automatically loads all
286 modules that it finds in the output of "modprobe -c | grep snd.* | grep
287 pci:" (see line 50-59 from that script quoted below) and that's quite
288 alot in my case because of all the modules that I built.
289
290 ================================================
291 50 ebegin "Loading ALSA drivers"
292 51
293 52 # I really dislike this and would like to tidy it up.
294 53 # Anyone running 2.4 + alsa-driver willing to help me?
295 54
296 55 DRIVERS="$(modprobe -c | grep snd.* | grep pci: | awk '{ print $3 }'
297 | uniq)"
298 56 if [ -z "${DRIVERS}" ] ; then
299 57 # Fallback on older modprobe syntax
300 58 DRIVERS="$(/sbin/modprobe -c | grep -E
301 "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{print $3}')"
302 59 fi
303
304 ================================================
305
306 So, my real issues I think are just these two:
307 1) How to configure ALSA while using 2.6.1 kernel (Gentoo Guide doesn't
308 seem to work in my case)
309 2) How to get only one PCI sound device module loaded via the
310 script /etc/init.d/alsasound even though I have many available to load.
311 Must I rebuild my kernel and just not build modules for any sound devices
312 except those that I have installed?
313
314 Maybe this last is a question for developers.
315
316 Thanks in advance for any suggestions.
317
318 -Kevin
319
320 --
321 gentoo-dev@g.o mailing list

Replies