# 验证 Fluoride 协议栈的功能

蓝牙 Fluoride 协议栈支持定制，并提供高级功能以实现更好的性能和用户体验。

要在套件上启用 Fluoride 协议栈，请执行以下操作：

1. 应用以下补丁：

    - 补丁1：

diff --git a/recipes-products/packagegroups/packagegroup-qcom-multimedia.bb b/recipes-products/packagegroups/packagegroup-qcom-multimedia.bb
            index ac0e838..281fc8a 100644
            --- a/recipes-products/packagegroups/packagegroup-qcom-multimedia.bb
            +++ b/recipes-products/packagegroups/packagegroup-qcom-multimedia.bb
            @@ -27,6 +27,7 @@ RDEPENDS:${PN} = "\
            
            RDEPENDS:${PN}:append:qcom-custom-distro = "\
                 packagegroup-qcom-audio \
            +    packagegroup-qcom-bluetooth \
                 packagegroup-qcom-fastcv \
                 packagegroup-qcom-graphics \
                 packagegroup-qcom-iot-base-utils \
            Copy to clipboard
    - 补丁2：

diff --git a/conf/machine/qcm6490-idp.conf b/conf/machine/qcm6490-idp.conf
            index a108cc07..e105f11f 100644
            --- a/conf/machine/qcm6490-idp.conf
            +++ b/conf/machine/qcm6490-idp.conf
            @@ -19,20 +19,21 @@ KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
            # Additional dtbo to overylay on top of kernel devicetree files
            KERNEL_TECH_DTBOS[qcm6490-addons-idp] = " \
                 qcm6490-graphics.dtbo \
            -    qcm6490-camera-idp.dtbo \
            +    qcm6490-camera-idp.dtbo qcm6490-bt.dtbo \
                 qcm6490-wlan-idp.dtbo qcm6490-video.dtbo \
                 qcm6490-wlan-upstream.dtbo \
                 "
            
            KERNEL_TECH_DTBOS[qcm6490-addons-idp-amoled] = " \
                 qcm6490-graphics.dtbo \
            -    qcm6490-camera-idp.dtbo \
            +    qcm6490-camera-idp.dtbo qcm6490-bt.dtbo \
                 qcm6490-wlan-idp.dtbo qcm6490-video.dtbo \
                 qcm6490-wlan-upstream.dtbo \
                 "
            
            # Recipe providers of above dtbo files.
            KERNEL_TECH_DTBO_PROVIDERS = "\
            +    btdevicetree \
                 cameradtb \
                 qcom-graphicsdevicetree \
                 qcom-videodtb \
            diff --git a/conf/machine/qcs6490-rb3gen2-core-kit.conf b/conf/machine/qcs6490-rb3gen2-core-kit.conf
            index 13a842a2..63d512df 100644
            --- a/conf/machine/qcs6490-rb3gen2-core-kit.conf
            +++ b/conf/machine/qcs6490-rb3gen2-core-kit.conf
            @@ -27,14 +27,16 @@ KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
            # Additional dtbo to overylay on top of kernel devicetree files
            KERNEL_TECH_DTBOS[qcs6490-addons-rb3gen2] = " \
                 qcm6490-graphics.dtbo qcm6490-wlan-rb3.dtbo \
            +    qcm6490-bt.dtbo \
                 qcm6490-video.dtbo qcm6490-wlan-upstream.dtbo \
                 "
            KERNEL_TECH_DTBOS[qcs6490-addons-rb3gen2-hsp] = " \
                 qcm6490-wlan-rb3-hsp.dtbo \
            +    qcm6490-bt-rb3-hsp.dtbo \
                 "
            KERNEL_TECH_DTBOS[qcs5430-fp1-addons-rb3gen2] = " \
                 qcs5430-graphics.dtbo qcm5430-camera-rb3.dtbo \
            -    qcs5430-wlan-rb3.dtbo \
            +    qcs5430-wlan-rb3.dtbo qcm6490-bt.dtbo \
                 qcm6490-video.dtbo \
                 qcs5430-wlan-upstream.dtbo \
                 "
            @@ -42,7 +44,7 @@ KERNEL_TECH_DTBOS[qcs5430-fp1-addons-rb3gen2-hsp] = " \
                 "
            KERNEL_TECH_DTBOS[qcs5430-fp2-addons-rb3gen2] = " \
                 qcs5430-graphics.dtbo qcm5430-camera-rb3.dtbo \
            -    qcs5430-wlan-rb3.dtbo \
            +    qcs5430-wlan-rb3.dtbo qcm6490-bt.dtbo \
                 qcm6490-video.dtbo \
                 qcs5430-wlan-upstream.dtbo \
                 "
            @@ -65,6 +67,7 @@ KERNEL_TECH_DTBOS[qcs5430-fp3-addons-rb3gen2-hsp] = " \
            
            # Recipe providers of above dtbo files.
            KERNEL_TECH_DTBO_PROVIDERS = "\
            +    btdevicetree \
                 cameradtb \
                 qcom-graphicsdevicetree \
                 qcom-videodtb \
            diff --git a/conf/machine/qcs6490-rb3gen2-industrial-kit.conf b/conf/machine/qcs6490-rb3gen2-industrial-kit.conf
            index ed71c55f..7380079f 100644
            --- a/conf/machine/qcs6490-rb3gen2-industrial-kit.conf
            +++ b/conf/machine/qcs6490-rb3gen2-industrial-kit.conf
            @@ -17,6 +17,7 @@ KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
            
            # Recipe providers of above dtbo files.
            KERNEL_TECH_DTBO_PROVIDERS = "\
            +    btdevicetree \
                 cameradtb \
                 qcom-graphicsdevicetree \
                 qcom-videodtb \
            diff --git a/conf/machine/qcs6490-rb3gen2-vision-kit.conf b/conf/machine/qcs6490-rb3gen2-vision-kit.conf
            index 61237603..b5967a60 100644
            --- a/conf/machine/qcs6490-rb3gen2-vision-kit.conf
            +++ b/conf/machine/qcs6490-rb3gen2-vision-kit.conf
            @@ -31,21 +31,22 @@ KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
            KERNEL_TECH_DTBOS[qcs6490-addons-rb3gen2-video-mezz] = " \
                 qcm6490-graphics.dtbo qcm6490-camera-rb3.dtbo \
                 qcm6490-wlan-rb3.dtbo \
            -    qcm6490-video.dtbo \
            +    qcm6490-bt.dtbo qcm6490-video.dtbo \
                 qcm6490-wlan-upstream.dtbo \
                 "
            KERNEL_TECH_DTBOS[qcs6490-addons-rb3gen2-vision-mezz] = " \
                 qcm6490-graphics.dtbo qcm6490-camera-rb3.dtbo \
                 qcm6490-wlan-rb3.dtbo \
            -    qcm6490-video.dtbo \
            +    qcm6490-bt.dtbo qcm6490-video.dtbo \
                 qcm6490-wlan-upstream.dtbo \
                 "
            KERNEL_TECH_DTBOS[qcs6490-addons-rb3gen2-vision-mezz-hsp] = " \
                 qcm6490-wlan-rb3-hsp.dtbo \
            +    qcm6490-bt-rb3-hsp.dtbo \
                 "
            KERNEL_TECH_DTBOS[qcs5430-fp1-addons-rb3gen2-vision-mezz] = " \
                 qcs5430-graphics.dtbo qcm5430-camera-rb3.dtbo \
            -    qcs5430-wlan-rb3.dtbo \
            +    qcs5430-wlan-rb3.dtbo qcm6490-bt.dtbo \
                 qcm6490-video.dtbo \
                 qcs5430-wlan-upstream.dtbo \
                 "
            @@ -53,7 +54,7 @@ KERNEL_TECH_DTBOS[qcs5430-fp1-addons-rb3gen2-vision-mezz-hsp] = " \
                 "
            KERNEL_TECH_DTBOS[qcs5430-fp2-addons-rb3gen2-vision-mezz] = " \
                 qcs5430-graphics.dtbo qcm5430-camera-rb3.dtbo \
            -    qcs5430-wlan-rb3.dtbo \
            +    qcs5430-wlan-rb3.dtbo qcm6490-bt.dtbo \
                 qcm6490-video.dtbo \
                 qcs5430-wlan-upstream.dtbo \
                 "
            @@ -75,6 +76,7 @@ KERNEL_TECH_DTBOS[qcs5430-fp3-addons-rb3gen2-vision-mezz-hsp] = " \
                 "
            # Recipe providers of above dtbo files.
            KERNEL_TECH_DTBO_PROVIDERS = "\
            +    btdevicetree \
                 cameradtb \
                 qcom-graphicsdevicetree \
                 qcom-videodtb \
            Copy to clipboard

