linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Christopher William Snowhill" <chris@kode54.net>
To: "Martin Townsend" <mtownsend1973@gmail.com>,
	"Marcel Holtmann" <marcel@holtmann.org>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: bluetoothctl not listing the controller when I disable the HID profiles
Date: Tue, 12 Jan 2021 15:32:14 -0800	[thread overview]
Message-ID: <b5721f11-20d4-4d19-83a3-b9d7b5bc2378@www.fastmail.com> (raw)
In-Reply-To: <CABatt_zyrDQX1YzVjSCDDhmRhhf+DfubX+pa_cwD7_fJs2zrgA@mail.gmail.com>

On Tue, Jan 12, 2021, at 5:03 AM, Martin Townsend wrote:
> Hi Marcel
> 
> On Sat, Jan 9, 2021 at 9:17 PM Marcel Holtmann <marcel@holtmann.org> wrote:
> >
> > Hi Martin,
> >
> > > 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
> >
> > this is an out-of-tree driver. Take it up with Realtek.
> >
> > Regards
> >
> > Marcel
> >
> 
> If it's a driver problem then I'll look for another device and we are
> not committed to this one.  If anyone can recommend a USB dongle that
> is well supported by a 5.4 kernel that would greatly appreciated :)
> It doesn't have to be bluetooth 5.0 but we would like the security
> features of BLE 4.2

Perhaps the dongle that I just ordered? It's a Laird BT851, and there are
several places to order them from. Digi-Key has about 1500 of them in
stock right now, for $10.99 USD each for the minimum quantity of one.

Bluetooth 5.0, firmware built-in, natively supported by btusb, as well
as Windows, and macOS Catalina, if that matters to anyone for alternate
uses.

When mine arrives on the 15th or so, I can let anyone know of how it
functions, whether well or poorly.


> Cheers,
> Martin.
> 

      reply	other threads:[~2021-01-12 23:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 18:18 bluetoothctl not listing the controller when I disable the HID profiles Martin Townsend
2021-01-09 21:17 ` Marcel Holtmann
2021-01-12 13:03   ` Martin Townsend
2021-01-12 23:32     ` Christopher William Snowhill [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b5721f11-20d4-4d19-83a3-b9d7b5bc2378@www.fastmail.com \
    --to=chris@kode54.net \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=mtownsend1973@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).