Sound Id Bluetooth Devices Driver



To help improve the accuracy of headphone audio measurements for third-party Bluetooth devices, you should classify them as headphones, speakers, or other types (iOS 14.4 or later). Go to Settings Bluetooth, then tap next to the name of the device. Tap Device Type, then choose a classification. It can be caused by many possible factors, such as Windows 10 October 2018 update bugs, the audio devices is unknown, or audio drivers are missing. According to Microsoft, “ An Intel audio driver was incorrectly pushed to devices via Windows Update ”, incompatible audio drivers might be one of the causes as well. In the device manager I can see the headset under 'bluetooth' and under the 'sound, video, and game controllers' node but there are 3 items under the 'Other devices' node for which I cannot install the drivers: The hardware ID's are the same as the OP's hardware ID's. Drivers and software for the Plugable USB-BT4LE Bluetooth adapter. Drivers are not required on Windows 10 or Linux.

-->

The Bluetooth driver stack comprises the core portion of the support provided by Microsoft for the Bluetooth protocol. With this stack, Bluetooth-enabled devices can locate each other and establish connections. Across such connections, the devices can exchange data and interact with one another through various applications.

The following image shows the modules within the Bluetooth driver stack, along with possible custom user-mode and kernel-mode drivers not included in Windows Vista and later. These custom drivers are known as profile drivers.

  • User-mode

    • User-mode application- A user-mode application that accesses the Bluetooth driver stack through published APIs. For more information, see About Bluetooth in the Windows SDK documentation.

      Note User-mode applications should link against BthProps.lib, instead of IrProps.lib, in order to use APIs, such as BluetoothSetLocalServiceInfo.

  • Examples of profile drivers

    • WAP Kernel Mode Driver- The Wireless Application Protocol (WAP) component is an example of a profile driver that communicates between the Windows networking stack and BthPort, accessing the L2CAP interface and, optionally, the SDP interface contained in L2CAP. Other possible profiles include the Advanced Audio Distribution profile (A2DP), A/V Remote Control profile (AVRCP), Generic A/V Distribution profile (GAVDP), and Common ISDN Access (CIP) profile.

    • Audio Kernel Mode Driver- An example of a profile driver that communicates between the Windows audio stack and BthPort, accessing the SCO interfaces contained in the latter. Possible profiles include the Hands Free profile (HFP), Headset profile (HSP), Cordless Telephony profile (CTP), and Intercom profile (ICP).Note This profile driver is included with Windows beginning with Windows 8.

    • Bluetooth LE Heart Rate Monitor Profile- An example of a Bluetooth LE profile driver that communicates with the Bluetooth Low Energy (LE) API.

  • Bluetooth driver stack components

    • IrProps- A component that is used for backward compatibility for profile drivers that are created for the first version of the Bluetooth driver stack.

      NoteIrProps is provided only for backward compatibility. Use the BthProps component for new development.

    • BthProps- A component that contains the implementation of the Bluetooth user interface along with implementation of the Bluetooth APIs that user-mode applications access. This component sends inquiries to BthServ through remote procedure calls (RPC). Additionally, BthProps performs pin exchanges with BthPort through private IOCTLs. Note that BthProps runs on any system with a Bluetooth-enabled radio.

    • BthServ- A service that is responsible for caching and forwarding inquiry data to Bthport.

    • BthCi- The Bluetooth class installer.

    • WshBth- The Bluetooth Windows socket helper component. WshBth is called by the Windows sockets layer to perform socket operations. WshBth primarily calls into RfComm through the TDI interface. WshBth also calls into BthServ to perform remote device inquiries and into BthPort to perform local radio inquiries.

    • FSquirt- A nonextensible Object Exchange (OBEX) component that allows users to send and receive files across an open Bluetooth connection. OBEX communicates with remote devices through RFCOMM that uses the WshBth component.

    • BthPrint- A component that implements the Hardcopy Cable Replacement Profile (HCRP). This component allows the print system to send data to and receive data from Bluetooth-enabled printers. BthPrint communicates with the SDP interface in BthPort to query remote printers and the L2CAP interface in BthPort to send and receive data.

    • HidBth- The component that implements the Human Interface Device (HID) profile. HidBth also communicates with the L2CAP and SDP interfaces in BthPort. HidBth connects to the HID stack much like USB HID module does.

    • BthPan- The component that implements the Personal Area Network (PAN) profile, providing TCP connections across an open Bluetooth connection. In Windows Vista and Windows XP, BthPan only supports outgoing connections. BthPan is also a client of the BthPort component and uses both the L2CAP and SDP interfaces.

    • RfComm- The component that implements the Bluetooth serial cable emulation protocol. RfComm also uses the L2CAP and SDP interfaces found in BthPort. The upper edge of RfComm exposes the TDI interface, allowing this component to appear to be a networking transport. This is how WshBth connects to Bluetooth to send and receive data from user-mode APIs.

      User-mode applications can access RfComm using the Winsock interfaces described in the Windows SDK.

    • BthModem- The component that implements virtual COM ports and dial-up networking (DUN). BthModem directs all I/O and control operations to RfComm through a TDI interface. The upper edge of BthModem communicates with Serial.sys to give the appearance of being a wireless COM port.Note This component is not available in Windows RT.

    • BthEnum- The Bluetooth bus driver. BthEnum communicates with the Plug and Play (PnP) manager to create and destroy device objects used to enable Bluetooth services. BthEnum creates a PDO for every service that a connected remote device supports. For example, when a user connects a Bluetooth-enabled mouse, Windows will discover that the mouse supports the Bluetooth HID service and creates a PDO for the HID service that causes the PnP manager to load HidBth.

      Note BthEnum will not create PDOs for services that appear in the UnsupportedServices registry key as specified in Bth.inf.

    • BthLEEnum- The Bluetooth Low Energy (LE) bus driver. BthLEEnum implements the ATT protocol and the GATT profile. It is also responsible for creating PDOs to represent the remote devices and their primary services.

    • BthPort- A minidriver loaded by the BthUsb miniport. BthPort provides four components:

      • The HCI component communicates to the local Bluetooth-enabled radio through the Host Controller Interface (HCI) defined in the Bluetooth specification. Because all Bluetooth-enabled radios implement the HCI specification, BthPort is able to communicate with any Bluetooth-enabled radio, regardless of the manufacturer or model.
      • The SCO component implements the Synchronous Connection-Oriented (SCO) protocol. This protocol supports creating point-to-point connections to a remote device. SCO clients communicate with the SCO interface by building and sending Bluetooth request blocks (BRBs).
      • L2CAP implements the Bluetooth logical link control and adaptation protocol. This protocol supports creating a lossless channel to a remote device. L2CAP clients communicate with the L2CAP interface by building and sending Bluetooth request blocks (BRBs).
      • SDP implements the Bluetooth Service Discovery Protocol.
    • BthUsb.sys- The miniport that abstracts the bus interface from BthPort.