Note

如果补丁未正确应用，请手动应用。
2. 重新编译整个镜像并按照 [*Qualcomm Linux 编译指南*](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254) 中的说明进行刷写。

在 Qualcomm Linux 中，使用 **btapp** 示例测试应用程序来验证 Fluoride 协议栈的蓝牙功能。使用此应用程序演示了每个 profile 的蓝牙测试程序和用例。

Note

由于 **btapp** 是命令行可执行文件，因此在 SSH 中以命令的形式输入具体内容。

**btapp** 以菜单选项的形式提供以下蓝牙 profile 的功能：

- [通用访问 Profile (General Access Profile)](https://docs.qualcomm.com/doc/80-70018-13SC/topic/gap_operation.html)
蓝牙低功耗 GAP 是对现有 BR/EDR GAP 的扩展。
- [串行端口 Profile (Serial Port Profile)](https://docs.qualcomm.com/doc/80-70018-13SC/topic/set_up_bluetooth_in_spp.html)
SPP 是一种蓝牙 profile，可通过虚拟串行端口促进设备之间的无线通信。
- [通用属性 Profile (General Attribute Profile)](https://docs.qualcomm.com/doc/80-70018-13SC/topic/set_up_ble_gatt.html)
GATT 是一个服务框架，它使用 ATT 来发现服务，并在对等设备上读写特征值。
- [高级音频分发 Profile (Advanced Audio Distribution Profile)](https://docs.qualcomm.com/doc/80-70018-13SC/topic/set-up-a2dp.html)
A2DP 定义如何通过蓝牙连接将多媒体音频从一个设备传输到另一个设备。这种机制也称为蓝牙音频流。
- [免提 Profile (Hands-Free Profile)](https://docs.qualcomm.com/doc/80-70018-13SC/topic/set-up-hfp.html)
HFP 定义音频网关设备如何连接至免提设备以实现远程控制和音频连接等功能。

Last Published: Apr 30, 2025

[Previous Topic
执行蓝牙 MAP 客户端功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/bluez-perform-bluetooth-map-client-functions.md) [Next Topic
通用访问 Profile (General Access Profile)](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/gap_operation.md)