Return-Path: MIME-Version: 1.0 In-Reply-To: References: From: David Frey Date: Thu, 29 Mar 2018 08:38:13 -0700 Message-ID: Subject: Re: Support adapter without HCI To: Alan Martinovic Cc: linux-bluetooth@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi, I'm sorry if I was unclear. What I would like it to be able to write application code for Linux that uses bluez to talk to BLE devices connected to a bluetooth adapter. The thing that I think might be problematic is fitting the adapter into the Linux kernel framework for bluetooth adapters. The SoC that I want to use as an adapter does not present an HCI interface. There is a closed source BLE library that exposes GATT and GAP functions. So my question is really whether it is possible to support an adapter in the linux kernel that doesn't support HCI and if it is, are there any examples of drivers like that? If this is *not* possible, then I will probably have to define a non-standard interface (outside of bluez) for controlling the bluetooth feature of the chip. That's really not ideal since any code that users write won't be portable to other adapters. I guess I could try to implement the same DBus interfaces that are provided by Bluez, but this is definitely not my first choice. Thanks, David On Thu, Mar 29, 2018 at 1:10 AM, Alan Martinovic wrote: > Hi, > I didn't get through you question what are the actual commands > that are being passed via SPI to the controller once HCI has been removed? > > You want to use the API provided by the library on the controller and invoke it > directly from the host via SPI? > > I saw something kind of similar from Nordic: > https://github.com/NordicSemiconductor/pc-ble-driver > > Would be willing to bet that they just invented something > that replaces HCI, but it's still a intermediate protocol that glues > together the host and controller, can't see how that can be avoided. > > Be Well, > Alan > > > > > > On Wed, Mar 28, 2018 at 8:02 PM, David Frey wrote: >> Is it possible to support a bluetooth adapter in the Linux kernel in >> the case where the adapter doesn't present a HCI interface? The >> adapter in question was originally envisioned as a standalone host, >> but I am interested in using it as an adapter (over SPI) controlled by >> another CPU running Linux. The BLE implementation on the target is a >> closed source binary that provides GAP and GATT APIs. Details of the >> APIs are here: http://labs.mediatek.com/api/mt7697/group___bluetooth.html >> >> If it *is* possible to support adapters which don't offer an HCI >> interface, then I'm hoping that someone can point me at an example or >> an interface definition so I can get an idea of what is required. >> >> Thanks, >> David >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html