[SOLVED] udevd: cannot execute xcmddc because the device nodes doesn't exists
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.
udevd: cannot execute xcmddc because the device nodes doesn't exists
Greetings,
When I boot my system, I have appeared these error messages:
Code:
[ 9.748410] udevd[322]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-1 --identify': No such file or directory
[ 9.748665] udevd[321]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-4 --identify': No such file or directory
[ 9.748961] udevd[320]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-2 --identify': No such file or directory
[ 9.749107] udevd[324]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-0 --identify': No such file or directory
[ 9.749409] udevd[325]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-3 --identify': No such file or directory
[ 9.750054] udevd[323]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-5 --identify': No such file or directory
[ 9.753976] udevd[327]: failed to execute '/usr/bin/xcmddc' '/usr/bin/xcmddc --i2c /dev/i2c-6 --identify': No such file or directory
The problem is in the /lib/udev/rules.d/90-xcm-i2c.rules, which tries to identify the DDC devices and assign the video group to it. But it fails, because the device nodes at the moment of the starting rule handling, does not exists. The solution for me is a splitting this rule into 2 ones:
90-xcm-i2c.rules:
Code:
-# match only DDC devices
-KERNEL=="i2c-[0-9]*", ACTION=="add", PROGRAM=="/usr/bin/xcmddc --i2c /dev/k --identify", RESULT=="0", GROUP="video", MODE="0660
And 91-xcm-i2c.rules:
Code:
+# match only DDC devices
+KERNEL=="i2c-[0-9]*", ACTION=="add", PROGRAM=="/usr/bin/xcmddc --i2c /dev/%k --identify", RESULT=="0", GROUP="video", MODE="0660"
After that, seems, everything is working fine.
Last edited by michaelk; 01-17-2016 at 06:12 PM.
Reason: Correct title typ0
Hi. You probably have the /usr filesystem on a separate partition, and udevd cannot find /usr/bin/xcmddc because /usr is not mounted yet. I had the same problem. On -current this was fixed with the switch from udev to eudev a few days ago. This is a related thread:
Yes, I have separated /usr, I will try temporary moving the xcmddc to /bin instead. I just forgot that I use -current, and I know about switching to eudev.
I have this message at boot as well. I seem to remember it comes up only when I use the nouveau instead of nvidia driver. With the recent xorg upgrade in -current I have reverted to nouveau for the time being and sure enough the message has come up again.
I was looked for that, and I see that xcm package contains the helpers that installed in /usr/bin instead of /lib/udev. I think, that helpers is xcmddc (obviously) and xcmedid (no udev rule that uses it), and it should be installed under /lib/udev and linked statically. Other binaries should be built dynamically and installed under /usr/bin. Currently, I'll try to find out how to do this.
If you're using separated /usr, any device node creation software will need to be added to the initramfs so the tools can be mounted beforehand. The other option is to move them into /(root) so they are available at boot.
Yes, now, there are only /lib/udev/udev-acl I see, that is a symlink to /usr/libexec/udev-acl.
EDIT: Ok, I'll done it, I'll removed from the original ConsoleKit2's patch 0002-Fix-some-libdir-scripts-stuff-missed-in-4d87a25ea0af.orig.patch.gz the lines about install-exec-hook and replaced it with this patch:
Now, udev-acl will be installed under /lib/udev instead of /usr/libexec.
EDIT2: As I know (see post #4), all this will not help, if the binaries is built dynamically (currently, it so), because these binaries are linked against libraries that lives in /usr/lib$LIBDIRSUFFIX. But I have no errors on boot. Why?
If you're using separated /usr, any device node creation software will need to be added to the initramfs so the tools can be mounted beforehand. The other option is to move them into /(root) so they are available at boot.
Hi,
I have same errors on boot an am curious on how to add device node creation software to the initramfs.
mkinitrd does not append any files to the initrd, only a kernel modules that you passed to mkinitrd on the command-line. That means, you should unpack the initrd, manually add the appropriate files and invoke mkinitrd.
Quote:
Assuming /usr is sda16, would this work ?
That should work, independently on where your /usr is placed (except that you have the -C option, which is not applicable on that purpose - that is intended to use with LUKS).
yars,
mkinitrd copies the whole tree under /boot/initrd-tree/, just add some files and doesn't specify -c (clear tree) on next call; other options for copying files, for ex. -m (modules), -u (copy udev), -C (crypt) etc. may be omitted too.
So, I think, my problem with separated /usr is solved. But, the rule 90-xcm-i2c.rules does not working: the mode on the device nodes does not changed, and the group video does not assigned. I was tried that test:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.