On Tue, 2018-11-20 at 02:46 +0100, Bernhard Übelacker wrote: > Package: qcontrol > Version: 0.5.6-1 > Severity: important
Thank you for your report. > Therefore I made following change and qcontrol started up > successfully, as far as I can see: > root@qnap-119p-ii:~# nano /lib/systemd/system/qcontrold.service > -Requires=dev-input-by\x2dpath-platform\x2dgpio_keys\x2devent.device > -After=dev-input-by\x2dpath-platform\x2dgpio_keys\x2devent.device > +#Requires=dev-input-by\x2dpath-platform\x2dgpio_keys\x2devent.device > +#After=dev-input-by\x2dpath-platform\x2dgpio_keys\x2devent.device > > root@qnap-119p-ii:~# systemctl daemon-reload > > root@qnap-119p-ii:~# invoke-rc.d qcontrold start I think what you've done here is remove a (broken) dependency on the device, which has opened up a race which you happen to be now winning (i.e. the device happens to be present even though the package is not longer explicitly waiting for it). > I assume "dev-input-by\x2dpath-platform\x2dgpio_keys\x2devent.device" > is just a systemd notation to "/dev/input/by-path/platform-gpio_keys-event", > like used in /etc/qcontrol.conf ? Correct. > This path is a symlink to the actual device file: > root@qnap-119p-ii:~# ls -lisah > /dev/input/by-path/platform-gpio_keys-event /dev/input/event0 > 5496 0 lrwxrwxrwx 1 root root 9 Nov 20 01:39 > /dev/input/by-path/platform-gpio_keys-event -> ../event0 > 5311 0 crw-rw---- 1 root input 13, 64 Nov 20 01:39 /dev/input/event0 > > And following this notation waiting directly for the device I assume > works: > systemctl start dev-input-event0.device > > But following takes 90 seconds and responds with a failure: > systemctl start dev-input-by\x2dpath- > platform\x2dgpio_keys\x2devent.device > Job for dev-input-byx2dpath-platformx2dgpio_keysx2devent.device > timed out. > > Some searching mentioned also a possibly missing TAG+="systemd" in the udev > rule, > which made no difference as far as I can say. What exactly did you try here? I would expect that correctly adding this tag should have worked (and for this bug to therefore be a duplicate of #912376). > Maybe /dev/input/by-path/platform-gpio_keys-event would be still better, > because that path stays the same after rmmod gpio_keys && modprobe gpio_keys. Correct, we want to keep using the symlink for this reason, also because plugging in any input device would cause the numbers to change as well. Not that there is much cause to plugin e.g. a keyboard or mouse etc, but you never know... > But there is still the problem to tell systemd to wait for > the symlink to the device file. Indeed. I'm going to (speculatively) merge this with #912376 which I intend to fix with the upload of 0.5.6-2 very shortly (hopefully today) since I believe this should fix the issue you are seeing too. If not then please reopen this bug (or ping me to do so). Thanks, Ian.