ChromeOS Compatible - Bluetooth Specification v1.1
Stay organized with collections
Save and categorize content based on your preferences.
Version: 1.1
Last Updated: 2024-09-05
Legend
Product Verb |
Development Action |
"MUST" |
Mandatory product requirement |
"SHOULD" |
Optional recommendation |
"MAY" |
Nice to have |
Objectives
This specification document describes the Bluetooth compliance criteria that
ChromeOS Compatible devices meet.
Terminology
- Bluetooth device or device
- The ChromeOS compatible peripheral being
qualified.
- ChromeOS device
- The host or controlling device, if applicable.
Generic Bluetooth Requirements
The following requirements apply to all Bluetooth devices (accessories and
peripherals). Additional sections define scenario-specific requirements.
- The device MUST be qualified and listed on
https://launchstudio.bluetooth.com.
- The device SHOULD be qualified against Bluetooth Core 4.0 or higher core
specification.
- The device SHOULD use a 7.5ms aligned connection or sniff interval.
Bluetooth Basic Rate and Enhanced Data Rate (aka Classic)
These requirements apply to any device supporting the Bluetooth BR/EDR
transport.
- The device MUST support Enhanced Data Rate (EDR).
- The device MUST support the Service Discovery Protocol (SDP) without
requiring pairing.
These requirements apply to Bluetooth accessories that provide user input
capabilities, such as mice and keyboards.
- The device MUST use Low Energy (LE) transport.
- The device MUST support the HID Over Gatt Profile.
Bluetooth Headset and Speaker Device Requirements
These requirements apply to Bluetooth accessories that provide audio input and
output capabilities through the Bluetooth Hands Free Profile (HFP) and Advanced
Audio Distribution Profile (A2DP). These requirements are in addition to the
Generic Bluetooth Requirements.
- The audio device MUST set the following bits in the Major Service
section of the Class of Device (COD) parameter:
- Audio (bit 21)
- Rendering (bit 18)
ChromeOS specific muting requirements
For this section, the following abbreviations apply:
- HF
- The Hands-Free device (Bluetooth peripheral)
- AG
- The Audio Gateway (ChromeOS device host)
If the bluetooth device (HF) supports Hands-Free Profile profile:
- HF’s Hands-Free Profile must be able to send packets and provide sound
bidirectionally (playback/capture) even if AG does not tigger
+CIEV,1
to
HF during eSCO connection.
- If HF has a microphone mute interface:
- HF MUST use
AT+VGM=0
to represent microphone mute.
- HF MUST send
AT+VGM=0
to request microphone mute in a VC app (like
Meet) on AG.
- HF MUST mute the microphone when AG sends
AT+VGM=0
to HF.
- HF MUST use
AT+VGM=X X=[1-15]
to represent microphone unmute.
- HF MUST send
AT+VGM=X X=[1-15]
to request microphone unmute in a
VC app (like Meet) on AG.
- HF MUST unmute the microphone When AG sends
AT+VGM=X X=[1-15]
.
Revision History
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-12-18 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-18 UTC."],[[["\u003cp\u003eThis specification outlines the Bluetooth compliance criteria for devices compatible with ChromeOS.\u003c/p\u003e\n"],["\u003cp\u003eAll Bluetooth devices must be qualified and listed on launchstudio.bluetooth.com and should support Bluetooth Core 4.0 or higher.\u003c/p\u003e\n"],["\u003cp\u003eBluetooth input devices, like mice and keyboards, must use Low Energy transport and support the HID Over Gatt Profile.\u003c/p\u003e\n"],["\u003cp\u003eBluetooth audio devices must support Enhanced Data Rate and the Service Discovery Protocol, and meet specific Class of Device requirements.\u003c/p\u003e\n"],["\u003cp\u003eChromeOS has specific muting requirements for Hands-Free Profile devices, focusing on microphone control and bidirectional sound.\u003c/p\u003e\n"]]],[],null,["Version: 1.1 \n\nLast Updated: 2024-09-05\n\nLegend\n\n| Product Verb | Development Action |\n|--------------|-------------------------------|\n| \"MUST\" | Mandatory product requirement |\n| \"SHOULD\" | Optional recommendation |\n| \"MAY\" | Nice to have |\n\nObjectives\n\nThis specification document describes the Bluetooth compliance criteria that\nChromeOS Compatible devices meet.\n\nTerminology\n\nBluetooth device *or* device\n: The ChromeOS compatible peripheral being\n qualified.\n\nChromeOS device\n: The host or controlling device, if applicable.\n\nGeneric Bluetooth Requirements\n\nThe following requirements apply to all Bluetooth devices (accessories and\nperipherals). Additional sections define scenario-specific requirements.\n\n- The device MUST be qualified and listed on \u003chttps://launchstudio.bluetooth.com\u003e.\n- The device SHOULD be qualified against Bluetooth Core 4.0 or higher core specification.\n- The device SHOULD use a 7.5ms aligned connection or sniff interval.\n\nBluetooth Basic Rate and Enhanced Data Rate (aka Classic)\n\nThese requirements apply to any device supporting the Bluetooth BR/EDR\ntransport.\n\n- The device MUST support Enhanced Data Rate (EDR).\n- The device MUST support the Service Discovery Protocol (SDP) without requiring pairing.\n\nBluetooth Input Device Requirements\n\nThese requirements apply to Bluetooth accessories that provide user input\ncapabilities, such as mice and keyboards.\n\n- The device MUST use Low Energy (LE) transport.\n- The device MUST support the HID Over Gatt Profile.\n\nBluetooth Headset and Speaker Device Requirements\n\nThese requirements apply to Bluetooth accessories that provide audio input and\noutput capabilities through the Bluetooth Hands Free Profile (HFP) and Advanced\nAudio Distribution Profile (A2DP). These requirements are in addition to the\n[Generic Bluetooth Requirements](#generic_bluetooth_requirements).\n\n- The audio device MUST set the following bits in the [Major Service](https://www.bluetooth.com/specifications/assigned-numbers/baseband/) section of the Class of Device (COD) parameter:\n - Audio (bit 21)\n - Rendering (bit 18)\n\n| **Note:** The Class of Device bitfields are defined in the [Assigned Numbers\n| Document](https://www.bluetooth.com/specifications/assigned-numbers/).\n\nChromeOS specific muting requirements\n\nFor this section, the following abbreviations apply:\n\nHF\n: The Hands-Free **device** (Bluetooth peripheral)\n\nAG\n: The Audio Gateway (**ChromeOS device** host)\n\nIf the bluetooth device (HF) supports Hands-Free Profile profile:\n\n- HF's Hands-Free Profile must be able to send packets and provide sound bidirectionally (playback/capture) even if AG does not tigger `+CIEV,1` to HF during eSCO connection.\n- If HF has a microphone mute interface:\n - HF MUST use `AT+VGM=0` to represent microphone mute.\n - HF MUST send `AT+VGM=0` to request microphone mute in a VC app (like Meet) on AG.\n - HF MUST mute the microphone when AG sends `AT+VGM=0` to HF.\n - HF MUST use `AT+VGM=X X=[1-15]` to represent microphone unmute.\n - HF MUST send `AT+VGM=X X=[1-15]` to request microphone unmute in a VC app (like Meet) on AG.\n - HF MUST unmute the microphone When AG sends `AT+VGM=X X=[1-15]`.\n\nRevision History\n\n| Date | Version | Notes |\n|------------|---------|----------------------------------------------------------------------------------------|\n| 2024-09-05 | 1.1 | Added [ChromeOS specific muting requirements](#chromeos_specific_muting_requirements). |\n| 2024-02-01 | 1.0.1 | Republication on a new platform. |\n| 2023-08-18 | 1.0 | Initial Partner Site Publication. |"]]