This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Max number of Report ID for HID over GATT (Custom Generic HID over GATT)

Hi everybody,

I been experimenting with the HID over GATT example (mouse), and I am trying to use more than 3 report IDs.
When I used only 3 there's no problem.

But when I tried 4, the project compiled and run, but the descriptor is not properly passed to the host (I am using wireshark to validate the packets transactions).

There is any limit of the numbers of reports id it's possible to use in the current implementation? (I am using SDK 16.0)

It's that the case then, it is possible to have more than one BLE_HIDS_DEF instance running concurrently?

I really need more than 3 report ids.

P.S: I already tried to change this:
...
err_code = sd_ble_gap_appearance_set(BLE_APPEARANCE_GENERIC_HID);
...

but the problem persist.

Thanks and Best Regards,

Parents
  • Hi Jose

    There shouldn't be a limit on the number of different reports, but when doing HID over GATT the size of the report descriptor is limited by the maximum size of a BLE attribute, which is 512 bytes. 

    Can you confirm whether or not your descriptor is larger or smaller than this?

    Best regards
    Torbjørn

  • Hi,
    I resolved that problem. I just need more memory.
    I change the NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE on the sdk_config.h and update the Segger Embedded Studio project file so the memory map now is this:
    linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x100000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x40000;FLASH_START=0x27000;FLASH_SIZE=0xd9000;RAM_START=0x200032e0;RAM_SIZE=0x3cd20"

    Now it allow more than 3 report id. But, I found a couple of more problem.
    The first was the inp_rep_array[],m for some reason reset part of its value. Don't knwo why.

    I solved it declaring inp_rep_array[] as a global static variable and initialized in a header file like this:
    static ble_hids_inp_rep_init_t inp_rep_array[] =
    {
    {//Index 0
    .max_len = INPUT_REP_MOUSE_LEN
    , .rep_ref.report_id = HID_REP_MOUSE_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 1
    .max_len = INPUT_REP_JOYSTICK_LEN
    , .rep_ref.report_id = HID_REP_JOYSTICK_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 2
    .max_len = INPUT_REP_MULTI_AXIS_LEN
    , .rep_ref.report_id = HID_REP_MULTI_AXIS_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 3
    .max_len = INPUT_REP_3D_DIGITIZER_LEN
    , .rep_ref.report_id = HID_REP_3D_DIGITIZER_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    #ifdef USE_OUTPUT_REPORT
    ,{//Index 4
    .max_len = INPUT_REP_CONTROL_LEN
    , .rep_ref.report_id = HID_REP_CONTROL_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    #endif
    };

    Now I am trying to use the output report so I can send packets to the nRF52840 using the report id 5.

    I am debugging with wireshark and the segger studio.

    I found this. The m_hids.rep_map_handles.value is set as 0x002d but the wireshark indicates that the host (GNU/Linus Ubuntu 18.04) is asking for the report map on the handle 0x0026 and its getting zeros:


    I kept looking with the segger debugger but I hit a wall in this function called :


    SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const *p_char_md, ble_gatts_attr_t const *p_attr_char_value, ble_gatts_char_handles_t *p_handles));

    I am assuming that call for the SoftDevice S140 v7.0.1, and that is a black box, so I can't continue debugging.

    I also tried the ble_his_keyboard example using the hex file that comes with the SDK 16.0.0 without changing anything and the wireshark indicates exactly the same behavior. 

    My conclusion: The O.S (bluez driver probably), it's asking for the report map using the handle 0x0026 but the nRF52840 have that information on the handle 0x002d and for that reason the OS is getting zeros instead of the report map descriptor.

    I recommend experiment with the ble_hids_keyboard example on GNU/Linux Ubuntu 18.04 with wireshark to reproduce the error and try to find the bug. 

    I have worked as Verification and Validation engineer for pre-silicon (Verilog, System Verilog, E), so, debugging and find bugs is like my second nature.

    Let me know if there's anything I can change on the source code, even the SDK, so I can continue developing. 

    Have fun tracing that bug. (It also could be a bug on the OS/diver instead of the SoftDevice)

    Thanks and Best Regards,

    Jose Pablo,

    P.S: I attached the wireshark packets captured and the kernel logging messages related to the Nordir Keyboard Example that failed to pass the report map.
    I used the hex file that come with the SDK 16.0.0 ble_app_hids_keyboard_pca10056_s140.hex

    May  5 15:54:22 El-Shaddai kernel: [ 2613.935503] hid-generic 0005:1915:EEEE.0004: item fetching failed at offset -118354475
    May  5 15:54:22 El-Shaddai kernel: [ 2613.935515] hid-generic: probe of 0005:1915:EEEE.0004 failed with error -22
    May  5 15:54:27 El-Shaddai kernel: [ 2618.053971] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:54:43 El-Shaddai kernel: [ 2634.056991] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:54:59 El-Shaddai kernel: [ 2650.058013] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:55:15 El-Shaddai kernel: [ 2666.069050] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:55:31 El-Shaddai kernel: [ 2682.061058] Bluetooth: hci0: last event is not cmd complete (0x0f)
    
    Nordic_Keyboard_Example.pcapng

