All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sven Ebenfeld <sven.ebenfeld@gmail.com>
To: Chris Tapp <opensource@keylevel.com>
Cc: Yocto Project <yocto@yoctoproject.org>
Subject: Re: systemd - how do I wait for a driver to load?
Date: Thu, 28 Aug 2014 21:51:04 +0200	[thread overview]
Message-ID: <53FF8828.8020207@gmail.com> (raw)
In-Reply-To: <E3B47DAE-345A-46B5-BA2C-BCD47795773F@keylevel.com>

Am 28.08.2014 18:57, schrieb Chris Tapp:
> 
> On 27 Aug 2014, at 08:46, Sven Ebenfeld <sven.ebenfeld@gmail.com> wrote:
>> Am 26.08.2014 22:51, schrieb Chris Tapp:
>>> On 26 Aug 2014, at 21:02, Sven Ebenfeld <sven.ebenfeld@gmail.com> wrote:
>>>
>>>> You should look at  "ConditionPathExists=" Options of systemd-units.
>>>
>>> Thanks, that looks like it would do the job. I was hoping not to hard code paths as they may change if a configuration file is changed, but...
>>>
>>>> Otherwise if udev is loading your device module, you could add the
>>>> device-unit to "Requires=" option.
>>>
>>> This sounds better. Is there an easy way to tell if udev did load the module? There's nothing obvious in the syslog.
>>
>> If you didn't load the module by hand it's probably udev. If you didn't
>> run modprobe or insmod. Then you should try to create a device-unit for
>> the device.
>>
>> For /dev/dvb/adaptor the unit should probably be something like
>> dev-dvb-adaptor.device .
> 
> Thanks. I've now got a udev rule firing when the device loads.
> 
> I'm using this to create a device alias (SYMLINK) so I can get consistent names, and this is working great.
> 
> I've added TAG+="systemd" to the rule and I'm getting a .device generated automatically when the driver loads. However, the name for this isn't friendly (lots of bus id components). Is there a way to create my own name as my service doesn't want to know where the device is on the bus?
> 
> I've tried adding something like ENV{SYSTEMD_WANTS}="some-new-name.device" - this also gets created, but it never becomes active (and can't be manually started).
> 

There should be an option like SYSTEMD_ALIAS in udev database. I haven't
used it yet, but I think it should help out here.

http://www.freedesktop.org/software/systemd/man/systemd.device.html
describes it as "SYSTEMD_ALIAS= Adds an additional alias name to the
device unit. This must be an absolute path that is automatically
transformed into a unit name. (See above.)"

>> Am 26.08.2014 21:52, schrieb Chris Tapp:
>>>>> I've got a service running under systemd that will only start once a kernel module has loaded and created its /dev/dvb/adaptor nodes.
>>>>>
>>>>> Unfortunately, it doesn't load until after the service has failed and gone into an error state due to too many restarts.
>>>>>
>>>>> I could "fix" this by increasing the restart interval, but is there a way of adding a dependancy on the kernel module?
>>>>>
>>>>> --
>>>>>
>>>>> Chris Tapp
>>>>> opensource@keylevel.com
>>>>> www.keylevel.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>> --
>>>
>>> Chris Tapp
>>> opensource@keylevel.com
>>> www.keylevel.com
>>>
>>>
>>>
>>>
> 
> --
> 
> Chris Tapp
> opensource@keylevel.com
> www.keylevel.com
> 
> 
> 
> 


  reply	other threads:[~2014-08-28 19:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-26 19:52 systemd - how do I wait for a driver to load? Chris Tapp
2014-08-26 20:02 ` Sven Ebenfeld
2014-08-26 20:51   ` Chris Tapp
2014-08-27  7:46     ` Sven Ebenfeld
2014-08-28 16:57       ` Chris Tapp
2014-08-28 19:51         ` Sven Ebenfeld [this message]
2014-08-28 20:57           ` Chris Tapp
2014-08-26 20:07 ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53FF8828.8020207@gmail.com \
    --to=sven.ebenfeld@gmail.com \
    --cc=opensource@keylevel.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.