Rohit Sharma schreef:
> Hi list,
> 
> This is about my struggle to make my Trust 514DX soundcard work with
>  Linux.

Well, I don't have this specific card, but I do have a Typhoon Acustic
6, which is the same chipset:

00:0e.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)

and it works fine, so I'll do my best to help.

> This is expected to be supported in Linux [alsa-project.org] and I 
> have read other testimonials on the net.

Yes, this chipset is supported for a long time now (it's very common,
and by no means new).


> I admit that I have never had to manually set anything alsa/oss as 
> all my previous soundcards worked very easily with default settings 
> of the modules.

Well the most likely problem is that your settings are incorrect in the
kernel, rather than anywhere else. The kernel settings are the
foundation; if they're right, everything will "Just Work", if they're
wrong, nothing will work. That's just the long and the short of it,
pretty much. But we'll get to that shortly.

> Alsa is started as a service on my comp. I thought it may just be 
> that a newer-than-in-kernel code may help. The error that I have, 
> from say Mplayer, is as follows.
> 
> ............. Checking audio filter chain for 48000Hz/2ch/s16le -> 
> 48000Hz/2ch/s16le... AF_pre: 48000Hz/2ch/s16le [AO OSS] audio_setup: 
> Can't open audio device /dev/dsp: No such file or directory 
> alsa-init: 1 soundcard found, using: default ALSA lib 
> pcm_dmix.c:819:(snd_pcm_dmix_open) unable to open slave alsa-init: 
> playback open error: No such file or directory ............

Just for comparison:

 mplayer Battlestar\ Galactica\ 01x02-xvid.avi
MPlayer 1.0pre7try2-3.4.5 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6,
Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Gecompileerd voor x86 CPU met de volgende uitbreidingen: MMX MMX2 3DNow
3DNowEx SSE



85 audio & 196 video codecs
Bezig met het afspelen van Battlestar Galactica 01x02-xvid.avi
Cache fill: 16.80% (1409024 bytes)    AVI bestandsformaat gedetecteerd!
VIDEO:  [XVID]  640x352  16bpp  25.000 fps  1031.8 kbps (126.0 kbyte/s)
Clip info:
 Software: Nandub v1.0rc2
