SlackwareThis Forum is for the discussion of Slackware 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 just thought I would share something I found out about alsa & udev.
I, along with a few others I suspect, was wondering where /dev/dsp and friends had got to when running udev on kernel 2.6.*
I have a SBlive soundcard and compile ALSA separately from the kernel.
All was fine until udev. udev is still at a fairly beta stage on Slackware I think, and although some ALSA stuff appeared in /dev/snd, there was a fair bit missing.
I think most of it is really for OSS compatibility, but this is important to some people, at least in kde.
First thing I tried was running the alsa snddevices script from rc.local. It worked, but seemed untidy.
From the Gentoo forums I discovered a post by Decibels, who wrote an initscript to load the missing devices into /dev. I modified this to go straight into /etc/udev/scripts/make_extra_nodes.sh. Notice /dev/snd is created. Although this dir was being created, it was too late (presumably because the alsa module is loaded later than the kernel built-in stuff) I also changed the permissions to something fairly lax, so be aware of this if you use it:
if you are interested in using this, first back up the original.
Then read /dev and see what is already there, and remove from the above list
then paste into the file make_extra_nodes.sh.
You may also want to review the permissions in /etc/udev/permissions.d/udev.permissions.
I hope that was at least food for thought for someone - it took me 20mins to write!
Thanks for your comments
Andrew: yes this is a fair comment. Up until now I have tried to keep things modular, and Slackware is designed to use alsa as a module. Also due to various problems with sound in the past I have found compiling my own alsa to be the most successful.
Keefaz & Shade: I went to all this trouble precisely because I was not getting the correct entries in /dev. Yes, I have hotplug and udev, the most recent versions.
I did get some stuff like keefaz but with several omissions, including /dev/dsp and /dev/mixer. (actually I missed /dev/dsp and /dev/dsp > /dev/dsp0 in my first post)
I am now wondering whether something else is amiss for these entries to be missed by udev. Still, it is working now.
After reading through the Slack10 changelogs (which is what I should've done in the first place), I found that the major change is in the new sysvinit. According to the changelogs, sysvinit will check if:
a.) You are running a 2.6 kernel
b.) If your 2.6 kernel has hotplug and sysfs enabled
...if these 2 conditions are met, then udev will be used...if not, devfs will be used.
I removed these 2 options in my 2.6 kernel, recompiled, and now my Slack system automagically switched-back to devfs (which is what I prefer). I can now uninstall the hotplugging daemon (I prefer a monolithic kernel).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.