On 04/11/2012 04:02 PM, Kay Sievers wrote:
On Wed, Apr 11, 2012 at 21:41, Mark Hounschell<ma...@compro.net> wrote:
On 04/10/2012 09:10 AM, Kay Sievers wrote:
On Tue, Apr 10, 2012 at 14:36, Mark Hounschell<ma...@compro.net> wrote:
I am having another issue with an out of kernel "GPL" device driver not
being available "on time" so to say. When the kernel discovers this pci
card
it loads it's kernel module and sets up the card for use. This takes
around
15 seconds per card and there is usually 2-3 of them. When the card is
up,
running, and ready, the kernel module notifies udev who in turn executes
a
small script that creates 30 or so different device nodes for use with
the
card.
A bit unrelated to the described specific problem above, but:
We do not support any kernel device driver which does not create the
device nodes on its own from inside the kernel. Such drivers cause
problems and will fail for various non-interesting reasons. You really
must hook up the kernel driver to register the devices with the kernel
driver-core; it's just a few lines to add.
Doing mknod() in userspace is just too fragile and does not fit into
any synchronization logic of udev or systemd, it is not even expected
to work reliably with these tools.
OK, I've changed the driver such that is creates it's own device nodes after
the board is up and running. Like I said earlier, it takes a single board
10-15 seconds to come up once the driver starts it. There are now, no
scripts required, no sysvinit, no systemd, no udev involved.
Sounds cool. :)
Udev and systemd are involved now, at least in a way that they see
uevents, which did not exist before.
Still, when using systemd, when I get to my run-level, the application fails
because the device nodes have yet to be created. The driver is still waiting
for the boards to be ready. When I use sysvinit the device nodes are there
when I get to my run-level.
Try:
systemctl enable udev-settle.service
I should enter this command then reboot?
Mark
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel