Incorrect advertise flags in bluetooth beacon using BlueZ

Bug #1868693 reported by abdul
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bluez (Ubuntu)
New
Undecided
Unassigned

Bug Description

I tried the following on bluex version 5.48 and 5.52.

I have set ControllerMode to "le" in main.conf.

Using bluetootctl, when i turn on the advertisement using command "advertise on" ,

I get 0x02 advertisement flag. which means "BR/EDR Not Supported" (Bit 2) is not set.

Now , if i restart the bluetooth service, and turn on the advertisement again, I get 0x06 advertisement flags.

Here is my main.conf

[General]# Default adaper name
# Defaults to 'BlueZ X.YZ'
#Name = BlueZ# Default device class. Only the major and minor device class bits are
# considered. Defaults to '0x000000'.
Class = 0x000100# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
#PairableTimeout = 0# Automatic connection for bonded devices driven by platform/user events.
# If a platform plugin uses this mechanism, automatic connections will be
# enabled during the interval defined below. Initially, this feature
# intends to be used to establish connections to ATT channels. Default is 60.
#AutoConnectTimeout = 60# Use vendor id source (assigner), vendor, product and version information for
# DID profile support. The values are separated by ":" and assigner, VID, PID
# and version.
# Possible vendor id source values: bluetooth, usb (defaults to usb)
#DeviceID = bluetooth:1234:5678:abcd# Do reverse service discovery for previously unknown devices that connect to
# us. This option is really only needed for qualification since the BITE tester
# doesn't like us doing reverse SDP for some test cases (though there could in
# theory be other useful purposes for this too). Defaults to 'true'.
#ReverseServiceDiscovery = true# Enable name resolving after inquiry. Set it to 'false' if you don't need
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
#NameResolving = true# Enable runtime persistency of debug link keys. Default is false which
# makes debug link keys valid only for the duration of the connection
# that they were created for.
#DebugKeys = false# Restricts all controllers to the specified transport. Default value
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
# Possible values: "dual", "bredr", "le"
ControllerMode = le# Enables Multi Profile Specification support. This allows to specify if
# system supports only Multiple Profiles Single Device (MPSD) configuration
# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
# Devices (MPMD) configurations.
# Possible values: "off", "single", "multiple"
#MultiProfile = off# Permanently enables the Fast Connectable setting for adapters that
# support it. When enabled other devices can connect faster to us,
# however the tradeoff is increased power consumptions. This feature
# will fully work only on kernel version 4.1 and newer. Defaults to
# 'false'.
#FastConnectable = false[Policy]# The ReconnectUUIDs defines the set of remote services that should try
# to be reconnected to in case of a link loss (link supervision
# timeout). The policy plugin should contain a sane set of values by
# default, but this list can be overridden here. By setting the list to
# empty the reconnection feature gets disabled.
#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb, 0000111f-0000-1000-8000-00805f9b34fb, 0000110a-0000-1000-8000-00805f9b34fb# ReconnectAttempts define the number of attempts to reconnect after a link
# lost. Setting the value to 0 disables reconnecting feature.
#ReconnectAttempts=7# ReconnectIntervals define the set of intervals in seconds to use in between
# attempts.
# If the number of attempts defined in ReconnectAttempts is bigger than the
# set of intervals the last interval is repeated until the last attempt.
#ReconnectIntervals=1, 2, 4, 8, 16, 32, 64# AutoEnable defines option to enable all controllers when they are found.
# This includes adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'false'.
AutoEnable=true

And bluetooth.service

[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/libexec/bluetooth/bluetoothd -d -n --configfile /etc/bluetooth/main.conf
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
---
ProblemType: Bug
ApportVersion: 2.20.9-0ubuntu7.12
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
DistroRelease: Ubuntu 18.04
InstallationDate: Installed on 2019-10-28 (147 days ago)
InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
InterestingModules: bnep btusb bluetooth
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 27c6:5395
 Bus 001 Device 004: ID 0c45:671d Microdia
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. Precision 5530
NonfreeKernelModules: nvidia_modeset nvidia
Package: bluez 5.48-0ubuntu3.3
PackageArchitecture: amd64
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-91-generic root=UUID=1b13cc02-9bc8-4a25-b4cf-b5cf5285e841 ro quiet splash psmouse.proto=bare vt.handoff=1
ProcVersionSignature: Ubuntu 4.15.0-91.92-generic 4.15.18
Tags: bionic
Uname: Linux 4.15.0-91-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip docker lpadmin plugdev sambashare sudo vboxusers
_MarkForUpload: True
dmi.bios.date: 06/27/2019
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.12.0
dmi.board.name: 0NFGCT
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.12.0:bd06/27/2019:svnDellInc.:pnPrecision5530:pvr:rvnDellInc.:rn0NFGCT:rvrA00:cvnDellInc.:ct10:cvr:
dmi.product.family: Precision
dmi.product.name: Precision 5530
dmi.sys.vendor: Dell Inc.
hciconfig:

abdul (abdulkarim9021)
affects: snappy-hwe-snaps → bluez (Ubuntu)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:

apport-collect 1868693

When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Changed in bluez (Ubuntu):
status: New → Incomplete
Revision history for this message
abdul (abdulkarim9021) wrote : CurrentDmesg.txt

apport information

tags: added: apport-collected bionic
description: updated
Revision history for this message
abdul (abdulkarim9021) wrote : Dependencies.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : Lspci.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : ProcEnviron.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : ProcInterrupts.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : ProcModules.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : UdevDb.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : getfacl.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : rfkill.txt

apport information

Revision history for this message
abdul (abdulkarim9021) wrote : syslog.txt

apport information

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Can you please clarify how to reproduce and test the statements:

"I get 0x02 advertisement flag"

"I get 0x06 advertisement flags"

Changed in bluez (Ubuntu):
status: Incomplete → New
status: New → Incomplete
Revision history for this message
abdul (abdulkarim9021) wrote :

@vanvugt , I installed nRF connect app on android phone. When it detects my machine's bluetooth, it shows advertisement flags. In case of 0x02, only bit 1 (LE GeneralDiscoverable Mode ) is set.
Where as , when controller mode is set to be "le" , bit 2 (BR/EDR not supported) should also be set to make it 0x06.

Thanks for your help.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK. I can't tell yet but in case this bug is caused by your Bluetooth driver I'll also include the kernel here.

Changed in bluez (Ubuntu):
status: Incomplete → New
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Would be useful to report to upstream bluez

abdul (abdulkarim9021)
affects: linux (Ubuntu) → ubuntu
no longer affects: ubuntu
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.