Gentoo Archives: gentoo-user

From: Holly Bostick <motub@××××××.nl>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] ALSA + CMI8738 card set up
Date: Sun, 12 Feb 2006 16:08:51
Message-Id: 43EF5C52.5010409@planet.nl
In Reply to: [gentoo-user] ALSA + CMI8738 card set up by Rohit Sharma
1 Rohit Sharma schreef:
2 > Hi list,
3 >
4 > This is about my struggle to make my Trust 514DX soundcard work with
5 > Linux.
6
7 Well, I don't have this specific card, but I do have a Typhoon Acustic
8 6, which is the same chipset:
9
10 00:0e.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
11
12 and it works fine, so I'll do my best to help.
13
14 > This is expected to be supported in Linux [alsa-project.org] and I
15 > have read other testimonials on the net.
16
17 Yes, this chipset is supported for a long time now (it's very common,
18 and by no means new).
19
20
21 > I admit that I have never had to manually set anything alsa/oss as
22 > all my previous soundcards worked very easily with default settings
23 > of the modules.
24
25 Well the most likely problem is that your settings are incorrect in the
26 kernel, rather than anywhere else. The kernel settings are the
27 foundation; if they're right, everything will "Just Work", if they're
28 wrong, nothing will work. That's just the long and the short of it,
29 pretty much. But we'll get to that shortly.
30
31 > Alsa is started as a service on my comp. I thought it may just be
32 > that a newer-than-in-kernel code may help. The error that I have,
33 > from say Mplayer, is as follows.
34 >
35 > ............. Checking audio filter chain for 48000Hz/2ch/s16le ->
36 > 48000Hz/2ch/s16le... AF_pre: 48000Hz/2ch/s16le [AO OSS] audio_setup:
37 > Can't open audio device /dev/dsp: No such file or directory
38 > alsa-init: 1 soundcard found, using: default ALSA lib
39 > pcm_dmix.c:819:(snd_pcm_dmix_open) unable to open slave alsa-init:
40 > playback open error: No such file or directory ............
41
42 Just for comparison:
43
44 mplayer Battlestar\ Galactica\ 01x02-xvid.avi
45 MPlayer 1.0pre7try2-3.4.5 (C) 2000-2005 MPlayer Team
46 CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6,
47 Stepping: 1)
48 Detected cache-line size is 64 bytes
49 CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
50 Gecompileerd voor x86 CPU met de volgende uitbreidingen: MMX MMX2 3DNow
51 3DNowEx SSE
52
53
54
55 85 audio & 196 video codecs
56 Bezig met het afspelen van Battlestar Galactica 01x02-xvid.avi
57 Cache fill: 16.80% (1409024 bytes) AVI bestandsformaat gedetecteerd!
58 VIDEO: [XVID] 640x352 16bpp 25.000 fps 1031.8 kbps (126.0 kbyte/s)
59 Clip info:
60 Software: Nandub v1.0rc2
61 ==========================================================================
62 Bezig met het openen van de audio decoder: [mp3lib] MPEG layer-2, layer-3
63 mpg123: Can't rewind stream by 291 bits!
64 AUDIO: 48000 Hz, 2 ch, s16le, 112.0 kbit/7.29% (ratio: 14000->192000)
65 Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
66 ==========================================================================
67 vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local
68 display)
69 It seems there is no Xvideo support for your video card available.
70 Run 'xvinfo' to verify its Xv support and read DOCS/HTML/en/video.html#xv!
71 See 'mplayer -vo help' for other (non-xv) video out drivers. Try -vo x11
72 ==========================================================================
73 Bezig met het openen van de video decoder: [ffmpeg] FFmpeg's libavcodec
74 codec family
75 Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
76 ==========================================================================
77 Checking audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
78 AF_pre: 48000Hz/2ch/s16le
79 ==>AO: [oss] 48000Hz 2ch s16le (2 bps)
80 Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
81 Start afspelen...
82 VDec: vo config aanvraag - 640 x 352 (csp voorkeur: Planar YV12)
83 VDec: using Planar YV12 as output csp (no 0)
84 Film-Aspect is 1.82:1 - voorscalering naar het correcte film-aspect.
85 VO: [x11] 640x352 => 640x352 Planar YV12
86 SwScaler: using unscaled Planar YV12 -> BGRA special converter
87 [mpeg4 @ 0x860ed30]frame skip 8t: 0.000 1/ 1 ??% ??% ??,?% 0 0 9%
88 [mpeg4 @ 0x860ed30]frame skip 8t: 0.004 2/ 2 ??% ??% ??,?% 1 0 99%
89 No bind found for key MOUSE_BTN0 0.9% 6 0 91%
90 A: 9.4 V: 9.4 A-V: -0.000 ct: 0.029 235/235 23% 15% 0.9% 6 0 89%
91 Bezig met afsluiten... (Stop)
92
93 Just so that you know that it does work when your sound modules are
94 properly configured.
95
96 Your problem is here:
97
98 > [AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file
99 > or directory
100
101 You have apparently not enabled OSS audio emulation in alsa (kernel)
102 driver, and this is what creates the /dev/dsp device (or rather the
103 sound sequencer device; /dev/dsp is a symlink to /dev/sound/dsp
104
105 la /dev/dsp
106 lrwxrwxrwx 1 root root 9 feb 9 01:27 /dev/dsp -> sound/dsp
107
108 which is the actual sequencer device).
109
110 >
111 > At the same moment, other config details and system's state are as
112 > below.
113 >
114 > rohit@Force ~ $ lsmod | grep snd snd_cmipci 20484 0
115 > snd_opl3_lib 6688 1 snd_cmipci snd_hwdep 6116 1
116 > snd_opl3_lib snd_mpu401_uart 4416 1 snd_cmipci snd_rawmidi 15620
117 > 1 snd_mpu401_uart
118
119 You seem to be missing a lot of modules; compare:
120
121 lsmod | grep snd
122 snd_seq_midi 6176 0
123 snd_opl3_synth 12292 0
124 snd_seq_instr 6656 1 snd_opl3_synth
125 snd_seq_midi_emul 5504 1 snd_opl3_synth
126 snd_ainstr_fm 2176 1 snd_opl3_synth
127 snd_pcm_oss 41760 0
128 snd_mixer_oss 14208 3 snd_pcm_oss
129 snd_seq_oss 26880 0
130 snd_seq_midi_event 5632 2 snd_seq_midi,snd_seq_oss
131 snd_seq 42256 8
132 snd_seq_midi,snd_opl3_synth,snd_seq_instr,snd_seq_midi_emul,snd_seq_oss,snd_seq_midi_event
133 snd_cmipci 27552 2
134 snd_pcm 69128 2 snd_pcm_oss,snd_cmipci
135 snd_page_alloc 7688 1 snd_pcm
136 snd_opl3_lib 8064 2 snd_opl3_synth,snd_cmipci
137 snd_timer 18564 3 snd_seq,snd_pcm,snd_opl3_lib
138 snd_hwdep 6560 1 snd_opl3_lib
139 snd_mpu401_uart 5504 1 snd_cmipci
140 snd_rawmidi 18336 2 snd_seq_midi,snd_mpu401_uart
141 snd_seq_device 6284 6
142 snd_seq_midi,snd_opl3_synth,snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi
143 snd 41316 13
144 snd_opl3_synth,snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_cmipci,snd_pcm,snd_opl3_lib,snd_timer,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device
145
146 You may have some of these compiled statically into the kernel, but in
147 my experience, alsasound doesn't like this. In my experience with both
148 the onboard VIA 8233 sound and this sound card which replaced it
149 (CM8738), everything that can be compiled as a module should be compiled
150 as a module; those things that cannot be compiled as a module are static
151 compiles which are autoloaded by the modules when they are loaded by the
152 alsasound daemon script.
153
154 >
155 > rohit@Force ~ $ uname -a Linux Force 2.6.8 #3 SMP Mon Jan 2 18:15:34
156 > GMT 2006 i686 AMD Athlon(TM) XP 2400+ AuthenticAMD GNU/Linux
157
158 My kernel is later than yours
159
160 uname -a
161 Linux mutable 2.6.15-gentoo #2 PREEMPT Sat Jan 7 02:43:44 CET 2006 i686
162 AMD Athlon(tm) XP 2200+ AuthenticAMD GNU/Linux
163
164 but this is not relevant, since this chipset is long supported by the
165 2.6 series kernels.
166
167 >
168 > rohit@Force /etc $ ls -la asound.state -rw-r--r-- 1 root root 7207
169 > Feb 12 11:07 asound.state
170
171 What would be more useful is the actual contents of this file, rather
172 than the fact of its existence, but that is also not relvant, since
173 these are the mixer settings, and we don't care about that atm (who
174 cares whether the mixer is muted or not when all the sound devices are
175 not present?).
176
177 >
178 > rohit@Force /etc $ ls -la /dev/dsp* ls: /dev/dsp*: No such file or
179 > directory
180
181 This is, again, a lack in your kernel config.
182
183 Here's mine:
184
185 grep SND /usr/src/linux/.config
186 CONFIG_SND=m
187 CONFIG_SND_AC97_CODEC=m
188 CONFIG_SND_AC97_BUS=m
189 CONFIG_SND_TIMER=m
190 CONFIG_SND_PCM=m
191 CONFIG_SND_HWDEP=m
192 CONFIG_SND_RAWMIDI=m
193 CONFIG_SND_SEQUENCER=m
194 # CONFIG_SND_SEQ_DUMMY is not set
195 CONFIG_SND_OSSEMUL=y
196 CONFIG_SND_MIXER_OSS=m
197 CONFIG_SND_PCM_OSS=m
198 CONFIG_SND_SEQUENCER_OSS=y
199 # CONFIG_SND_VERBOSE_PRINTK is not set
200 # CONFIG_SND_DEBUG is not set
201 CONFIG_SND_GENERIC_DRIVER=y
202 CONFIG_SND_MPU401_UART=m
203 CONFIG_SND_OPL3_LIB=m
204 # CONFIG_SND_DUMMY is not set
205 CONFIG_SND_VIRMIDI=m
206 # CONFIG_SND_MTPAV is not set
207 # CONFIG_SND_SERIAL_U16550 is not set
208 CONFIG_SND_MPU401=m
209 # CONFIG_SND_ALI5451 is not set
210 # CONFIG_SND_ATIIXP is not set
211 # CONFIG_SND_ATIIXP_MODEM is not set
212 # CONFIG_SND_AU8810 is not set
213 # CONFIG_SND_AU8820 is not set
214 # CONFIG_SND_AU8830 is not set
215 # CONFIG_SND_AZT3328 is not set
216 # CONFIG_SND_BT87X is not set
217 # CONFIG_SND_CS46XX is not set
218 # CONFIG_SND_CS4281 is not set
219 # CONFIG_SND_EMU10K1 is not set
220 # CONFIG_SND_EMU10K1X is not set
221 # CONFIG_SND_CA0106 is not set
222 # CONFIG_SND_KORG1212 is not set
223 # CONFIG_SND_MIXART is not set
224 # CONFIG_SND_NM256 is not set
225 # CONFIG_SND_RME32 is not set
226 # CONFIG_SND_RME96 is not set
227 # CONFIG_SND_RME9652 is not set
228 # CONFIG_SND_HDSP is not set
229 # CONFIG_SND_HDSPM is not set
230 # CONFIG_SND_TRIDENT is not set
231 # CONFIG_SND_YMFPCI is not set
232 # CONFIG_SND_AD1889 is not set
233 # CONFIG_SND_ALS4000 is not set
234 CONFIG_SND_CMIPCI=m
235 # CONFIG_SND_ENS1370 is not set
236 # CONFIG_SND_ENS1371 is not set
237 # CONFIG_SND_ES1938 is not set
238 # CONFIG_SND_ES1968 is not set
239 # CONFIG_SND_MAESTRO3 is not set
240 # CONFIG_SND_FM801 is not set
241 # CONFIG_SND_ICE1712 is not set
242 # CONFIG_SND_ICE1724 is not set
243 CONFIG_SND_INTEL8X0=m
244 # CONFIG_SND_INTEL8X0M is not set
245 # CONFIG_SND_SONICVIBES is not set
246 # CONFIG_SND_VIA82XX is not set
247 # CONFIG_SND_VIA82XX_MODEM is not set
248 # CONFIG_SND_VX222 is not set
249 # CONFIG_SND_HDA_INTEL is not set
250 # CONFIG_SND_USB_AUDIO is not set
251 # CONFIG_SND_USB_USX2Y is not set
252
253 Again, everything that can be a module, should be a module-- except for
254 basic sound support and OSS emulation. You do need OSS emulation, since
255 every program that produces sound does not necessarily use ALSA; as you see,
256 mPlayer is using OSS, which is in this case emulated by ALSA. That is
257 the meaning of "AO OSS" Many applications use OSS still, but since ALSA
258 now can emulate OSS, the old-fashioned programs use that emulation to
259 use ALSA. So you don't need to configure/install OSS directly in the
260 kernel, but you do need to enable OSS emulation in the ALSA kernel
261 config-- which you have apparently not done, or not done properly).
262
263 Now, I know the docs say that you don't have to modularize everything,
264 but in my experience with two sound cards, you actually do. alsasound
265 does not like statically-compiled drivers, except for the ones loaded by
266 the modules themselves (for example, SND_PCM_OSS -- a loadable module--
267 will itself load the statically compiled SND_SEQUENCER_OSS when it loads).
268
269 Secondarily, the docs say that you should put alsasound in the boot
270 runlevel, but 1) that doesn't make any sense, since you have no need
271 whatsoever for alsasound in the boot runlevel, and 2) many modules
272 aren't loaded until the default runlevel, so in my experience, alsasound
273 fails to initialize properly in the boot runlevel, since a great number
274 of its modules are not available at that time. Alsasound loads fine in
275 the default runlevel, and no modules need be set in modules.autoload.d.
276
277 However, some alsa packages do need to be installed, since the kernel
278 driver is only the driver, and not the libs, tools, utilities, or other
279 needed supplemental files:
280
281 eix alsa
282
283 * media-libs/alsa-lib
284 Available versions: 1.0.8 1.0.9 1.0.10 1.0.11_rc2 1.0.11_rc3
285 Installed: 1.0.11_rc3
286 Homepage: http://www.alsa-project.org/
287 Description: Advanced Linux Sound Architecture Library
288
289 * media-libs/alsa-oss
290 Available versions: 1.0.8-r1 1.0.9 1.0.10-r1 1.0.11_rc3
291 Installed: 1.0.11_rc3
292 Homepage: http://www.alsa-project.org/
293 Description: Advanced Linux Sound Architecture OSS
294 compatibility layer.
295
296 * media-plugins/alsa-jack
297 Available versions: 1.0.8 1.0.9 1.0.10_rc1 1.0.10
298 Installed: 1.0.10
299 Homepage: http://www.alsa-project.org/
300 Description: JACK pcm plugin. Allows native ALSA
301 applications to connect to the jackd. Works transparantly for both
302 capture and playback.
303
304 * media-plugins/gst-plugins-alsa
305 Available versions: 0.8.8 0.8.9 0.8.10 0.8.11 [M]0.10.0 [M]0.10.1
306 [M]0.10.2 [M]0.10.3
307 Installed: 0.8.11
308 Homepage:
309 http://gstreamer.freedesktop.org/modules/gst-plugins.html
310 Description: plugin for gstreamer
311
312 * media-plugins/xmms-alsa
313 Available versions: 1.2.10 1.2.10-r1 1.2.10-r2 1.2.10-r3
314 Installed: 1.2.10-r3
315 Homepage: http://www.xmms.org
316 Description: Xmms Plugin: xmms-alsa
317
318 * media-sound/alsa-driver
319 Available versions: [M]1.0.3 [M]1.0.10_rc3 [M]1.0.10 [M]1.0.10-r1
320 [M]1.0.10-r2 [M]1.0.11_rc2 [M]1.0.11_rc3
321 Installed: none
322 Homepage: http://www.alsa-project.org/
323 Description: Advanced Linux Sound Architecture kernel modules
324
325 * media-sound/alsa-firmware
326 Available versions: 1.0.8-r1 1.0.9 1.0.10 1.0.11_rc3
327 Installed: 1.0.11_rc3
328 Homepage: http://www.alsa-project.org/
329 Description: Advanced Linux Sound Architecture firmware
330
331 * media-sound/alsa-headers
332 Available versions: 1.0.8 1.0.9b 1.0.10_rc3 1.0.10 1.0.11_rc2
333 1.0.11_rc3
334 Installed: 1.0.11_rc3
335 Homepage: http://www.alsa-project.org/
336 Description: Header files for Advanced Linux Sound
337 Architecture kernel modules
338
339 * media-sound/alsa-patch-bay
340 Available versions: 1.0.0-r1 1.0.0-r2
341 Installed: none
342 Homepage: http://pkl.net/~node/alsa-patch-bay.html
343 Description: Graphical patch bay for the ALSA sequencer API.
344
345 * media-sound/alsa-tools
346 Available versions: 1.0.8-r1 1.0.10 1.0.11_rc2 1.0.11_rc3
347 Installed: 1.0.11_rc3
348 Homepage: http://www.alsa-project.org
349 Description: Advanced Linux Sound Architecture tools
350
351 * media-sound/alsa-utils
352 Available versions: 1.0.9a 1.0.10 1.0.11_rc2
353 Installed: 1.0.11_rc2
354 Homepage: http://www.alsa-project.org/
355 Description: Advanced Linux Sound Architecture Utils
356 (alsactl, alsamixer, etc.)
357
358 * media-sound/alsamixergui
359 Available versions: 0.9.0.1.2-r4
360 Installed: none
361 Homepage:
362 http://www.iua.upf.es/~mdeboer/projects/alsamixergui/
363 Description: AlsaMixerGui - a FLTK based amixer Frontend
364
365 * media-sound/alsaplayer
366 Available versions: 0.99.76 0.99.76-r1 0.99.76-r2
367 Installed: none
368 Homepage: http://www.alsaplayer.org/
369 Description: Media player primarily utilising ALSA
370
371 * media-sound/gnome-alsamixer
372 Available versions: 0.9.6
373 Installed: none
374 Homepage: http://www.paw.co.za/projects/gnome-alsamixer
375 Description: Gnome 2 based ALSA Mixer
376
377 * media-sound/bluetooth-alsa-cvs [2]
378 Available versions: 1.6
379 Installed: none
380 Homepage: http://bluetooth-alsa.sourceforge.net
381 Description: ALSA bluetooth headset driver [snd-bt-sco.ko].
382
383 You mostly need alsa-lib, alsa-oss, and of course alsa-utils. Alsa-tools
384 and alsa-headers are recommended. The rest are at your discretion.
385
386 Anyway, once you have the OSS compatibility layer set up in the kernel,
387 and alsa-oss installed (which probably will install at least alsa-libs
388 and possibly alsa-headers as well), you should hopefully see the
389 /dev/dsp device being created after a reboot.
390
391 If not, come on back and tell us where things failed, and we'll try again.
392
393 Hope this helps,
394 Holly
395 --
396 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] ALSA + CMI8738 card set up Rohit Sharma <bhavhit@××××××××××.uk>
Re: [gentoo-user] ALSA + CMI8738 card set up Rohit Sharma <bhavhit@××××××××××.uk>