==========================================================================
Bezig met het openen van de audio decoder: [mp3lib] MPEG layer-2, layer-3
mpg123: Can't rewind stream by 291 bits!
AUDIO: 48000 Hz, 2 ch, s16le, 112.0 kbit/7.29% (ratio: 14000->192000)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local
display)
It seems there is no Xvideo support for your video card available.
Run 'xvinfo' to verify its Xv support and read DOCS/HTML/en/video.html#xv!
See 'mplayer -vo help' for other (non-xv) video out drivers. Try -vo x11
==========================================================================
Bezig met het openen van de video decoder: [ffmpeg] FFmpeg's libavcodec
codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
AF_pre: 48000Hz/2ch/s16le
==>AO: [oss] 48000Hz 2ch s16le (2 bps)
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
Start afspelen...
VDec: vo config aanvraag - 640 x 352 (csp voorkeur: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Film-Aspect is 1.82:1 - voorscalering naar het correcte film-aspect.
VO: [x11] 640x352 => 640x352 Planar YV12
SwScaler: using unscaled Planar YV12 -> BGRA special converter
[mpeg4 @ 0x860ed30]frame skip 8t:  0.000   1/  1 ??% ??% ??,?% 0 0 9%
[mpeg4 @ 0x860ed30]frame skip 8t:  0.004   2/  2 ??% ??% ??,?% 1 0 99%
No bind found for key MOUSE_BTN0                          0.9% 6 0 91%
A:   9.4 V:   9.4 A-V: -0.000 ct:  0.029 235/235 23% 15%  0.9% 6 0 89%
Bezig met afsluiten... (Stop)

Just so that you know that it does work when your sound modules are
properly configured.

Your problem is here:

> [AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file 
> or directory

You have apparently not enabled OSS audio emulation in alsa (kernel)
driver, and this is what creates the /dev/dsp device (or rather the
sound sequencer device; /dev/dsp is a symlink to /dev/sound/dsp

la /dev/dsp
lrwxrwxrwx 1 root root 9 feb  9 01:27 /dev/dsp -> sound/dsp

which is the actual sequencer device).

> 
> At the same moment, other config details and system's state are as 
> below.
> 
> [EMAIL PROTECTED] ~ $ lsmod | grep snd snd_cmipci         20484 0 
> snd_opl3_lib       6688  1 snd_cmipci snd_hwdep          6116  1 
> snd_opl3_lib snd_mpu401_uart    4416  1 snd_cmipci snd_rawmidi 15620
>  1 snd_mpu401_uart

You seem to be missing a lot of modules; compare:

lsmod | grep snd
snd_seq_midi            6176  0
snd_opl3_synth         12292  0
snd_seq_instr           6656  1 snd_opl3_synth
snd_seq_midi_emul       5504  1 snd_opl3_synth
snd_ainstr_fm           2176  1 snd_opl3_synth
snd_pcm_oss            41760  0
snd_mixer_oss          14208  3 snd_pcm_oss
snd_seq_oss            26880  0
snd_seq_midi_event      5632  2 snd_seq_midi,snd_seq_oss
snd_seq                42256  8
snd_seq_midi,snd_opl3_synth,snd_seq_instr,snd_seq_midi_emul,snd_seq_oss,snd_seq_midi_event
snd_cmipci             27552  2
snd_pcm                69128  2 snd_pcm_oss,snd_cmipci
snd_page_alloc          7688  1 snd_pcm
snd_opl3_lib            8064  2 snd_opl3_synth,snd_cmipci
snd_timer              18564  3 snd_seq,snd_pcm,snd_opl3_lib
snd_hwdep               6560  1 snd_opl3_lib
snd_mpu401_uart         5504  1 snd_cmipci
snd_rawmidi            18336  2 snd_seq_midi,snd_mpu401_uart
snd_seq_device          6284  6
snd_seq_midi,snd_opl3_synth,snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi
snd                    41316  13
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

You may have some of these compiled statically into the kernel, but in
my experience, alsasound doesn't like this. In my experience with both
the onboard VIA 8233 sound and this sound card which replaced it
(CM8738), everything that can be compiled as a module should be compiled
as a module; those things that cannot be compiled as a module are static
compiles which are autoloaded by the modules when they are loaded by the
alsasound daemon script.

> 
> [EMAIL PROTECTED] ~ $ uname -a Linux Force 2.6.8 #3 SMP Mon Jan 2 18:15:34 
> GMT 2006 i686 AMD Athlon(TM) XP 2400+ AuthenticAMD GNU/Linux

My kernel is later than yours

uname -a
Linux mutable 2.6.15-gentoo #2 PREEMPT Sat Jan 7 02:43:44 CET 2006 i686
AMD Athlon(tm) XP 2200+ AuthenticAMD GNU/Linux

but this is not relevant, since this chipset is long supported by the
2.6 series kernels.

> 
> [EMAIL PROTECTED] /etc $ ls -la asound.state -rw-r--r--  1 root root 7207 
> Feb 12 11:07 asound.state

What would be more useful is the actual contents of this file, rather
than the fact of its existence, but that is also not relvant, since
these are the mixer settings, and we don't care about that atm (who
cares whether the mixer is muted or not when all the sound devices are
not present?).

> 
> [EMAIL PROTECTED] /etc $ ls -la /dev/dsp* ls: /dev/dsp*: No such file or 
> directory

This is, again, a lack in your kernel config.

Here's mine:

 grep SND /usr/src/linux/.config
CONFIG_SND=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_AC97_BUS=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_GENERIC_DRIVER=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
# CONFIG_SND_DUMMY is not set
CONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
CONFIG_SND_MPU401=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_CMIPCI=m
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

Again, everything that can be a module, should be a module-- except for
basic sound support and OSS emulation. You do need OSS emulation, since
every program that produces sound does not necessarily use ALSA; as you see,
mPlayer is using OSS, which is in this case emulated by ALSA. That is
the meaning of "AO OSS" Many applications use OSS still, but since ALSA
now can emulate OSS, the old-fashioned programs use that emulation to
use ALSA. So you don't need to configure/install OSS directly in the
kernel, but you do need to enable OSS emulation in the ALSA kernel
config-- which you have apparently not done, or not done properly).

Now, I know the docs say that you don't have to modularize everything,
but in my experience with two sound cards, you actually do. alsasound
does not like statically-compiled drivers, except for the ones loaded by
the modules themselves (for example, SND_PCM_OSS -- a loadable module--
will itself load the statically compiled SND_SEQUENCER_OSS when it loads).

Secondarily, the docs say that you should put alsasound in the boot
runlevel, but 1) that doesn't make any sense, since you have no need
whatsoever for alsasound in the boot runlevel, and 2) many modules
aren't loaded until the default runlevel, so in my experience, alsasound
fails to initialize properly in the boot runlevel, since a great number
of its modules are not available at that time. Alsasound loads fine in
the default runlevel, and no modules need be set in modules.autoload.d.

However, some alsa packages do need to be installed, since the kernel
driver is only the driver, and not the libs, tools, utilities, or other
needed supplemental files:

 eix alsa

* media-libs/alsa-lib
     Available versions:  1.0.8 1.0.9 1.0.10 1.0.11_rc2 1.0.11_rc3
     Installed:           1.0.11_rc3
     Homepage:            http://www.alsa-project.org/
     Description:         Advanced Linux Sound Architecture Library