Reply
  • Hi,
    I resolved that problem. I just need more memory.
    I change the NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE on the sdk_config.h and update the Segger Embedded Studio project file so the memory map now is this:
    linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x100000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x40000;FLASH_START=0x27000;FLASH_SIZE=0xd9000;RAM_START=0x200032e0;RAM_SIZE=0x3cd20"

    Now it allow more than 3 report id. But, I found a couple of more problem.
    The first was the inp_rep_array[],m for some reason reset part of its value. Don't knwo why.

    I solved it declaring inp_rep_array[] as a global static variable and initialized in a header file like this:
    static ble_hids_inp_rep_init_t inp_rep_array[] =
    {
    {//Index 0
    .max_len = INPUT_REP_MOUSE_LEN
    , .rep_ref.report_id = HID_REP_MOUSE_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 1
    .max_len = INPUT_REP_JOYSTICK_LEN
    , .rep_ref.report_id = HID_REP_JOYSTICK_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 2
    .max_len = INPUT_REP_MULTI_AXIS_LEN
    , .rep_ref.report_id = HID_REP_MULTI_AXIS_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    ,{//Index 3
    .max_len = INPUT_REP_3D_DIGITIZER_LEN
    , .rep_ref.report_id = HID_REP_3D_DIGITIZER_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    #ifdef USE_OUTPUT_REPORT
    ,{//Index 4
    .max_len = INPUT_REP_CONTROL_LEN
    , .rep_ref.report_id = HID_REP_CONTROL_ID
    , .rep_ref.report_type= BLE_HIDS_REP_TYPE_INPUT
    , .sec.cccd_wr = SEC_JUST_WORKS
    , .sec.wr = SEC_JUST_WORKS
    , .sec.rd = SEC_JUST_WORKS
    }
    #endif
    };

    Now I am trying to use the output report so I can send packets to the nRF52840 using the report id 5.

    I am debugging with wireshark and the segger studio.

    I found this. The m_hids.rep_map_handles.value is set as 0x002d but the wireshark indicates that the host (GNU/Linus Ubuntu 18.04) is asking for the report map on the handle 0x0026 and its getting zeros:


    I kept looking with the segger debugger but I hit a wall in this function called :


    SVCALL(SD_BLE_GATTS_CHARACTERISTIC_ADD, uint32_t, sd_ble_gatts_characteristic_add(uint16_t service_handle, ble_gatts_char_md_t const *p_char_md, ble_gatts_attr_t const *p_attr_char_value, ble_gatts_char_handles_t *p_handles));

    I am assuming that call for the SoftDevice S140 v7.0.1, and that is a black box, so I can't continue debugging.

    I also tried the ble_his_keyboard example using the hex file that comes with the SDK 16.0.0 without changing anything and the wireshark indicates exactly the same behavior. 

    My conclusion: The O.S (bluez driver probably), it's asking for the report map using the handle 0x0026 but the nRF52840 have that information on the handle 0x002d and for that reason the OS is getting zeros instead of the report map descriptor.

    I recommend experiment with the ble_hids_keyboard example on GNU/Linux Ubuntu 18.04 with wireshark to reproduce the error and try to find the bug. 

    I have worked as Verification and Validation engineer for pre-silicon (Verilog, System Verilog, E), so, debugging and find bugs is like my second nature.

    Let me know if there's anything I can change on the source code, even the SDK, so I can continue developing. 

    Have fun tracing that bug. (It also could be a bug on the OS/diver instead of the SoftDevice)

    Thanks and Best Regards,

    Jose Pablo,

    P.S: I attached the wireshark packets captured and the kernel logging messages related to the Nordir Keyboard Example that failed to pass the report map.
    I used the hex file that come with the SDK 16.0.0 ble_app_hids_keyboard_pca10056_s140.hex

    May  5 15:54:22 El-Shaddai kernel: [ 2613.935503] hid-generic 0005:1915:EEEE.0004: item fetching failed at offset -118354475
    May  5 15:54:22 El-Shaddai kernel: [ 2613.935515] hid-generic: probe of 0005:1915:EEEE.0004 failed with error -22
    May  5 15:54:27 El-Shaddai kernel: [ 2618.053971] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:54:43 El-Shaddai kernel: [ 2634.056991] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:54:59 El-Shaddai kernel: [ 2650.058013] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:55:15 El-Shaddai kernel: [ 2666.069050] Bluetooth: hci0: last event is not cmd complete (0x0f)
    May  5 15:55:31 El-Shaddai kernel: [ 2682.061058] Bluetooth: hci0: last event is not cmd complete (0x0f)
    
    Nordic_Keyboard_Example.pcapng

Children
  • Hi Jose

    Is the sd_ble_gatts_characteristic_add(..), or any other SoftDevice calls, returning an error code?

    The SoftDevice is very mature at this point and I would say it is highly unlikely that it is not handling the handle values correctly, as this would cause issues for a large number of our customers. 

    I am not used to reading HCI captures in Wireshark, but the packets received during service discovery are a bit confusing. There seems to be limited data included in the read responses, it keeps receiving the HID Service UUID over and over on multiple handles. 

    Are you able to use a Nordic DK or dongle to get a trace of the Bluetooth communication directly?

    As you might be aware we have a free sniffer solution that also uses Wireshark as the frontend. 

    Best regards
    Torbjørn

  • Hi Ovrebekk.

    It's not a SoftDevice problem. It has to do with the O.S kernel and the driver.


    I successfully sniff the packet in windows.

    I got only one nRF52840-DK so I can't use it as sniffer.

    This is what I did, so others could use this information.

    Wireshark does not support bluetooth on windows as it does on Linux, but, it does support USB.

    So I use a bluetooth dongle and capture the usb packets.

    Steps:

    1. Disabled the default bluetooth hardware on Device Manager (in case of a laptop that have that hardware integrated)
    2. Connect a Bluetooth Dongle (USB).
    3. Start Wireshark as administrator
    4. Select capture USB
    5. Start capturing USB packets
    6. Pair the bluetooth device you are debugging
    7. Filter in wireshark the packets letting only "btatt"
    8. Gets the packets you are looking for.

    I got another error on windows relate to the driver.

    The first txt it's the Generic HID Device with only input reports

    This device cannot start. (Code 10)
    
    An unknown item was found in the report descriptor.
    
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 10:55:37
    Event ID:      411
    Task Category: None
    Level:         Error
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&1&0014 had a problem starting.
    
    Driver Name: hidbthle.inf
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Service: mshidumdf
    Lower Filters: WUDFRd
    Upper Filters: 
    Problem: 0xA
    Problem Status: 0xC000001D
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>411</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T16:55:37.403156400Z" />
        <EventRecordID>883</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="352" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;1&amp;0014</Data>
        <Data Name="DriverName">hidbthle.inf</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="ServiceName">mshidumdf</Data>
        <Data Name="LowerFilters">WUDFRd</Data>
        <Data Name="UpperFilters">
        </Data>
        <Data Name="Problem">0xa</Data>
        <Data Name="Status">0xc000001d</Data>
      </EventData>
    </Event>
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 10:55:36
    Event ID:      400
    Task Category: None
    Level:         Information
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&1&0014 was configured.
    
    Driver Name: hidbthle.inf
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Driver Date: 06/21/2006
    Driver Version: 10.0.18362.329
    Driver Provider: Microsoft
    Driver Section: HidBthLE.NT
    Driver Rank: 0xFF2000
    Matching Device Id: BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}
    Outranked Drivers: bthleenum.inf:BTHLEDevice\GenericATTService:00FF2001
    Device Updated: false
    Parent Device: BTHLE\Dev_d4f575b39efb\7&34974384&0&d4f575b39efb
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>400</EventID>
        <Version>0</Version>
        <Level>4</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T16:55:36.668840200Z" />
        <EventRecordID>879</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="352" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;1&amp;0014</Data>
        <Data Name="DriverName">hidbthle.inf</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="DriverDate">06/21/2006</Data>
        <Data Name="DriverVersion">10.0.18362.329</Data>
        <Data Name="DriverProvider">Microsoft</Data>
        <Data Name="DriverInbox">true</Data>
        <Data Name="DriverSection">HidBthLE.NT</Data>
        <Data Name="DriverRank">0xff2000</Data>
        <Data Name="MatchingDeviceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}</Data>
        <Data Name="OutrankedDrivers">bthleenum.inf:BTHLEDevice\GenericATTService:00FF2001</Data>
        <Data Name="DeviceUpdated">false</Data>
        <Data Name="Status">0x0</Data>
        <Data Name="ParentDeviceInstanceId">BTHLE\Dev_d4f575b39efb\7&amp;34974384&amp;0&amp;d4f575b39efb</Data>
      </EventData>
    </Event>
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 10:55:36
    Event ID:      442
    Task Category: None
    Level:         Warning
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&1&0014 was not migrated due to partial or ambiguous match.
    
    Last Device Instance Id: USB\VID_047D&PID_2048\5&350590a7&0&6
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Location Path: 
    Migration Rank: 0xF000FFFFFFFFF122
    Present: false
    Status: 0xC0000719
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>442</EventID>
        <Version>0</Version>
        <Level>3</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T16:55:36.666534600Z" />
        <EventRecordID>878</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="352" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;1&amp;0014</Data>
        <Data Name="LastDeviceInstanceId">USB\VID_047D&amp;PID_2048\5&amp;350590a7&amp;0&amp;6</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="LocationPath">
        </Data>
        <Data Name="MigrationRank">0xf000fffffffff122</Data>
        <Data Name="Present">false</Data>
        <Data Name="Status">0xc0000719</Data>
      </EventData>
    </Event>

    The second txt file is the Generic HID Device with input and output reports

    This device cannot start. (Code 10)
    
    An unknown item was found in the report descriptor.
    
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 11:04:30
    Event ID:      442
    Task Category: None
    Level:         Warning
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&2&0014 was not migrated due to partial or ambiguous match.
    
    Last Device Instance Id: USB\VID_047D&PID_2048\5&350590a7&0&6
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Location Path: 
    Migration Rank: 0xF000FFFFFFFFF122
    Present: false
    Status: 0xC0000719
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>442</EventID>
        <Version>0</Version>
        <Level>3</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T17:04:30.536955000Z" />
        <EventRecordID>897</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="5100" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;2&amp;0014</Data>
        <Data Name="LastDeviceInstanceId">USB\VID_047D&amp;PID_2048\5&amp;350590a7&amp;0&amp;6</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="LocationPath">
        </Data>
        <Data Name="MigrationRank">0xf000fffffffff122</Data>
        <Data Name="Present">false</Data>
        <Data Name="Status">0xc0000719</Data>
      </EventData>
    </Event>
    
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 11:04:30
    Event ID:      400
    Task Category: None
    Level:         Information
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&2&0014 was configured.
    
    Driver Name: hidbthle.inf
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Driver Date: 06/21/2006
    Driver Version: 10.0.18362.329
    Driver Provider: Microsoft
    Driver Section: HidBthLE.NT
    Driver Rank: 0xFF2000
    Matching Device Id: BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}
    Outranked Drivers: bthleenum.inf:BTHLEDevice\GenericATTService:00FF2001
    Device Updated: false
    Parent Device: BTHLE\Dev_d4f575b39efb\7&34974384&0&d4f575b39efb
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>400</EventID>
        <Version>0</Version>
        <Level>4</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T17:04:30.539323700Z" />
        <EventRecordID>898</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="5100" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;2&amp;0014</Data>
        <Data Name="DriverName">hidbthle.inf</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="DriverDate">06/21/2006</Data>
        <Data Name="DriverVersion">10.0.18362.329</Data>
        <Data Name="DriverProvider">Microsoft</Data>
        <Data Name="DriverInbox">true</Data>
        <Data Name="DriverSection">HidBthLE.NT</Data>
        <Data Name="DriverRank">0xff2000</Data>
        <Data Name="MatchingDeviceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}</Data>
        <Data Name="OutrankedDrivers">bthleenum.inf:BTHLEDevice\GenericATTService:00FF2001</Data>
        <Data Name="DeviceUpdated">false</Data>
        <Data Name="Status">0x0</Data>
        <Data Name="ParentDeviceInstanceId">BTHLE\Dev_d4f575b39efb\7&amp;34974384&amp;0&amp;d4f575b39efb</Data>
      </EventData>
    </Event>
    
    Log Name:      Microsoft-Windows-Kernel-PnP/Configuration
    Source:        Microsoft-Windows-Kernel-PnP
    Date:          6/5/2020 11:04:31
    Event ID:      411
    Task Category: None
    Level:         Error
    Keywords:      
    User:          SYSTEM
    Computer:      El-Shaddai-Asus
    Description:
    Device BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&eeee_REV&0001_d4f575b39efb\8&b95d70&2&0014 had a problem starting.
    
    Driver Name: hidbthle.inf
    Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
    Service: mshidumdf
    Lower Filters: WUDFRd
    Upper Filters: 
    Problem: 0xA
    Problem Status: 0xC000001D
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9c205a39-1250-487d-abd7-e831c6290539}" />
        <EventID>411</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2020-05-06T17:04:31.198204200Z" />
        <EventRecordID>902</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="5100" />
        <Channel>Microsoft-Windows-Kernel-PnP/Configuration</Channel>
        <Computer>El-Shaddai-Asus</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="DeviceInstanceId">BTHLEDevice\{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&amp;021915_PID&amp;eeee_REV&amp;0001_d4f575b39efb\8&amp;b95d70&amp;2&amp;0014</Data>
        <Data Name="DriverName">hidbthle.inf</Data>
        <Data Name="ClassGuid">{745a17a0-74d3-11d0-b6fe-00a0c90f57da}</Data>
        <Data Name="ServiceName">mshidumdf</Data>
        <Data Name="LowerFilters">WUDFRd</Data>
        <Data Name="UpperFilters">
        </Data>
        <Data Name="Problem">0xa</Data>
        <Data Name="Status">0xc000001d</Data>
      </EventData>
    </Event>
     


    Any help to make windows to understand the device and do no get this error?

    Meanwhile I will continue developing in Linux and try on windows.

    I am using Ubuntu 18.04 and maybe there's a problem with the kernel drivers because they are two year old.

    I am going to try with a VM and Ubuntu 20.04 and other Distro to see if the problem persist.

    Thanks and Best Regards,

    Jose,

  • Hi Overbekk

    I tested with a VM using Ubuntu 20.04 and it work there.

    It is definitely  a problem on the O.S Kernel/driver side.

    For the meantime I will debugging using the VM until the Ubuntu 18.04 be ready for migration to Ubuntu 20.04.

    I never suspected that the problem were on the Kernel/driver side.

    Thanks and Best Regards,

    Jose

  • Hi Jose

    Thanks for sharing your results. 

    I will ask one of my more Linux proficient colleagues if this is a known issue. 

    Do you know which version of bluez you are running in Ubuntu 18.04?

    Best regards
    Torbjørn

  • Hi Ovrebekk.
    This is what it says synaptic

    I hope it will be useful.

    Keep me posted if this is a know issue.

    Meanwhile I keep debugging on the VM. I already make it works with an open source driver. My Open 3D Mouse make Blender and FreeCAD rotate when I push a buttons. It still needs more debugging, but I am moving forward.

    Thanks and Best Regards,

    Jose

Related