SlackwareThis Forum is for the discussion of Slackware Linux.
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.
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).