-->

This section describes the class-of-device (CoD) registry subkeys and entries that apply to the Bluetooth driver stack.

'COD Major' and 'COD Type' Values

Original equipment manufacturer (OEMs) can use the COD Major and COD Type values to indicate the Class of Device for a Bluetooth-enabled Windows device. After the Bluetooth class installer sets the Class of Device based on these registry values, a remote device can determine whether it is connecting to a portable computer, a desktop computer, a phone, and so on.

Sound Id Bluetooth Devices Driver

The registry path to the COD Major and COD Type values is:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBTHPORTParameters

Note that setting these values changes the Bluetooth Class of Device for the system, regardless of which Bluetooth radio may be attached. You can set the COD Major and COD Type to DWORD values as defined for the Class of Device field values in the Bluetooth SIG Assigned Numbers.

The Bluetooth profile driver, BthPort.sys, reads the COD Major and COD Type values to determine how it should respond to a device inquiry. These values affect only the COD_MAJOR_XXX and COD_XXX_MINOR_XXX bits of the Class of Device. The COD_SERVICE_XXX bits are not affected by this registry entry.

If the COD Major and COD Type values are not set or are set to invalid values, the Bluetooth class installer will set these values to COD_MAJOR_COMPUTER and COD_COMPUTER_MINOR_DESKTOP, respectively.

Scanning Parameterization Settings

Profile drivers can specify scanning parameters settings for their device(s) in their profile driver's INF file to tailor to the specific needs of a given device scenario.

You can override the default system scanning parameters by providing one or more of the following scanning parameters listed below into the AddReg directive. More information on how to use this directive can be found in INF AddReg Directive.

Value NameTypeMin ValueMax Value
HighDutyCycleScanWindowDWORD 0x100010x00040x4000. Shall be equal or smaller than the HighDutyCycleScanInterval parameter
HighDutyCycleScanIntervalDWORD 0x100010x00040x4000
LowDutyCycleScanWindowDWORD 0x100010x00040x4000. Shall be smaller than the LowDutyCycleScanInterval parameter
LowDutyCycleScanIntervalDWORD 0x100010x00040x4000
LinkSupervisionTimeoutDWORD 0x100010x000A0x0C80
ConnectionLatencyDWORD 0x100010x00000x01F4
ConnectionIntervalMinDWORD 0x100010x00060x0C80. Shall be smaller or equal to ConnectionIntervalMax
ConnectionIntervalMaxDWORD 0x100010x00060x0C80

Note

Sound Id Bluetooth Devices Driver Bluetooth

Changes to scanning parameters make a global impact on the performance of the Bluetooth stack. Making changes to scanning parameters programmatically is not permitted. Using Low Duty Cycle scanning parameters that are too aggressive can not only have a negative impact to the available bandwidth for other Bluetooth Low Energy connections, but also for Bluetooth BR/EDR connections.