Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # When I type bluetoothctl, it stays on this message forever
- asus-tf101:~$ sudo bluetoothctl
- Waiting to connect to bluetoothd...
- ======================================================================================================================
- # I compiled btusb module on kernel as this link says: https://unix.stackexchange.com/questions/402623/waiting-to-connect-to-bluetoothd/413272
- # btusb was not compiled by default in the asus-tf101 kernel. Therefore, I got no errors. It has been loaded successfully.
- asus-tf101:~$ cat /etc/modules-load.d/00-device-asus-tf101.conf
- bcmdhd
- btusb
- asus-tf101:~$ dmesg | grep btusb
- [ 25.255617] usbcore: registered new interface driver btusb
- ======================================================================================================================
- # Then, I tried to debug the bluetooth daemon, that's what happened.
- asus-tf101:~$ sudo /usr/lib/bluetooth/bluetoothd -n -d
- bluetoothd[1457]: Bluetooth daemon 5.55
- bluetoothd[1457]: src/main.c:parse_config() parsing /etc/bluetooth/main.conf
- bluetoothd[1457]: src/main.c:parse_config() discovto=0
- bluetoothd[1457]: src/main.c:parse_config() pairable=false
- bluetoothd[1457]: src/main.c:parse_config() pairto=0
- bluetoothd[1457]: src/main.c:parse_config() privacy=off
- bluetoothd[1457]: src/main.c:parse_config() just_works_repairing=never
- bluetoothd[1457]: src/main.c:parse_config() tmpto=30
- bluetoothd[1457]: src/main.c:parse_config() name=BlueZ-asus-tf101
- bluetoothd[1457]: src/main.c:parse_config() class=0x000100
- bluetoothd[1457]: src/main.c:parse_config() deviceid=54:04:A6:0E:93:EE
- bluetoothd[1457]: src/main.c:parse_config() ControllerMode=dual
- bluetoothd[1457]: src/main.c:parse_config() MultiProfile=off
- bluetoothd[1457]: src/main.c:parse_config() Key file does not have group “GATT”
- bluetoothd[1457]: src/main.c:parse_config() Key file does not have group “GATT”
- bluetoothd[1457]: src/main.c:parse_config() Key file does not have group “GATT”
- bluetoothd[1457]: src/main.c:parse_config() Key file does not have group “GATT”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/main.c:parse_controller_config() Key file does not have group “Controller”
- bluetoothd[1457]: src/adapter.c:adapter_init() Failed to access management interface
- bluetoothd[1457]: src/main.c:main() Adapter handling initialization failed
- ======================================================================================================================
- # Here's my /etc/bluetooth/main.conf
- asus-tf101:~$ cat /etc/bluetooth/main.conf
- [General]
- # Default adapter name
- # Defaults to 'BlueZ X.YZ'
- Name = BlueZ-asus-tf101
- # 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
- # Always allow pairing even if there are no agent registered
- # Possible values: true, false
- # Default: false
- AlwaysPairable = false
- # 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
- # 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 = 54:04:A6:0E:93:EE
- # Do reverse service discovery for previously unknown devices that connect to
- # us. For BR/EDR this option is really only needed for qualification since the
- # BITE tester doesn't like us doing reverse SDP for some test cases, for LE
- # this disables the GATT client functionally so it can be used in system which
- # can only operate as peripheral.
- # 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 = dual
- # 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
- # Default privacy setting.
- # Enables use of private address.
- # Possible values: "off", "device", "network"
- # "network" option not supported currently
- # Defaults to "off"
- Privacy = off
- # Specify the policy to the JUST-WORKS repairing initiated by peer
- # Possible values: "never", "confirm", "always"
- # Defaults to "never"
- JustWorksRepairing = never
- # How long to keep temporary devices around
- # The value is in seconds. Default is 30.
- # 0 = disable timer, i.e. never keep temporary devices
- TemporaryTimeout = 30
- # Enables the device to issue an SDP request to update known services when
- # profile is connected. Defaults to true.
- #RefreshDiscovery = true
- #[Controller]
- # The following values are used to load default adapter parameters. BlueZ loads
- # the values into the kernel before the adapter is powered if the kernel
- # supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't provided,
- # the kernel will be initialized to it's default value. The actual value will
- # vary based on the kernel version and thus aren't provided here.
- # The Bluetooth Core Specification should be consulted for the meaning and valid
- # domain of each of these values.
- # BR/EDR Page scan activity configuration
- #BRPageScanType=
- #BRPageScanInterval=
- #BRPageScanWindow=
- # BR/EDR Inquiry scan activity configuration
- #BRInquiryScanType=
- #BRInquiryScanInterval=
- #BRInquiryScanWindow=
- # BR/EDR Link supervision timeout
- #BRLinkSupervisionTimeout=
- # BR/EDR Page Timeout
- #BRPageTimeout=
- # BR/EDR Sniff Intervals
- #BRMinSniffInterval=
- #BRMaxSniffInterval=
- # LE advertisement interval (used for legacy advertisement interface only)
- #LEMinAdvertisementInterval=
- #LEMaxAdvertisementInterval=
- #LEMultiAdvertisementRotationInterval=
- # LE scanning parameters used for passive scanning supporting auto connect
- # scenarios
- #LEScanIntervalAutoConnect=
- #LEScanWindowAutoConnect=
- # LE scanning parameters used for passive scanning supporting wake from suspend
- # scenarios
- #LEScanIntervalSuspend=
- #LEScanWindowSuspend=
- # LE scanning parameters used for active scanning supporting discovery
- # proceedure
- #LEScanIntervalDiscovery=
- #LEScanWindowDiscovery=
- # LE scanning parameters used for passive scanning supporting the advertisement
- # monitor Apis
- #LEScanIntervalAdvMonitor=
- #LEScanWindowAdvMonitor=
- # LE scanning parameters used for connection establishment.
- #LEScanIntervalConnect=
- #LEScanWindowConnect=
- # LE default connection parameters. These values are superceeded by any
- # specific values provided via the Load Connection Parameters interface
- #LEMinConnectionInterval=
- #LEMaxConnectionInterval=
- #LEConnectionLatency=
- #LEConnectionSupervisionTimeout=
- #LEAutoconnecttimeout=
- #[GATT]
- # GATT attribute cache.
- # Possible values:
- # always: Always cache attributes even for devices not paired, this is
- # recommended as it is best for interoperability, with more consistent
- # reconnection times and enables proper tracking of notifications for all
- # devices.
- # yes: Only cache attributes of paired devices.
- # no: Never cache attributes
- # Default: always
- #Cache = always
- # Minimum required Encryption Key Size for accessing secured characteristics.
- # Possible values: 0 and 7-16. 0 means don't care.
- # Defaults to 0
- #KeySize = 0
- # Exchange MTU size.
- # Possible values: 23-517
- # Defaults to 517
- #ExchangeMTU = 517
- # Number of ATT channels
- # Possible values: 1-5 (1 disables EATT)
- # Default to 3
- #Channels = 3
- #[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=false
- ======================================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement