Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eudev not creating nodes #200

Open
OllieGitHub opened this issue Aug 25, 2021 · 0 comments
Open

eudev not creating nodes #200

OllieGitHub opened this issue Aug 25, 2021 · 0 comments

Comments

@OllieGitHub
Copy link

I know this is deprecated, but I figured I would give this a shot anyway!

I have already read over #60 and the linked issues without luck

I am trying to get eudev to work on an embedded system that previously used a very old udev version (107). So I am making quite a large jump in versions

Entered command ('udevadm trigger --action=add' results in same strace below)
echo "add" > /sys/devices/platform/serial8250.0/tty/ttyS1/uevent

strace output:

epoll_wait(10, [{EPOLLIN, {u32=4, u64=17179869184}}], 8, -1) = 1

stat64("/etc/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/run/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/usr/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/etc/udev/hwdb.bin", {st_mode=S_IFREG|0444, st_size=105, ...}) = 0
recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=0x000001}, msg_namelen=128->12, msg_iov=[{iov_base={{len=1633969216, type=0x2f64 /* NLMSG_??? */, flags=NLM_F_MULTI|NLM_F_ACK|NLM_F_DUMP_INTR|NLM_F_DUMP_FILTERED|0x6540, seq=1768121715, pid=795896929}, "\x74\x66\x6f\x72\x6d\x2f\x73\x65\x72\x69\x61\x6c\x38\x32\x35\x30\x2e\x30\x2f\x74\x74\x79\x2f\x74\x74\x79\x53\x31\x00\x41\x43\x54"...}, iov_len=8192}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, 0) = 174
writev(2, [{iov_base="seq 844 queued, 'add' 'tty'", iov_len=27}, {iov_base="\n", iov_len=1}], 2seq 844 queued, 'add' 'tty'
) = 28

socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, NETLINK_KOBJECT_UEVENT) = 11

bind(11, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0

getsockname(11, {sa_family=AF_NETLINK, nl_pid=-1692715106, nl_groups=00000000}, [12]) = 0

setsockopt(11, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0

clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7d06318) = 1392

close(11)                               = 0

writev(2, [{iov_base="seq 844 forked new worker [1392]", iov_len=32}, {iov_base="\n", iov_len=1}], 2seq 844 forked new worker [1392]
) = 33

openat(AT_FDCWD, "/run/udev/queue", O_WRONLY|O_CREAT|O_NOCTTY|O_LARGEFILE|O_CLOEXEC, 0644) = 11

utimensat(11, NULL, NULL, 0)            = 0

close(11)                               = 0

epoll_wait(10, seq 844 running

handling device node '/dev/ttyS1', devnum=c4:65, mode=0600, uid=0, gid=0

can not stat() node '/dev/ttyS1' (No such file or directory)

created empty file '/run/udev/data/c4:65' for '/devices/platform/serial8250.0/tty/ttyS1'

passed 202 byte device to netlink monitor 0x10524d60

seq 844 processed

[{EPOLLIN, {u32=8, u64=34359738368}}], 8, 3000) = 1
recvmsg(8, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=0}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=1392, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, MSG_DONTWAIT) = 0

recvmsg(8, {msg_namelen=0}, MSG_DONTWAIT) = -1 EAGAIN (Resource temporarily unavailable)

unlink("/run/udev/queue")               = 0

epoll_wait(10, [], 8, 3000)             = 0

writev(2, [{iov_base="cleanup idle workers", iov_len=20}, {iov_base="\n", iov_len=1}], 2cleanup idle workers
) = 21

kill(1392, SIGTERM)                     = 0

stat64("/etc/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory
)
stat64("/run/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/usr/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)

stat64("/etc/udev/hwdb.bin", {st_mode=S_IFREG|0444, st_size=105, ...}) = 0

unlink("/run/udev/queue")               = -1 ENOENT (No such file or directory)

epoll_wait(10, [{EPOLLIN, {u32=7, u64=30064771072}}], 8, 3000) = 1

read(7, "\0\0\0\21\0\0\0\0\0\0\0\1\0\0\5p\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 128) = 128

waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 1392

writev(2, [{iov_base="worker [1392] exited", iov_len=20}, {iov_base="\n", iov_len=1}], 2worker [1392] exited
) = 21

waitpid(-1, 0xbf902160, WNOHANG)        = -1 ECHILD (No child processes)

unlink("/run/udev/queue")               = -1 ENOENT (No such file or directory)

With the most egregious line being: can not stat() node '/dev/ttyS1' (No such file or directory)

config arguments and variables:

prefix:                  
        exec_prefix:             
        sysconfdir:              ${prefix}/etc
        datadir:                 ${datarootdir}
        includedir:              ${prefix}/include
        bindir:                  ${exec_prefix}/bin
        libdir:                  /lib

        rootprefix:              
        rootlibdir:              /lib
        rootlibexecdir:          /lib/udev
        datarootdir:             ${prefix}/share
        rootrundir:              /run

        udevconfdir:             ${prefix}/etc/udev
        udevconffile:            ${prefix}/etc/udev/udev.conf
        udevhwdbdir:             ${prefix}/etc/udev/hwdb.d
        udevhwdbbin:             ${prefix}/etc/udev/hwdb.bin
        udevlibexecdir:          /lib/udev
        udevkeymapdir:           /lib/udev/keymaps
        udevkeymapforceredir:    /lib/udev/keymaps/force-release
        udevrulesdir:            /lib/udev/rules.d

        pkgconfiglibdir:         /lib/pkgconfig
        sharepkgconfigdir        ${datarootdir}/pkgconfig

        girdir                   ${datarootdir}/gir-1.0
        typelibsdir              /lib/girepository-1.0

--host=<cross-compiler>
--target=<cross-compiler>
--build=i686-pc-linux-gnu
--prefix=
--with-rootprefix=
--with-rootlibdir=/lib
--libdir=/lib
--exec-prefix=
--enable-hwdb=no
--enable-split-usr
--disable-manpages
--disable-selinux

Relevant kernel config:

CONFIG_EPOLL=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y
CONFIG_SYSFS=y
CONFIG_NET=y
CONFIG_TIMERFD=y
CONFIG_SIGNALFD=y
CONFIG_PROC_FS=y
CONFIG_INOTIFY_USER=y
CONFIG_FHANDLE=y
# CONFIG_UEVENT_HELPER is not set
# CONFIG_SYSFS_DEPRECATED is not set

Lastly, on the target I have also created a symlink from /run --> /var/run

Am I missing something obvious? Thank you in advance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant