Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am running Debian (sarge) and just built a new kernel (2.6.7). When I boot with the new kernel and start KDE I get the message:
Quote:
Error while initializing the sound server:
device /dev/dsp can't be opened (No such device)
Quote:
$ ls -l /dev/dsp
crw-rw---- 1 root audio 14, 3 Mar 23 15:49 /dev/dsp
When I do 'groups', I see that I am in the audio group, so I should be able to read/write the device. I tried this:
Quote:
$ cat /dev/random > /dev/dsp
bash: /dev/dsp: No such device
The sound worked with my previous kernel (2.4.25).
I figure I must have goofed something up when configuring the kernel (didn't include a module or something). I took the defaults for just about everything; I added two or three things, but that's about it.
Well if you only added a couple of things then most likely you did not include support for your card and possibly the sound system itself do you have some place where you can post the config file so we can have a look at it. BTW what is the card and are you trying to use OSS or ALSA. You can also check with lsmod to see if the modules are loaded for the card and you may want to go into the Control Center and under the Sound & Multimedia -> Sound System -> Hardware tab and make sure that you have the actual sound system selected for what you are using sometimes the autodetection does not work.
You have no sound support compiled just the basic module for sound you need to either select your card from the list in the OSS section or if you want to use the newer ALSA which is supposed to be the default now then you should select them making sure to select the OSS compatibility layer support for the older apps which require it.
Code:
#
# Sound
#
CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
# CONFIG_SND is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
Okay, I've rebuilt the kernel, but I still have the same problem.
Code:
# Sound
#
CONFIG_SOUND=y
# Advanced Linux Sound Architecture
#
CONFIG_SND=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_RTCTIMER=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
...
CONFIG_SND_ES1938=m
Ok so have you installed the ALSA needed from the archives the packages are alsa-utils and alsa-base then once done if it does not automatically configure it for you then alsaconf to have the auto-detection run. Using lsmod you should a whole bunch of modules loaded for the snd_??? if it is working correctly.
Make sure that you run alsamixer at least once as your normal user to check on the master and PCM volumes they should be unmuted and about 75% volume. Then when you exit the default levels will be set for each and will be used every time you boot.
Originally posted by Electro The changes that you did in alsamixer will not be set after you boot unless you run "alsactl store" as su or root.
Debian runs that automatically when shutting down a working alsa daemon at least I have never had to use it on any of my machines I only see the "ALSA saving mixer settings" in the shutdown messages.
In some Linux distributions, they may not have the script in /etc/init.d or whatever init directory they are stored in. It does not hurt anything by running "alsactl store".
Okay, I installed alsa-utils and alsa-base. I ran alsaconf, which seems to find my soundcard, but complains about not being able to not being able to restore the ALSA mixer settings and suggests running 'alsactl restore'. When I run that I get:
Code:
# alsactl restore
alsactl: load_state:1134: No soundcards found...
If I run alsamixer, I get something similar:
Code:
# alsamixer
alsamixer: function snd_ctl_open failed for default: No such device
I tried Googling this, but didn't find any solutions.
Gives us more information about your sound device. What does modules.conf, conf.module, rc.modules, etc because I think you did not add any lines to load the module. You may want to compile the kernel for all sound cards as modules instead of one sound card. Make sure soundcore is loaded or compiled in the kernel.
### This file is automatically generated by update-modules"
#
# Please do not edit this file directly. If you want to change or add
# anything please take a look at the files in /etc/modutils and read
# the manpage for update-modules.
#
### update-modules: start processing /etc/modutils/0keep
# DO NOT MODIFY THIS FILE!
# This file is not marked as conffile to make sure if you upgrade modutils
# it will be restored in case some modifications have been made.
#
# The keep command is necessary to prevent insmod and friends from ignoring
# the builtin defaults of a path-statement is encountered. Until all other
# packages use the new `add path'-statement this keep-statement is essential
# to keep your system working
keep
### update-modules: end processing /etc/modutils/0keep
### update-modules: start processing /etc/modutils/actions
# Special actions that are needed for some modules
# The BTTV module does not load the tuner module automatically,
# so do that in here
post-install bttv insmod tuner
post-remove bttv rmmod tuner
### update-modules: end processing /etc/modutils/actions
### update-modules: start processing /etc/modutils/aliases
# Aliases to tell insmod/modprobe which modules to use
# Uncomment the network protocols you don't want loaded:
# alias net-pf-1 off # Unix
# alias net-pf-2 off # IPv4
# alias net-pf-3 off # Amateur Radio AX.25
# alias net-pf-4 off # IPX
# alias net-pf-5 off # DDP / appletalk
# alias net-pf-6 off # Amateur Radio NET/ROM
# alias net-pf-9 off # X.25
# alias net-pf-10 off # IPv6
# alias net-pf-11 off # ROSE / Amateur Radio X.25 PLP
# alias net-pf-19 off # Acorn Econet
alias char-major-10-175 agpgart
alias char-major-10-200 tun
alias char-major-81 bttv
alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
# Crypto modules (see http://www.kerneli.org/)
alias loop-xfer-gen-0 loop_gen
alias loop-xfer-3 loop_fish2
alias loop-xfer-gen-10 loop_gen
alias cipher-2 des
alias cipher-3 fish2
alias cipher-4 blowfish
alias cipher-6 idea
alias cipher-7 serp6f
alias cipher-8 mars6
alias cipher-11 rc62
alias cipher-15 dfc2
alias cipher-16 rijndael
alias cipher-17 rc5
### update-modules: end processing /etc/modutils/aliases
### update-modules: start processing /etc/modutils/alsa-base
above snd-pcm snd-pcm-oss
### update-modules: end processing /etc/modutils/alsa-base
### update-modules: start processing /etc/modutils/apm
alias char-major-10-134 apm
alias /dev/apm_bios /dev/misc/apm_bios
alias /dev/misc/apm_bios apm
### update-modules: end processing /etc/modutils/apm
### update-modules: start processing /etc/modutils/diald
alias tap0 ethertap
options tap0 -o tap0 unit=0
alias tap1 ethertap
options tap1 -o tap1 unit=1
### update-modules: end processing /etc/modutils/diald
### update-modules: start processing /etc/modutils/paths
# This file contains a list of paths that modprobe should scan,
# beside the ones that are compiled into the modutils tools
# themselves.
### update-modules: end processing /etc/modutils/paths
### update-modules: start processing /etc/modutils/setserial
#
# This is what I wanted to do, but logger is in /usr/bin, which isn't loaded
# when the module is first loaded into the kernel at boot time!
#
#post-install serial /etc/init.d/setserial start | logger -p daemon.info -t "set
serial-module reload"
#pre-remove serial /etc/init.d/setserial stop | logger -p daemon.info -t "setser
ial-module uload"
#
alias /dev/tts serial
alias /dev/tts/0 serial
alias /dev/tts/1 serial
alias /dev/tts/2 serial
alias /dev/tts/3 serial
post-install serial /etc/init.d/setserial modload > /dev/null 2> /dev/null
pre-remove serial /etc/init.d/setserial modsave > /dev/null 2> /dev/null
### update-modules: end processing /etc/modutils/setserial
### update-modules: start processing /etc/modutils/arch/i386
alias parport_lowlevel parport_pc
alias char-major-10-144 nvram
alias binfmt-0064 binfmt_aout
alias char-major-10-135 rtc
### update-modules: end processing /etc/modutils/arch/i386
It is not loading the module for the sound card for some reason use modprobe SND-ES1938 to load the module for the card and any related modules needed. You may also want to check in the /etc/modprobe.d/old_etc_modprobe.conf file to make sure that you have the alias for the card correctly in there that seems to be where the settings got moved too.
Code:
[HappyTux:/home/stephen]# grep -r -i snd-via /etc/
/etc/modprobe.d/old_etc_modprobe.conf:alias snd-card-0 snd-via82xx
/etc/modprobe.d/old_etc_modprobe.conf:alias sound-slot-0 snd-via82xx
[HappyTux:/home/stephen]# cat /etc/modprobe.d/old_etc_modprobe.conf
# Place your local directives here.
# This line loads the part of the modprobe configuration managed with
# update-modules(8) and built from the contents of /etc/modprobe.d/.
alias char-major-195 nvidia
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.2 ---
alias snd-card-0 snd-via82xx
alias sound-slot-0 snd-via82xx
# --- END: Generated by ALSACONF, do not edit. ---
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.