AM620-Q1: CC3301 Bluetooth (UART) Unable to Connect or Discover Devices on Custom AM62xx Board

Part Number: AM620-Q1
Other Parts Discussed in Thread: CC3301

Hi Team,

We are using a custom AM62xx board with the CC3301 wireless module. The Wi-Fi interface is configured over SDIO and is working correctly and is stable. However, we are facing persistent issues with the Bluetooth/BLE interface over UART. We are using the `k3-am625-sk-m2-cc3351.dtso` overlay. 

Issue Description

After enabling BLE on the target using the appropriate command, the board starts advertising successfully. We can discover the device from the SimpleLink Connect application as well as other BLE applications such as nRF Connect and BLE Scanner.

However, when attempting to establish a connection from any of these applications, the connection always fails with a connection timeout. The behavior is consistent across all applications tested.

Additionally, Bluetooth scanning and pairing from the AM62xx board are also not functioning correctly:

* Scanning from the custom board does not detect any nearby Bluetooth devices (mobile phones, laptops, etc.).
* Attempting to pair with a known device using:

  pair <Bluetooth_MAC_Address>

  reply: Device unavailable

Current Status

* Wi-Fi over SDIO is fully functional and stable.
* Bluetooth HCI interface initializes successfully.
* BLE advertising is visible on external devices.
* BLE connection always times out.
* Pairing with known Bluetooth MAC addresses fails with "Device unavailable."

Previous Support Request : https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1646856/am625-cc3300-ble-not-functioning-properly-on-am62xx-custom-board/6389999

We previously raised a support ticket regarding this issue, but unfortunately it has not helped us resolve the problem. We are still blocked and unable to proceed with Bluetooth integration.

Request

We would greatly appreciate your assistance in identifying the root cause of this issue.

Could you please advise:

1. Are there any known issues or additional configuration required for CC33xx Bluetooth over UART on a custom AM62xx platform?
2. Are there any firmware, UART, or HCI initialization steps that we should verify?
3. Is there any recommended debug procedure or log collection that would help isolate the problem?
4. Are there specific kernel configuration options, Device Tree settings, or BlueZ configurations that should be checked?
5. Since BLE advertising is visible but connection establishment always times out, what could be the possible causes?

We have been investigating this issue for quite some time, and it has become a critical blocker for our project. We need to determine whether the CC33xx solution is suitable for our product requirements.

We would sincerely appreciate your guidance and any recommendations to help resolve this issue.

Thank you for your time and support.

Navami

  • Hello Navami,

    We have a script in the CC33xx SDK that sets up a GATT server and allows for connection to the SimpleLink Connect and nrfConnect mobile applications. Have you had a chance to use it? See '__cc33xx_ble_adv_gatt_server.sh' in cc33xx/cc33xx_rootfs/usr/share/cc33xx/wifible_provisioning_demo/.

    https://www.ti.com/tool/download/CC33XX-LINUX-MPU 

  • Hi Sabeeh,

    Thank you for your reply.

    We are following the steps below to enable BLE:

    1. Enable BLE:

    echo 1 > /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable
    
    1. Start the BLE GATT server:

    ./__cc33xx_ble_adv_gatt_server.sh
    

    After following these steps, we are now able to discover and connect to the device using the SimpleLink mobile application.

    The console output is shown below:

    root@am62xx-lp-evm:/usr/share/cc33xx/wifible_provisioning_demo# ./__cc33xx_ble_adv_gatt_server.sh
    *** io_capab: KeyboardDisplay ***
    spawn bluetoothctl --agent=KeyboardDisplay
    [bluetooth]# default-agent
    No agent is registered
    ...
    [CHG] Controller 34:68:B5:88:3E:70 Powered: yes
    hci0 7C:F0:E5:EA:D0:66 type LE Public connected eir_len 0
    [CHG] Device 7C:F0:E5:EA:D0:66 Connected: yes
    [OnePlus Nord 5]#
    

    Although the BLE connection is established successfully, we are unable to verify the GATT read/write functionality.

    We need to test the GATT Read and Write functionality on this board. Could you please guide us on the correct procedure to verify these operations? Specifically, we would like to know how to perform read and write requests from the SimpleLink application (or any other recommended BLE client) and how to confirm that the board is correctly receiving and responding to these requests.

    Any guidance on verifying the BLE GATT read/write functionality would be greatly appreciated.

    Thank you.

  • Hi Navami,

    We do have a demo included into the CC33xx SDK where the user can test GATT write functions. The CC33x1 device will start a BLE role, wait for user to input Wi-Fi details, and then once received over the mobile application, the cc33xx will then attempt to connect to the wifi network using the provided details.

    You can read about how to set this up using the documentation details here: dev.ti.com/.../software-examples.html

  • Hi Sabeeh,

    This resolves the issue.

    Thanks for your timely help

    Regards
    Navami