windows11+intel BT5.3 bluetooth SCO remote connect Failure

小钧 唐 20 Reputation points
2023-07-04T02:31:51.6633333+00:00
brb = (struct _BRB_SCO_OPEN_CHANNEL*) &(connection->ConnectDisconnectBrb);
    devCtx->ProfileDrvInterface.BthReuseBrb((PBRB)brb, BRB_SCO_OPEN_CHANNEL_RESPONSE);
	
	brb->Hdr.ClientContext[0]	= connectionObject;
	brb->BtAddress				= ConnectParams->BtAddress;
	brb->ChannelHandle			= ConnectParams->ConnectionHandle;
	brb->Response				= SCO_CONNECT_RSP_RESPONSE_SUCCESS;
	
	brb->TransmitBandwidth		= 8000;
	brb->ReceiveBandwidth		= 8000;  // 64Kb/s
	brb->MaxLatency = 0xFFFF;// 50;

	brb->PacketType = 0x3F;// SCO_EV3;///**/devCtx->ScoPacketTypes;  SCO_HV1 | SCO_HV3
	brb->ContentFormat = SCO_VS_IN_CODING_LINEAR | SCO_VS_IN_SAMPLE_SIZE_16BIT | SCO_VS_AIR_CODING_FORMAT_CVSD; // SCO_VS_SETTING_DEFAULT;//SCO_VS_IN_CODING_LINEAR | SCO_VS_IN_SAMPLE_SIZE_16BIT | SCO_VS_AIR_CODING_FORMAT_CVSD;
	brb->RetransmissionEffort = SCO_RETRANSMISSION_MIN1_QUALITY;// SCO_RETRANSMISSION_MIN1_POWER;

	brb->ChannelFlags			= SCO_CF_LINK_SUPPRESS_PIN;
	brb->CallbackFlags			= CALLBACK_DISCONNECT;
	brb->Callback				= &HpSrvIndicationCallback;
	brb->CallbackContext		= connectionObject;
	brb->ReferenceObject		= (void*) WdfDeviceWdmGetDeviceObject(devCtx->Device);
	status = SendBrbAsync(devCtx->IoTarget, connection->ConnectDisconnectRequest, (PBRB)brb, sizeof(*brb), RemoteConnectCompletion, brb);
	if (!NT_SUCCESS(status))
		TraceEvents(TRACE_LEVEL_ERROR, DBG_CONNECT, "SendBrbAsync failed, Status = %X", status);
		
		
		
The below code can be connected normally before win11 Bluetooth 5.3, but in win11 Bluetooth 5.3 version brb->PacketType and brb->ContentFormat, no matter how you set the return value of status, the return value is always 0xC00000BB(STATUS_NOT_SUPPORTED)
Initialization uses BRB_SCO_GET_SYSTEM_INFO to obtain SCO information, and the result is:
BRB_SCO_GET_SYSTEM_INFO:
	Features = 3
	MaxChannels = 2
	TransferUnit = 0
	PacketTypes = 3F
	DataFormats = F
From the results, SCO is supported???but why does the SCO connection above always return STATUS_NOT_SUPPORTED?
C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,829 questions
Windows Hardware Performance
Windows Hardware Performance
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Hardware Performance: Delivering / providing hardware or hardware systems or adjusting / adapting hardware or hardware systems.
1,659 questions
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
10,455 questions
0 comments No comments
{count} votes

Accepted answer
  1. Limitless Technology 44,556 Reputation points
    2023-07-04T14:06:49.18+00:00

    Hello 小钧 唐,

    Thank you for your question and for reaching out with your question today.

    It seems that you are encountering an issue with the Bluetooth SCO (Synchronous Connection-Oriented) remote connection in Windows 11 with Bluetooth 5.3. The code you provided suggests that you are attempting to establish a SCO connection using the provided BRB (Bluetooth Request Block) parameters.

    However, regardless of the values you set for brb->PacketType and brb->ContentFormat, the returned status is always 0xC00000BB (STATUS_NOT_SUPPORTED). This indicates that the requested operation is not supported by the Bluetooth stack.

    You mentioned that you have obtained the SCO system information using BRB_SCO_GET_SYSTEM_INFO, and the results indicate that SCO is supported (Features = 3 and PacketTypes = 3F). This makes the behavior unexpected.

    To troubleshoot the issue, you could consider the following steps:

    1. Verify Bluetooth hardware and driver support: Ensure that your Bluetooth hardware and drivers fully support Bluetooth 5.3 and SCO connections. Check for any updated drivers or firmware for your Bluetooth device.
    2. Review Windows 11 compatibility: Confirm that your Bluetooth device and its associated drivers are officially compatible with Windows 11. Compatibility issues may arise if the drivers are not specifically designed for the Windows 11 environment.
    3. Check for Windows updates: Ensure that you have installed the latest Windows updates, including any optional updates or driver updates specifically related to Bluetooth functionality. Microsoft may release updates to address known issues or improve Bluetooth compatibility.
    4. Test on a different system: If possible, try running your code on a different system with similar Bluetooth hardware and Windows 11 to see if the issue persists. This can help determine if the problem is specific to your system or more widespread.
    5. Contact Bluetooth hardware or software vendor support: If the issue persists, consider reaching out to the manufacturer or vendor of your Bluetooth hardware or software for further assistance. They may be able to provide specific guidance or troubleshooting steps based on their product's implementation.

    It's worth noting that Bluetooth implementation details can vary across different hardware and software configurations, so the specific cause of the issue may require deeper investigation and involvement from the Bluetooth device manufacturer or Microsoft support.

    I used AI provided by ChatGPT to formulate part of this response. I have verified that the information is accurate before sharing it with you.

    If the reply was helpful, please don’t forget to upvote or accept as answer.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.