Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 43111 - udev-018-r1 and udev-018-r2 alsa and misc problems
Summary: udev-018-r1 and udev-018-r2 alsa and misc problems
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-27 09:57 UTC by jack_mort
Modified: 2004-03-20 11:15 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jack_mort 2004-02-27 09:57:36 UTC
I upgraded udev from udev-018 to udev-018-r1 and then udev-018-r2, but it breaks my configuration :

- while running alsasound at boot, I get an error from alsactl : devices nodes seems not to be created... but when I run alsasound "by hand", everything is OK
- evdev and joydev modules don't bring any device node under /dev/input !

Any idea ?

Reproducible: Always
Steps to Reproduce:
1. emerge udev-018-r1 or udev-018-r2
2. configure your system to be a "pure" udev conifguration
3. see what happens during boot time

Actual Results:  
Alsa and other stuffs don't work properly

Expected Results:  
Alsa and other modules loading fine :-)

Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0,
2.6.3-gentoo-r2)
=================================================================
System uname: 2.6.3-gentoo-r2 i686 AMD Athlon(tm) XP 2700+
Gentoo Base System version 1.4.3.13p1
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387
-fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer
-ftracer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387
-fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer
-ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildsyspkg ccache sandbox"
GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/
http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.inode.at/
http://mirrors.sec.informatik.tu-darmstadt.de/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X alsa avi cdr crypt cups dedicated dga dvd encode esd fam foomaticdb
gif gnome gtk gtk2 imlib java jpeg lirc mad matroska mikmod mmx mpeg ncurses nls
nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline samba
sdl slang spell sse ssl tcpd tiff truetype unicode wmf x86 xml2 xv zlib"
Comment 1 Alexander Minges 2004-02-27 14:15:16 UTC
Same issue over here. Furthermore my nvidia device nodes (nvidia0, nvidia1, nvidiactl) aren't created any longer by udev.
Udev-018 works just fine, but -r1/-r2 broke my configuration. 
Comment 2 Tom Kiermaier 2004-02-27 14:29:06 UTC
Same problem with ALSA. Alsactl doesn't work in the alsasound script but if I put it in /etc/conf.d/local.start it works fine. 
Comment 3 jack_mort 2004-02-28 02:35:36 UTC
I found that by looking at /sbin/rc :

if [ -e /proc/sys/kernel/hotplug -a -x /sbin/hotplug ]
then
        einfo "  Using /sbin/hotplug for udev management..."

elif [ -e /proc/sys/kernel/hotplug ]
then
        einfo "  Setting /sbin/udev as hotplug agent..."
        echo "/sbin/udev" > /proc/sys/kernel/hotplug
else
        ewarn "  Kernel was not compiled with hotplug support!"

So I just made a "chmod a-x /sbin/hotplug" to use /sbin/udev as the hotplug agent. I rebooted and everything loaded fine : alsa restored mixer settings, and I got my device nodes in /dev/input/ !
Comment 4 Tom Kiermaier 2004-02-28 07:48:02 UTC
My mixer settings are now being restored but I get a large number of permission denied errors on boot when hotplug attempts to start. 
Comment 5 jack_mort 2004-02-28 08:19:22 UTC
Argh in fact, I forgot to mention few other things I modified...

-> I edited /etc/hotplug/hotplug.functions to add a line like this at the beginning :

Code:
HOTPLUG_EXE=`cat /proc/sys/kernel/hotplug`

-> Then, I edited all the *.rc scripts in /etc/hotplug and replaced all the "/sbin/hotplug" with ${HOTPLUG_EXE}.

This should fix the permission errors
Comment 6 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-29 08:15:08 UTC
> So I just made a "chmod a-x /sbin/hotplug" to use /sbin/udev as the hotplug
> agent.

I do not understand above?  Was your hotplug not installed executable?

Also, you know that if you change the kernel udev agent to /sbin/udev,
then all other hotplug events will go unnoticed?

Can you guys please revert whatever back to the state it was, and rather
try udev-019-r1?  If that do not work, do:

  # ln -snf ../../../sbin/udev /etc/hotplug.d/default/udev.hotplug

and see if this fixes it.

Greg, the issue here is that 018-r1 and later uses udevsend as udev agent,
and not udev as previous ones ....
Comment 7 jack_mort 2004-02-29 08:51:14 UTC
Well, no hotplug WAS installed executable and everyhting was fine sine udev-018-r1 because of changes you mentionned.

