Windows – Why won’t some Bluetooth keyboards pair in Windows 8.1

bluetoothkeyboardwindows 8.1

I've got three different Bluetooth keyboards that I use on my Windows 8.1 PC.

  • Apple Wireless Keyboard

  • Logitech K810

  • Generic knockoff version on an Apple Wireless Keyboard by iClever

I've been using the knockoff Apple Wireless Keyboard for about six months, and yesterday I decided to switch to the Logitech K810. I went to Devices and Printers in the Control Panel and selected Add a device. I picked out the K810 from the list of available devices, and then I got a message saying

"That didn't work", "Try again, and make sure your keyboard is still
discoverable."

I tried restarting my PC and that didn't work, so I tried adding my Apple Wireless Keyboard, and I got the same message that I got when attempting to add the K810. After getting this message, I have to restart the Bluetooh Support Service in order to get my device to show up when clicking on Add a device.

I have removed and readded the Knockoff keyboard a few times, so I know Bluetooth is working. For some reason I cannot add either the Apple or Logitech keyboard. Does anyone know how to get these keyboards paired successfully

In my Event Viewer, I can see a couple of messages:

Log Name:      System
Source:        BTHUSB
Date:          12/2/2014 9:14:44 AM
Event ID:      3
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      dana
Description:
A command sent to the adapter has timed out. The adapter did not respond.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="BTHUSB" />
    <EventID Qualifiers="32773">3</EventID>
    <Level>3</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-12-02T14:14:44.574266200Z" />
    <EventRecordID>419031</EventRecordID>
    <Channel>System</Channel>
    <Computer>dana</Computer>
    <Security />
  </System>
  <EventData>
    <Data>
    </Data>
    <Binary>00000800010000000000000003000580570C00000000000000000000000000000000000000000000570C000000000000</Binary>
  </EventData>
</Event>

Log Name:      System
Source:        BTHUSB
Date:          12/2/2014 9:14:40 AM
Event ID:      5
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      dana
Description:
The Bluetooth driver expected an HCI event with a certain size but did not receive it.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="BTHUSB" />
    <EventID Qualifiers="49157">5</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-12-02T14:14:40.560627300Z" />
    <EventRecordID>419030</EventRecordID>
    <Channel>System</Channel>
    <Computer>dana</Computer>
    <Security />
  </System>
  <EventData>
    <Data>
    </Data>
    <Binary>00000C000100000000000000050005C00E000000000000000000000000000000000000000000000024000000040000000E040157</Binary>
  </EventData>
</Event>

Log Name:      System
Source:        BTHUSB
Date:          12/2/2014 9:14:40 AM
Event ID:      28
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      dana
Description:
The local adapter does not support Bluetooth Low Energy.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="BTHUSB" />
    <EventID Qualifiers="32773">28</EventID>
    <Level>3</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-12-02T14:14:40.560627300Z" />
    <EventRecordID>419029</EventRecordID>
    <Channel>System</Channel>
    <Computer>dana</Computer>
    <Security />
  </System>
  <EventData>
    <Data>
    </Data>
    <Binary>0000000001000000000000001C000580000000000000000000000000000000000000000000000000</Binary>
  </EventData>
</Event>

Log Name:      System
Source:        BTHUSB
Date:          12/2/2014 9:14:40 AM
Event ID:      18
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Computer:      dana
Description:
Windows cannot store Bluetooth authentication codes (link keys) on the local adapter. Bluetooth keyboards might not work in the system BIOS during startup.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="BTHUSB" />
    <EventID Qualifiers="16389">18</EventID>
    <Level>4</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-12-02T14:14:40.545001800Z" />
    <EventRecordID>419028</EventRecordID>
    <Channel>System</Channel>
    <Computer>dana</Computer>
    <Security />
  </System>
  <EventData>
    <Data>
    </Data>
    <Binary>00000800010000000000000012000540000000000000000000000000000000000000000000000000E000000000000000</Binary>
  </EventData>
</Event>

Best Answer

Your reciever is not compatible with GATT. I would hazard a guess that the Apple keyboard was made in the last 3-4 years... and you provided model number for the logi which we know is also BTLE.

When Bluetooth devices sync up they share "ATTribute profiles". These are basically just "codes" to say what functionality they are compatible with. The device in "pairing mode" announces it's profiles:

My name is "phone headset" and I can do Stereo Bluetooth A2DP or normal headset HSP!

In this case perhaps the phone doesn't know stereo sound (it doesnt have A2DP profile) so it just adds the device as a headset. "secure pairing" (using a PIN) is optional here.

Keyboards are a LOT more basic - where they only have a generic profile which is on all the receivers, and HID which (for keyboards) needs a PIN to connect securely EVERY time. I suspect this is where it is breaking down, due to the other keyboards being more advanced:

  1. PC searches for a device.
  2. Device announces ATT / GATT(Bluetooth Low-Energy), HID (input device > keyboard)
  3. The First error in that log just means the keyboard won't sync until the OS is booted each time (your adapter can't store the connection by itself). This is normal in cheaper units.
  4. Error 2: PC doesnt have BTLE (defined in the ATT) so drops that profile and is now following standard procedure for the HID - get a PIN
  5. Error 3: Device is still waiting on confirmation of ATT so the connection fails / times out. (Mexican stand-off)
Related Question