Return-Path: Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\)) Subject: Re: [PATCH] Bluetooth: Add tty HCI driver From: Marcel Holtmann In-Reply-To: Date: Thu, 30 Apr 2015 08:19:23 -0700 Cc: "Reizer, Eyal" , One Thousand Gnomes , Eyal Reizer , "linux-kernel@vger.kernel.org" , Pavan Savoy , "Mahaveer, Vishal" , "linux-bluetooth@vger.kernel.org" Message-Id: <3872C987-6698-4BB2-AA97-AC329CCD930D@holtmann.org> References: <1430380089-2395-1-git-send-email-eyalr@ti.com> <20150430113103.3ad0bfac@lxorguk.ukuu.org.uk> <2A731A0F-6BEB-4614-94E8-90B28BEE2DD9@holtmann.org> <8665E2433BC68541A24DFFCA87B70F5B2365DFEB@DFRE01.ent.ti.com> To: "Ziv, Dotan" Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Dotan, >>>>>> tty_hci driver exposes a /dev/hci_tty character device node, that >>>>>> intends to emulate a generic /dev/ttyX device that would be used by >>>>>> the user-space Bluetooth stacks to send/receive data to/from the WL >>>>>> combo-connectivity chipsets. >>>>> >>>>> We have an in kernel bluetooth stack, why do we care about this - >>>>> how will people test and debug driver interactions with binary only >>>>> bluetooth stacks in userspace ? >>>> >>>> NAK to this driver. >>>> >>>> If you want to run an external Bluetooth stack, then use HCI User >>>> Channel. The functionality already exists. >>> >>> This is a pretty old driver that has been written a couple of years back and is >> being used by customers (including android that use a userspace based stack). >>> If there is another driver already available that provides same functionality, >> of course we will be happy to use it instead. >>> Any idea of where we can get info on the HCI User Channel? >> >> search for my BlueZ for Android presentation from Android Builders Summit >> from 2014. It has an explanation on how HCI User Channel works. >> >> Otherwise look into bluez.git since it contains a bunch of examples on how to >> use the HCI User Channel. It is a generic functionality for raw access to the HCI >> layer. Look for HCI_CHANNEL_USER. >> >>>> We do not want to have two drivers for the same hardware. Work with >>>> the Bluetooth stack that is present in the kernel and please stop hacking >> around it. >>>> >>> There are in fact quite a few products that use commercial user space based >> Bluetooth stacks. >>> One reason is that bluez has not been certified but I assume they have >> other reasons as well. >> >> Please stop this FUD. BlueZ has been qualified multiple times. >> >> And let me tell you this, when doing BlueZ for Android, we went through a >> lengthy period of qualification and fixing PTS with 65 errata today. I don't >> know if any commercial stack was actually such a good citizen in ensuring that >> the certification tools get fixed. And we documented all of it. >> > > No argue here, as a matter of fact, we (TI) certified BlueZ several times in the past. Our customers are using large variety of Kernel versions and might use a different version of BlueZ. Our BQE requested us to certify the stack per kernel and per BlueZ version which is practically impossible (due to certification costs and the time it takes). > If you are familiar with a way to bypass it, that would be great. that is why we documented everything for BlueZ for Android in such detail so that the whole host stack can be qualified using PTS. It still means that you have to run 1000+ test cases, but at least you have the full documentation with detailed instructions for it. Automating PTS is work in progress actually. So that you can just start the process and once it is done, you get your evidence for qualification. Regards Marcel