* media-libs/alsa-oss
     Available versions:  1.0.8-r1 1.0.9 1.0.10-r1 1.0.11_rc3
     Installed:           1.0.11_rc3
     Homepage:            http://www.alsa-project.org/
     Description:         Advanced Linux Sound Architecture OSS
compatibility layer.

* media-plugins/alsa-jack
     Available versions:  1.0.8 1.0.9 1.0.10_rc1 1.0.10
     Installed:           1.0.10
     Homepage:            http://www.alsa-project.org/
     Description:         JACK pcm plugin. Allows native ALSA
applications to connect to the jackd. Works transparantly for both
capture and playback.

* media-plugins/gst-plugins-alsa
     Available versions:  0.8.8 0.8.9 0.8.10 0.8.11 [M]0.10.0 [M]0.10.1
[M]0.10.2 [M]0.10.3
     Installed:           0.8.11
     Homepage:
http://gstreamer.freedesktop.org/modules/gst-plugins.html
     Description:         plugin for gstreamer

* media-plugins/xmms-alsa
     Available versions:  1.2.10 1.2.10-r1 1.2.10-r2 1.2.10-r3
     Installed:           1.2.10-r3
     Homepage:            http://www.xmms.org
     Description:         Xmms Plugin: xmms-alsa

* media-sound/alsa-driver
     Available versions:  [M]1.0.3 [M]1.0.10_rc3 [M]1.0.10 [M]1.0.10-r1
[M]1.0.10-r2 [M]1.0.11_rc2 [M]1.0.11_rc3
     Installed:           none
     Homepage:            http://www.alsa-project.org/
     Description:         Advanced Linux Sound Architecture kernel modules

* media-sound/alsa-firmware
     Available versions:  1.0.8-r1 1.0.9 1.0.10 1.0.11_rc3
     Installed:           1.0.11_rc3
     Homepage:            http://www.alsa-project.org/
     Description:         Advanced Linux Sound Architecture firmware

* media-sound/alsa-headers
     Available versions:  1.0.8 1.0.9b 1.0.10_rc3 1.0.10 1.0.11_rc2
1.0.11_rc3
     Installed:           1.0.11_rc3
     Homepage:            http://www.alsa-project.org/
     Description:         Header files for Advanced Linux Sound
Architecture kernel modules

* media-sound/alsa-patch-bay
     Available versions:  1.0.0-r1 1.0.0-r2
     Installed:           none
     Homepage:            http://pkl.net/~node/alsa-patch-bay.html
     Description:         Graphical patch bay for the ALSA sequencer API.

* media-sound/alsa-tools
     Available versions:  1.0.8-r1 1.0.10 1.0.11_rc2 1.0.11_rc3
     Installed:           1.0.11_rc3
     Homepage:            http://www.alsa-project.org
     Description:         Advanced Linux Sound Architecture tools

* media-sound/alsa-utils
     Available versions:  1.0.9a 1.0.10 1.0.11_rc2
     Installed:           1.0.11_rc2
     Homepage:            http://www.alsa-project.org/
     Description:         Advanced Linux Sound Architecture Utils
(alsactl, alsamixer, etc.)

* media-sound/alsamixergui
     Available versions:  0.9.0.1.2-r4
     Installed:           none
     Homepage:
http://www.iua.upf.es/~mdeboer/projects/alsamixergui/
     Description:         AlsaMixerGui - a FLTK based amixer Frontend

* media-sound/alsaplayer
     Available versions:  0.99.76 0.99.76-r1 0.99.76-r2
     Installed:           none
     Homepage:            http://www.alsaplayer.org/
     Description:         Media player primarily utilising ALSA

* media-sound/gnome-alsamixer
     Available versions:  0.9.6
     Installed:           none
     Homepage:            http://www.paw.co.za/projects/gnome-alsamixer
     Description:         Gnome 2 based ALSA Mixer

* media-sound/bluetooth-alsa-cvs [2]
     Available versions:  1.6
     Installed:           none
     Homepage:            http://bluetooth-alsa.sourceforge.net
     Description:         ALSA bluetooth headset driver [snd-bt-sco.ko].

You mostly need alsa-lib, alsa-oss, and of course alsa-utils. Alsa-tools
and alsa-headers are recommended. The rest are at your discretion.

Anyway, once you have the OSS compatibility layer set up in the kernel,
and alsa-oss installed (which probably will install at least alsa-libs
and possibly alsa-headers as well), you should hopefully see the
/dev/dsp device being created after a reboot.

If not, come on back and tell us where things failed, and we'll try again.

Hope this helps,
Holly
-- 
gentoo-user@gentoo.org mailing list

Reply via email to