Skip to main content
To perform Bluetooth GAP functions, you must first complete the steps in the following procedure.

Prerequisites

  • Enable SSH to access your host device. For instructions, see Sign in using SSH.
  • Place the device under test (DUT) and the remote device in the Bluetooth vicinity.

Set up the device for Bluetooth GAP functions

  1. Run the SSH in command prompt using the following command:
    ssh root@<device_IP_address>
    
    Example If the IP address of the device is 10.92.160.222, run the following command:
    ssh root@10.92.160.222
    
  2. Connect to the SSH by entering the following password:
    oelinux123
    
  3. Open the Bluetooth test application by running the following command:
    bluetoothctl
    
    Sample output
    sh-5.1# bluetoothctl
    Agent registered        uetoothd...
    [CHG] Controller 22:22:F1:C1:99:C0 Pairable: yes
    
    • To view GAP functions, run the following command:
      help
      
      This command provides the main menu of bluetoothctl. The main menu includes the submenus and GAP functions. To perform GAP functions, see Perform Bluetooth GAP functions. Sample output
      [bluetooth]# help
      Menu main:
      Available commands:
      -------------------
      advertise                                         Advertise Options Submenu
      monitor                                           Advertisement Monitor Options Submenu
      scan                                              Scan Options Submenu
      gatt                                              Generic Attribute Submenu
      admin                                             Admin Policy Submenu
      player                                            Media Player Submenu
      endpoint                                          Media Endpoint Submenu
      transport                                         Media Transport Submenu
      list                                              List available controllers
      show [ctrl]                                       Controller information
      select <ctrl>                                     Select default controller
      devices [Paired/Bonded/Trusted/Connected]         List available devices, with an optional property as the filter
      system-alias <name>                               Set controller alias
      reset-alias                                       Reset controller alias
      power <on/off>                                    Set controller power
      pairable <on/off>                                 Set controller pairable mode
      discoverable <on/off>                             Set controller discoverable mode
      discoverable-timeout [value]                      Set discoverable timeout
      agent <on/off/capability>                         Enable/disable agent with given capability
      default-agent                                     Set agent as the default one
      advertise <on/off/type>                           Enable/disable advertising with given type
      set-alias <alias>                                 Set device alias
      scan <on/off/bredr/le>                            Scan for devices
      info [dev]                                        Device information
      pair [dev]                                        Pair with device
      cancel-pairing [dev]                              Cancel pairing with device
      trust [dev]                                       Trust device
      untrust [dev]                                     Untrust device
      block [dev]                                       Block device
      unblock [dev]                                     Unblock device
      remove <dev>                                      Remove device
      connect <dev>                                     Connect device
      disconnect [dev]                                  Disconnect device
      menu <name>                                       Select submenu
      version                                           Display version
      quit                                              Quit program
      exit                                              Quit program
      help                                              Display help about this program
      export                                            Print environment variables
      
    • To verify the state of Bluetooth on the device, run the following command:
      show
      
      Sample output
      [bluetooth]# show
      Controller 8C:FD:F0:21:84:23 (public)
               Name: qcs9100-ride-sx
               Alias: qcs9100-ride-sx
               Class: 0x00000000
               Powered: no
               Discoverable: no
               DiscoverableTimeout: 0x000000b4
               Pairable: yes
               UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
               UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
               UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
               UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
               UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
               UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
               UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
               UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
               UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
               UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
               UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
               UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
               UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
               Modalias: usb:v1D6Bp0246d0541
               Discovering: no
               Roles: central
               Roles: peripheral
      Advertising Features:
               ActiveInstances: 0x00 (0)
               SupportedInstances: 0x10 (16)
               SupportedIncludes: tx-power
               SupportedIncludes: appearance
               SupportedIncludes: local-name
               SupportedSecondaryChannels: 1M
               SupportedSecondaryChannels: 2M
               SupportedSecondaryChannels: Coded
      

Next steps

Perform Bluetooth GAP functions

You can perform various Bluetooth GAP functions using the commands provided in the main menu of bluetoothctl. Bluetooth GAP functions include enabling and disabling Bluetooth, running and stopping inquiry scans to discover nearby devices, and enabling device discovery mode. GAP also supports pairing with remote Bluetooth devices, viewing the list of bonded or paired devices, and unpairing of devices.