bluetoothctl not listing the controller when I disable the HID profiles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've been debugging a problem where my bluetooth device wasn't showing
up in bluetoothctl.  I was building with the following configuration:

--disable-a2dp --disable-avrcp --disable-btpclient --disable-cups
--enable-deprecated --enable-health --disable-hid --disable-hog
--disable-mesh --disable-midi --disable-network --disable-nfc
--disable-obex --enable-client --disable-sap --disable-sixaxis
--enable-systemd --disable-testing --disable-threads --enable-tools
--disable-udev

Basically the stack is running on a very resource constrained MIPS
based board so I'm trying to reduce the stack down to the essential
which is just to read BLE sensors.  But with this configuration
bluetoothctl lists no default controllers.  Now if I enable HID
profiles with
--enable-hid

It works and I can list the controller and connect to a BLE sensor and
perform all the various GATT commands.

Is this expected? I would have thought I could safely disable HID
profiles as I'm not going to be connecting any keyboards or mice.

Bluez stack is 5.54
Kernel is 5.4.76

This was built using Yocto but I'm sure I could get this build a newer
version if you think this has already been fixed.

One thing I've noticed is that when bringing up hci0 when HID is
enabled I get the following

hciconfig hci0 up
[   48.704477][  T140] rtk_btusb: btusb_open start
[   48.713535][  T140] rtk_btusb: btusb_open hdev->promisc ==0
[   48.724586][  T140] rtk_btusb: download_patch start
[   48.734262][  T140] rtk_btusb: chip type value: 0x74
[   48.744098][  T140] rtk_btusb: HCI reset.
[   48.763108][  T140] rtk_btusb: read_ver_rsp->lmp_subver = 0x646b
[   48.775279][  T140] rtk_btusb: read_ver_rsp->hci_rev = 0x999
[   48.786501][  T140] rtk_btusb: patch_entry->lmp_sub = 0x8761
[   48.797712][  T140] rtk_btusb: Firmware already exists
[   48.807889][  T140] rtk_btusb: Rtk patch end 1
[   48.816687][  T140] rtk_btusb: btusb_open set HCI_RUNNING
[   48.827449][  T140] rtk_btcoex: Open BTCOEX
[   48.835745][  T140] rtk_btusb: btusb_open end
[   48.849158][    T3] rtk_btcoex: BTCOEX hci_rev 0x0999
[   48.859302][    T3] rtk_btcoex: BTCOEX lmp_subver 0x646b
Can't init device hci0: Invalid argument (22)

even though there is an error it works!!!

When it's disabled I don't get the error at the end and it doesn't work:

[   44.084337][  T137] rtk_btusb: btusb_open start
[   44.093395][  T137] rtk_btusb: btusb_open hdev->promisc ==0
[   44.104446][  T137] rtk_btusb: download_patch start
[   44.114109][  T137] rtk_btusb: chip type value: 0x74
[   44.123946][  T137] rtk_btusb: HCI reset.
[   44.143090][  T137] rtk_btusb: read_ver_rsp->lmp_subver = 0x8761
[   44.155259][  T137] rtk_btusb: read_ver_rsp->hci_rev = 0xb
[   44.166140][  T137] rtk_btusb: patch_entry->lmp_sub = 0x8761
[   44.177350][  T137] rtk_btusb: load_firmware start
[   44.186843][  T137] rtk_btusb: lmp_version = 0x8761
[   44.196502][  T137] rtk_btusb: config filename rtl8761bu_config
[   44.214206][  T137] LoadPin: mnt_sb lacks block device, treating as: writable
[   44.228442][  T137] LoadPin: enforcement can be disabled.
[   44.240206][  T137] LoadPin: firmware pinned
obj="/lib/firmware/rtl8761bu_config" pid=137 cmdline="hciconfig hci0
up"
[   44.263326][  T137] rtk_btusb: no bdaddr file /opt/bdaddr
[   44.274090][  T137] rtk_btusb: Origin cfg len 6
[   44.283073][  T137] rtk_btusb: 55 ab 23 87 00 00
[   44.292235][  T137] rtk_btusb: New cfg len 6
[   44.300690][  T137] rtk_btusb: 55 ab 23 87 00 00
[   44.312206][  T137] rtk_btusb: fw name is  rtl8761bu_fw
[   44.328515][  T137] rtk_btusb: This is not 8723a, use new patch style!
[   44.341527][  T137] rtk_btusb: rtk_get_eversion: gEVersion 255
[   44.355112][  T137] rtk_btusb: eversion->status = 0x0,
eversion->version = 0x1
[   44.369710][  T137] rtk_btusb: load_firmware: New gEVersion 1
[   44.381110][  T137] rtk_btusb: rtk_get_fw_project_id: opcode 0, len
1, data 14
[   44.395424][  T137] rtk_btusb: lmp_version is 8761, project_id is
8761, match!
[   44.409728][  T137] rtk_btusb: fw_version = 0x999646b
[   44.419731][  T137] rtk_btusb: number_of_total_patch = 2
[   44.430250][  T137] rtk_btusb: chipID 2
[   44.437847][  T137] rtk_btusb: patch_length 0x5024
[   44.447331][  T137] rtk_btusb: start_offset 0x00003780
[   44.457508][  T137] rtk_btusb: Svn version:    23166
[   44.467339][  T137] rtk_btusb: Coexistence: BTCOEX_20190327-0202
[   44.479235][  T137] rtk_btusb: buf_len = 0x502a
[   44.488460][  T137] rtk_btusb: fw: exists, config file: exists
[   44.500037][  T137] rtk_btusb: load_firmware done
[   44.515792][  T137] rtk_btusb: download_data start
[   44.636082][  T137] rtk_btusb: download_data done
[   44.645683][  T137] rtk_btusb: HCI reset.
[   44.665084][  T137] rtk_btusb: read_ver_rsp->lmp_subver = 0x646b
[   44.677260][  T137] rtk_btusb: read_ver_rsp->hci_rev = 0x999
[   44.688487][  T137] rtk_btusb: patch_entry->lmp_sub = 0x8761
[   44.699720][  T137] rtk_btusb: Rtk patch end 0
[   44.708525][  T137] rtk_btusb: btusb_open set HCI_RUNNING
[   44.719288][  T137] rtk_btcoex: Open BTCOEX
[   44.727576][  T137] rtk_btusb: btusb_open end
[   44.741138][   T43] rtk_btcoex: BTCOEX hci_rev 0x0999
[   44.751278][   T43] rtk_btcoex: BTCOEX lmp_subver 0x646b
[   44.782126][   T56] rtk_btusb: btusb_notify: hci0 evt 3

Many Thanks,
Martin.



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux