AirPods 4 Bluetooth Firmware Bug in L2CAP

Hello,

I am a Bluetooth Engineer at Google investigating an interoperability bug between an Android device and AirPods 4. When requesting an L2CAP connection (with PSM = AVDTP) to the AirPods during SDP service discovery, The AirPods L2CAP layer incorrectly responds with a "refused - no resources available" status followed by a Pending status and a Success status. This violates the specification, which says that the request has been fully rejected after the refused status and should not receive followup responses. I suspect the "no resources available" response is a bug. This prevents A2DP from working with the AirPods.

This bug does not exist with AirPods 2 firmware.

Here is a packet capture:

1602	1969-12-31 16:07:04.805261	0.062473	localhost ()	Apple_6b:db:09 (AirPods)	L2CAP	17	Sent Connection Request (AVDTP, SCID: 0x22c6)
1603	1969-12-31 16:07:04.810953	0.005692	controller	host	HCI_EVT	8	Rcvd Number of Completed Packets
1604	1969-12-31 16:07:04.811078	0.000125	Apple_6b:db:09 (AirPods)	localhost ()	SDP	27	Rcvd Service Search Attribute Request : Device Information: [Bluetooth Profile Descriptor List 0x0009] 
1605	1969-12-31 16:07:04.821249	0.010171	localhost ()	Apple_6b:db:09 (AirPods)	SDP	19	Sent Service Search Attribute Response 
1606	1969-12-31 16:07:04.876396	0.055147	controller	host	HCI_EVT	8	Rcvd Number of Completed Packets
1607	1969-12-31 16:07:04.876464	0.000068	Apple_6b:db:09 (AirPods)	localhost ()	L2CAP	21	Rcvd Connection Response - Refused - no resources available (SCID: 0x22c6)
1608	1969-12-31 16:07:04.942539	0.066075	Apple_6b:db:09 (AirPods)	localhost ()	SDP	41	Rcvd Service Search Attribute Request : Unknown: [Bluetooth Profile Descriptor List 0x0009] 
1609	1969-12-31 16:07:04.951052	0.008513	localhost ()	Apple_6b:db:09 (AirPods)	SDP	19	Sent Service Search Attribute Response 
1610	1969-12-31 16:07:05.010605	0.059553	controller	host	HCI_EVT	8	Rcvd Number of Completed Packets
1611	1969-12-31 16:07:05.080593	0.069988	Apple_6b:db:09 (AirPods)	localhost ()	SDP	27	Rcvd Service Search Attribute Request : GATT: [Bluetooth Profile Descriptor List 0x0009] 
1612	1969-12-31 16:07:05.087636	0.007043	localhost ()	Apple_6b:db:09 (AirPods)	SDP	19	Sent Service Search Attribute Response 
1613	1969-12-31 16:07:05.209417	0.121781	controller	host	HCI_EVT	8	Rcvd Number of Completed Packets
1614	1969-12-31 16:07:05.279491	0.070074	Apple_6b:db:09 (AirPods)	localhost ()	L2CAP	21	Rcvd Connection Response - Pending (SCID: 0x22c6)
1615	1969-12-31 16:07:05.280731	0.001240	Apple_6b:db:09 (AirPods)	localhost ()	L2CAP	21	Rcvd Connection Response - Success (SCID: 0x22c6, DCID: 0x0406)

Please file this bug with the AirPods Bluetooth team.

Answered by Engineer in 877225022

It would be more appropriate if you filed this bug yourself, as the team might need further logs or details about the Android device, and they would be able to contact you directly with further questions.

Please use https://feedbackassistant.apple.com/ to file a bug report, include all logs, airtraces, and any information you think is relevant.

Once you have filed it, please share the Feedback ID here, and @mention me in your reply, so I can route the bug report to the appropriate team.


Argun Tekant /  WWDR Engineering / Core Technologies

Accepted Answer

It would be more appropriate if you filed this bug yourself, as the team might need further logs or details about the Android device, and they would be able to contact you directly with further questions.

Please use https://feedbackassistant.apple.com/ to file a bug report, include all logs, airtraces, and any information you think is relevant.

Once you have filed it, please share the Feedback ID here, and @mention me in your reply, so I can route the bug report to the appropriate team.


Argun Tekant /  WWDR Engineering / Core Technologies

AirPods 4 Bluetooth Firmware Bug in L2CAP
 
 
Q