I tried to undo my changes and emerge 019-r1 but the problem is still the same : alsasound not loading properly on boot, and other device nodes not created.

My solution, which I do believe is very flexible is the following :

As you can see in /sbin/rc at line 231, you have this :

if [ -e /proc/sys/kernel/hotplug -a -x /sbin/hotplug ]
then
        einfo "  Using /sbin/hotplug for udev management..."                                                                                
elif [ -e /proc/sys/kernel/hotplug ]
then
        einfo "  Setting /sbin/udev as hotplug agent..."
        echo "/sbin/udev" > /proc/sys/kernel/hotplug

So, if you do a chmod a-x /sbin/hotplug, the system will use /sbin/udev as the hotplug agent and not /sbin/hotplug. Unfortunately, the /etc/hotplug/pci.rc (see line 57) don't care about the kernel setting in /proc/sys/kernel/hotplug. This is why Tom got permission errors. And this is why my second "fix" must be used. In fact, I think this should have been done like this because the pci.rc script overrides a kernel setting !

I don't know if this is very clear but if not, I'll try to re-explain ^^
Comment 8 Alexander Minges 2004-02-29 10:39:51 UTC
Well, 019-r1 doesn't work for me, either. What I forgot to mention above is that I'm running a pure udev system without saving the existing device nodes at shutdown/restoring the nodes at boot time.
Seems as if udev in its current state isn't really ready to handle that, but as I already said, 018 worked just fine even used as a pure udev system.
I'd guess that it has something to do with udevd, because it's used from 018-r1 on and exactly this version starts to break my setting.
Comment 9 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-29 10:50:07 UTC
Ok got it.

Did _anybody_ tried the ln fix I suggested?   As that is the core difference
between 018 and 018-r1 ...
Comment 10 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-29 10:55:36 UTC
Btw, it works fine here without device tarball.  What kernels are you guys
using?
Comment 11 jack_mort 2004-02-29 10:57:26 UTC
Yes, it works also fine without device tarball.

Currently running gentoo-dev-sources-2.6.3-r2 with headers-2.6.3-r1.
Comment 12 Alexander Minges 2004-02-29 11:08:26 UTC
Ok, shame on me I didn't try your fix ;)
Works like a charm, everything is running again.

Don't know if it still matters, but my kernel is 2.6.3-love6 and linux-headers are 2.6.3-r1.
Comment 13 Tom Kiermaier 2004-02-29 20:29:16 UTC
Making the symbolic link worked for me. Thanks
Comment 14 Martin Schlemmer (RETIRED) gentoo-dev 2004-03-04 09:48:48 UTC
I have an celeron 1ghz at work - even with the 'symlink' fix, it still do not
work properly with alsa.  I will try to look at it more, but basically the
OSS support does not load via /etc/init.d/alsasound script - I have to restart
the script after boot for the modules to load.
Comment 15 Dan A. Dickey 2004-03-05 07:32:04 UTC
I've been watching this bug for a bit, it's been happening to me too.
I wasn't sure why this was happening.
When I saw the new udev-021 appear after a sync, I eagerly emerged it.
After a reboot, sound still did not work.  KDE was a bit unhappy.
Looking closer at my boot output, I saw a message fly by about not
find the driver for my sound card.  Aha!
That was it - in my /etc/modules.d/alsa file, I *had*:
alias snd-card-0 snd-intel-8x0
(Or maybe it was snd-intel_8x0 - I didn't keep a backup).
However, changing this to:
alias snd-card-0 snd-intel8x0
fixed the problem.
My symlink for udev in the hotplug.d/default directory still
points to udevsend as well.
Sound works, KDE is happy.  I'm happy.
Perhaps some others should check their alsa file as well.
Comment 16 Tom Kiermaier 2004-03-17 12:16:15 UTC
This is still an issue with udev-021-r1.
I still have to make the symlink from /sbin/udev to /etc/hotplug.d/default/udev.hotplug in order for the mixer settings to be reapplied at boot. 
Comment 17 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-03-20 11:15:03 UTC
That symlink should not be needed, udevsend needs the symlink like the package
provides.

As this seems to work for everyone else, I'm closing the bug.

If you still have problems, please create a new bug.