Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 321677 - >=sys-fs/udev-154: udevd-work complains that kernel provided name 'uinput' and name 'input/uinput' disagree.
Summary: >=sys-fs/udev-154: udevd-work complains that kernel provided name 'uinput' an...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
: 361609 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-05-27 11:55 UTC by Juergen Rose
Modified: 2011-05-14 14:04 UTC (History)
3 users (show)

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


Attachments
/usr/src/linux-2.6.38/.config (config-2.6.38,90.21 KB, text/plain)
2011-03-22 15:38 UTC, Juergen Rose
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2010-05-27 11:55:26 UTC
I get the boot message:

Loading module uinput ...
udevd-work[1598]: kernel provided name 'uinput' and NAME 'input/uinput' disagree, please use SYMLINK+= or change the kernel to provide the proper name

The modul uinput is loaded and I can't find any uinput entry under /etc/udev:
root@moose:/root(50)# lsmod | grep uinput
uinput                  7035  0 
root@moose:/root(51)# find /etc/udev/ -exec grep uinput {} \; -print



Reproducible: Always




root@moose:/root(52)# emerge --info
Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11.1-r0, 2.6.34-gentoo x86_64)
=================================================================
System uname: Linux-2.6.34-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9650_@_3.00GHz-with-gentoo-2.0.1
Timestamp of tree: Thu, 27 May 2010 02:00:01 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.7b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/x11 /var/lib/layman/n4g /var/lib/layman/java-overlay /var/lib/layman/zugaina /var/lib/layman/sunrise /var/lib/layman/arcon /usr/local/portage /var/lib/cpan"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit X Xaw3d a52 aac abiword acl acpi afs alsa amd64 ao apache2 applet archive arpack asf aspell assistant audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi eds elf emacs emboss empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fts3 fuse galago garmin gd gdal gdbm gedit geoip geolocation geos gif gimp ginac git glade glib glitz gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea kqemu kvm ladspa lame lapack latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo mad mail maildir mailwrapper mapnik math matroska mikmod mkl mmx mmxext mng modules mono moonlight motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python python-bindings qemu qhull qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sms sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 virtualbox vorbis wav webdav webdav-serf webkit wifi wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                evdev               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2010-05-27 12:38:41 UTC
There's also a rules dir under /lib/udev/rules.d/
Please locate the file that tries to set uinput and then determine to which package the file belongs with "qfile" (from app-portage/gentoolkit package).
Comment 2 Rafał Mużyło 2010-05-27 12:42:37 UTC
Those are in /lib/udev/rules.d/30-kernel-compat.rules
and seem to be Gentoo specific (see udev tarball).
Comment 3 Juergen Rose 2010-05-27 15:45:06 UTC
> There's also a rules dir under /lib/udev/rules.d/

Ah, thanks. I found two files, which seems to belong to udev:

root@moose:/root(10)# find /lib/udev -exec grep uinput {} \; -print
KERNEL=="ts[0-9]*|uinput",      MODE="0640"
/lib/udev/rules.d/50-udev-default.rules
KERNEL=="ts[0-9]*|uinput",      NAME="input/%k"
/lib/udev/rules.d/30-kernel-compat.rules
root@moose:/root(11)# qfile -v 30-kernel-compat.rules 50-udev-default.rules
sys-fs/udev-154 (/lib64/udev/rules.d/50-udev-default.rules)
sys-fs/udev-154 (/lib64/udev/rules.d/30-kernel-compat.rules)
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2010-05-27 16:56:30 UTC
Like Rafał said definitely the fault of 30-kernel-compat.rules
Comment 5 Juergen Rose 2010-05-28 14:23:36 UTC
I was guessing, what I could do and changed in /lib/udev/rules.d/30-kernel-compat.rules the line:

KERNEL=="ts[0-9]*|uinput",	NAME="input/%k"

into

KERNEL=="ts[0-9]*|uinput",	SYMLINK+="input/%k"

After that the kernel does not more complain. But does it make sense, what I did?
Comment 6 Juergen Rose 2010-06-22 15:43:22 UTC
After upgrading udev to version 157 my change to /lib/udev/rules.d/30-kernel-compat.rules disappeared.

Would it not be better to make the changes to 
/etc/udev/rules.d/60-thinkfinger.rules?

It has now the contents:
# SGS Thomson Microelectronics Fingerprint Reader
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint"

# the also-needed uinput device
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"


I tried to replace the last line by:
KERNEL=="uinput",      SYMLINK+="input/%k",  MODE="0660", GROUP="fingerprint"

But the error:
udevd-work[1555]: kernel provided name 'uinput' and NAME 'input/uinput'
disagree, please use SYMLINK+= ...
did not vanish. I still get the additional error:

udevd-work[1555]: device node /dev/input/uinput already exist,  link to /dev/input/uinput' will not overwrite it.

So I will again modify lib/udev/rules.d/30-kernel-compat.rules.
 
Comment 7 Matthew Schultz 2010-11-17 05:33:09 UTC
I'm getting the same error on udev-164.  Can udev be patched to fix this rule with uinput until upstream gets around to fixing it?  I'd like to note that I have uinput compiled into the kernel and not as a module.
Comment 8 Matthew Schultz 2010-11-17 05:42:05 UTC
Modifying /lib64/udev/rules.d/30-kernel-compat.rules also works for me as described above.
Comment 9 Matthias Schwarzott gentoo-dev 2011-03-21 14:19:53 UTC
If you still have this bug. It is just udev complaining about the kernel not setting the path correctly itself. After an update to a recent kernel, udev should stop complaining.

If there is a real need to use udev with older kernels and get rid of the warning we could patch it away.
Comment 10 Juergen Rose 2011-03-22 15:36:57 UTC
I get the message:

udevd-work[1598]: kernel provided name 'uinput' and NAME 'input/uinput'
disagree, please use SYMLINK+= or change the kernel to provide the proper name

also with the newest kernel:

root@lynx:/root(3)# uname -a
Linux lynx 2.6.38-gentoo #2 SMP Thu Mar 17 11:04:17 CET 2011 x86_64 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

if I do not patch /lib/udev/rules.d/30-kernel-compat.rules. So I have to patch this file after each udev-update. Is there something wrong with my kernel config?
Comment 11 Juergen Rose 2011-03-22 15:38:40 UTC
Created attachment 266877 [details]
/usr/src/linux-2.6.38/.config
Comment 12 Rafał Mużyło 2011-04-01 14:27:52 UTC
*** Bug 361609 has been marked as a duplicate of this bug. ***
Comment 13 Sipingal Liu 2011-04-01 14:35:03 UTC
still exists, sys-fs/udev-167 and gentoo-sources-2.6.38-r1. Please merge the
fix. Thank you very much.
Comment 14 Matthias Schwarzott gentoo-dev 2011-04-03 19:59:55 UTC
Ok, I did some searching, and as it seems udev upstream/kernel has dropped this "input/uinput" name and just changed to /dev/uinput.
So we should just drop the rename rule for uinput.
For compatibility we can make /dev/input/uinput a symlink.
Comment 15 avx 2011-05-06 14:56:29 UTC
Still not fixed: gentoo-sources-2.6.38-r4, udev-168-r1, uinput built-in
Comment 16 Rafał Mużyło 2011-05-10 13:04:04 UTC
On a minor note: upstream has recently dropped many of those rules in git.
Comment 17 Matthias Schwarzott gentoo-dev 2011-05-14 14:04:03 UTC
Fixed in udev-168-r2. But in udev-169 the rules are removed by upstream, as the
kernel versions that needed it are no longer supported.