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

Does GATT Server need special capabilities in the package manifest? #64

Closed
hansmbakker opened this issue Apr 22, 2017 · 11 comments
Closed

Comments

@hansmbakker
Copy link

I tried running the Gatt server code on a Raspberry Pi 3 using Windows IoT Core build 15063 and minimum SDK version 15063.

I enabled the Bluetooth capability in the package manifest but when calling

GattServiceProviderResult result = await GattServiceProvider.CreateAsync(
                GattServiceUuids.HumanInterfaceDevice);

I get

result.Error == BluetoothError.DisabledByPolicy
@mtbeaver
Copy link
Contributor

Unfortunately, HID is currently protected as a reserved service, which prevents it from being implemented by a 3rd party application. Please share details on the scenario, and we will discuss it internally.

@hansmbakker
Copy link
Author

hansmbakker commented Apr 24, 2017

@mtbeaver thank you for your explanation. Could you add this to the documentation?

As for the usecase: I wanted to implement the HID reports from https://msdn.microsoft.com/en-us/windows/hardware/commercialize/design/component-guidelines/radial-controller-protocol-implementation to emulate a Surface Dial.

@hansmbakker
Copy link
Author

hansmbakker commented Apr 24, 2017

I have a Nuimo device that has similar hardware to a Surface Dial, but it sends plain GATT messages (no HID). I wanted to use it in windows and writing a virtual hid driver or adjusting the HID injection example in c++ seemed complicated to me (I'm familiar with C#). So I hoped I could use the GATT server functionality to create a "bridge app".

@hansmbakker
Copy link
Author

@mtbeaver do you have any update on this?

@mtbeaver
Copy link
Contributor

mtbeaver commented May 17, 2017

@Wind-rider, we have discussed this internally and will be removing the HID restriction for Gatt Server in the next release. I’ll keep you posted here when the change is available in the Windows Insider builds.

@hansmbakker
Copy link
Author

@mtbeaver Great to hear, I'm looking forward to it!

@mtbeaver
Copy link
Contributor

@Wind-rider The restriction should be lifted in the Windows Insider Fast builds. Please let me know if you have any questions.

@hansmbakker
Copy link
Author

hansmbakker commented Jul 10, 2017

@mtbeaver thank you for keeping me updated! Do you mean build 16226 for Windows IoT Core? (I couldn't find it in the release notes)

Also - do I need a special SDK version or was the limitation only in the OS and will the 15063 SDK work fine?

@mtbeaver
Copy link
Contributor

The existing Creators Update SDK should work fine. As it was a minor update, it is not in the release notes, but I believe that build should have the relevant changes. Please use the latest build available to you though.

@hansmbakker
Copy link
Author

hansmbakker commented Jul 29, 2017

@mtbeaver I tried it, but could not get it to work.

The use case was:

I wanted to implement the HID reports from https://msdn.microsoft.com/en-us/windows/hardware/commercialize/design/component-guidelines/radial-controller-protocol-implementation to emulate a Surface Dial.

It seems that, for a device to be detected properly as a HID device, it should implement at least

  • HID Service
  • Battery Service
  • Device Information Service

For the Device Information Service I still get BluetoothError.DisabledByPolicy. The same applies to the Generic Access Service (used to set a friendly name and icon, don't know whether it is required).

I'm afraid that unlocking only the HID Service doesn't allow implementing my usecase :(

Have you been able to emulate a HID device using an UWP Background App for Windows IoT Core, that was detected properly by another Windows 10 machine? If so, I'd be really glad to see an example.

@ginami
Copy link

ginami commented Mar 22, 2018

Hi @wind-rider--I'm going to close this issue for now. If you still need a response, please either reopen this issue or open a new one. Thank you!!

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

3 participants