-
Notifications
You must be signed in to change notification settings - Fork 10
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
Need a way for non-elevated user to restart daemon #89
Comments
Ok. Just before I head off to this what situations do you need to restart it? (There we’re a couple like resetting the paired devices list but we’ve fixed that recently) |
Where the dongle can't be left plugged in to a communication aid permanently then when you plug it in again the service needs to be restarted. (I suspect this is because the port has been closed and needs to be reopened by the service). User's personal assistant might be able to physically plug in on request but expecting them to perform elevated windows commands on the voca is a tall order. User can have an onscreen button that does the restart (much in the same way they have one to restart SMS connections to phones). |
After more testing (i13, Windows 10, Bluefruit friend, RelayKeys v1.7) it does seem to be only needed after removing and plugging the dongle back in. Loss of signal/reboot of either device seems to reconnect automatically. |
Ok - I think we can fix that - In fact - I think we dont see the problem on a feather. No idea why.. But I'll check. (Im still waiting for that to get to you BTW - thank covid for the delay!) |
Just to add to this for my notes Running this https://github.com/AceCentre/RelayKeys/blob/master/relaykeysd-service-restart.bat - doesn't work - has the following output. ie needs to be elevated In here somewhere lies an answer https://stackoverflow.com/questions/15496893/start-a-windows-service-without-elevation - but nothing looks simple. NB: Fixes would lie in https://github.com/AceCentre/RelayKeys/blob/master/relaykeysd-service.py and Line 133 in 452f70d
|
Now fixed under PR #96 TY @f1andrew :) |
Doesn't work for me. Running relaykeysd-service-restart.bat results in this: Also fails the same way if run elevated. |
I've created a pull request #98 as an alternative way of doing this, implementing a cli reconnection command.
For debate whether this is the best command naming. This needs more testing - it seems to reconnect to the dongle reliably and the remote computer seems to reconstruct the HID input routing, but I have yet to prove the latter is consistent. |
Thanks Joe. For the record we rolled back our script.. And I'll quote Joe here as an idea for us to mull on: "I wondered if the reconnect code can be called automatically after a fail and then the quoted command retried but have to avoid endless tries, and I think it would need a considerable delay as it takes the remote some time to accept the reconnection. So maybe best left to the user?? They'll know if the dongles been replugged." @f1andrew - any thoughts? |
After further testing I can report ble_cmd:reconnect does reliably recover the comms to the dongle after removal/re-insertion on both BLE Friend and an ItsyBitsy nrF against multiple targets. Easy to drive from a voca. It would be ideal if this was automatic, but current implementation is ok. Does ble_cmd:reconnect need adding to the ble loop for wireless mode? Might need slightly different actions? |
Closing as ble_cmd:reconnect does the job. Automating it now moved to a feature request. |
CRITICAL: On a communication aid using Windows the end user cannot restart the service because that command needs to be elevated. Even if the logged in user has admin rights if a restart batch file is called from a communication aid grid cell it is not elevated. Several of the methods that could elevate the call trigger the UAC admin login dialog which is not accessible to people with complex access needs.
The text was updated successfully, but these errors were encountered: