BLUETOOTHCTL-ADVERTISE(1)

NAME
bluetoothctl-advertise - Advertise Submenu

SYNOPSIS

bluetoothctl [--options] [advertise.commands]

ADVERTISE OPTIONS COMMANDS

  uuids

Set/Get advertise uuids.

Usage
    > uuids [all/uuid1 uuid2 ...]

Example
    > uuids 0x1234

Example
    > uuids 0x12345678

Example
    > uuids 90f95193-35de-4306-a6e9-699328f15059

  solicit

Set/Get advertise solicit uuids. :Usage: # solicit [all/uuid1 uuid2 ...]

  service

Set/Get advertise service data.

Usage
    > service [uuid] [data=xx xx ...]

  manufacturer

Set/Get advertise manufacturer data.

Updating is in real time while advertising. This is currently limited to 25 bytes and will return an error message of "Too much data" if that maximum has been exceeded. However, this does not check if the advertising payload length maximum has been exceeded so you may receive an error from bluetoothd that it "Failed to register advertisement" which means you need to reduce your manufacturer data length.

Usage
    > manufacturer [id] [data=xx xx ...]

  data

Set/Get advertise data.

This allows you to advertise data with a given type. You cannot use a registered data type value {1} with this command. For LE the advertising shows up in the primary advertisements.

If you set only the type of the data without any data (data 0x0c) this will cause a parse error when turning advertise on.

You can modify the advertising data while it is advertising.

To get the currently set data use the command data without any arguments.

Usage
    > data [type] [data=xx xx ...]

Example
    > data 0x0C 01 0x0F 13

  sr-uuids

Set/Get scan response uuids.

Usage
    # sr-uuids [all/uuid1 uuid2 ...]

  sr-solicit

Set/Get scan response solicit uuids. :Usage: # sr-solicit [all/uuid1 uuid2 ...]

  sr-service

Set/Get scan response service data.

Usage
    # sr-service [uuid] [data=xx xx ...]

  sr-manufacturer

Set/Get scan response manufacturer data.

Usage
    # sr-manufacturer [id] [data=xx xx ...]

  sr-data

Set/Get scan response data. :Usage: # sr-data [type] [data=xx xx ...]

  discoverable

Set/Get advertise discoverable.

For LE discoverable on will set the LE General Discoverable Mode flag to true in the primary advertisement if on.

This feature can be changed during advertising, but will only trigger LE General Discoverable Mode even if you had previously selected discoverable-timeout this will be ignored.

Entering the command by itself will show the status of the setting

Usage
    > discoverable [on/off]

  discoverable-timeout

Set/Get advertise discoverable timeout.

Using this feature in LE will cause the LE Limited Discoverable Mode flag to be set in the primary advertisement and The LE General Discoverable Mode flag will not be set.

The LE Limited Discoverable Mode flag will automatically turn off after [seconds] discoverable [on] must be set to use this feature.

Entering the command by itself will show the current value set.

Usage
    > discoverable-timeout [seconds]

  tx-power

Show/Enable/Disable TX power to be advertised.

This sets the TX Power Level field in the advertising packet.

The value is in dBm and can be between -127 and 127.

When this feature is turned on the LE device will advertise its transmit power in the primary advertisement.

This feature can be modified while advertising.

Entering the command by itself will show the current value set.

Usage
    > tx-power [on/off] [power]

  name

Configure local name to be advertised.

Local name to be used in the advertising report.

If the string is too big to fit into the packet it will be truncated.

It will either advertise as a complete local name or if it has to be truncated then a shortened local name.

Usage
    > name [on/off/name]

Example
    > name "0123456789abcdef0123456789abcdef"

  appearance

Configure custom appearance to be advertised.

Usage
    > appearance [on/off/value]

  duration

Set/Get advertise duration.

The Duration parameter configures the length of an Instance.

The value is in seconds.

A value of 0 indicates a default value is chosen for the Duration.

The default is 2 seconds.

If only one advertising Instance has been added, then the Duration value will be ignored.

If multiple advertising Instances have been added, then the Duration value will be used to determine the length of time each Instance is advertised for.

The Duration value is used to calculate the number of advertising events that will be used to advertise each Instance.

The number of advertising events is calculated by dividing the Duration value by the advertising interval.

The advertising interval is determined by the advertising parameters that are set for each Instance. The advertising interval is the maximum of the advertising intervals set for each Instance.

Usage
    > duration [seconds]

  timeout

Set/Get advertise timeout.

Usage
    > timeout [seconds]

  secondary

Set/Get advertise secondary channel.

Usage
    > secondary [1M/2M/Coded]

  interval

Set/Get advertise interval.

The Interval parameter configures the advertising interval of an Instance.

The value is in milliseconds.

A value of 0 indicates a default value is chosen for the Interval.

The default is 100 milliseconds.

The Interval value is used to calculate the number of advertising events that will be used to advertise each Instance.

The number of advertising events is calculated by dividing the Duration value by the advertising interval.

The advertising interval is determined by the advertising parameters that are set for each Instance.

The advertising interval is the maximum of the advertising intervals set for each Instance.

Usage
    > interval [milliseconds]

  clear

Clear advertise config.

This will stop advertising if it is currently advertising.

If you want to change the advertise configuration while advertising you must first clear the advertise configuration and then set the new advertise configuration.

Usage
    > clear [uuids/service/manufacturer/config-name...]

RESOURCES

 <http://www.bluez.org>

REPORTING BUGS

 <linux-bluetooth@vger.kernel.org>

COPYRIGHT
Free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL).