none
Embedded HOGP profile fails to pair with Windows 10 RRS feed

  • Question

  • Hello,

    I am doing some embedded programming on a stm32-nucleo board with a 0DB05A1 BLE shield. I am trying to make a HOGP perihperal (HID over BLE).

    When I try to pair my device with windows it fails with "Driver error". I'm guessing the problem is on my side, how would I go about getting better information about what actually went wrong? I have looked in the event viewer, and device manager, but they dont tell me exactly what command failed. And the event viewer information if very hard to decipher.

    The "An invalid parameter was passed to a service or function." is not very helpful. 

    //Regards Björn

    Friday, February 17, 2017 7:22 PM

All replies

  • The problem status (0xC000000D) means STATUS_INVALID_PARAMETER. I wish they would remove this error code, because it is completely unhelpful. You're going to have to figure out what data structure/value you're passing to some API or driver that might be incorrect. Start with your DeviceAdd routine and start stepping through it with the kernel debugger. Look at the EAX register (if you don't have the driver source) after each call to find out which API is returning that status value.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, February 17, 2017 8:24 PM
    Moderator
  • I am not writing the windows side of this so there is no input for me to check. I am just using the generic windows drivers. Is there any way to get meaningful ouput from them?
    Friday, February 17, 2017 8:32 PM
  • The Bluetooth LE HID driver (HIDBTHLE) has both manifest-based ETW logging and WPP tracing. I doubt that the WPP tracing info is in the symbol files, but you can use the manifest-based logging, so you should enable that before the driver loads. The name of the manifest logger is Microsoft-Windows-Bluetooth-HidBthLE and its GUID is {53F6879F-9E16-4D1D-99B0-A6A67AB4AA40}. You'll need to get the TraceLog.exe tool from the Windows Driver Kit (WDK), which is a free download. Using TraceLog is explained here

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, February 17, 2017 9:00 PM
    Moderator
  • one thing to look at is the service record you are reporting for the device. perhaps there are optional values or records you are not reporting that are expected

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Friday, February 17, 2017 9:22 PM
  • Doron Holan, I have skipped all the optional elements in the HOGP specification to have as little complexity as possible. Is there any resource that specifies what services and characteristics Windows expects for a given profile, or does it follow the standard?

    Thank you for your feedback, I will look into this and see what i can find out.

    Friday, February 17, 2017 9:36 PM