Linux-Bluetooth Archive on lore.kernel.org
 help / color / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Sergey Shtylyov <s.shtylyov@omprussia.ru>
Cc: Johan Hedberg <johan.hedberg@gmail.com>,
	Bluetooth Kernel Mailing List  <linux-bluetooth@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org,
	Ildar Kamaletdinov <i.kamaletdinov@omprussia.ru>
Subject: Re: [PATCH RFC] bluetooth: add support for some old headsets
Date: Tue, 28 Jul 2020 09:16:59 +0200
Message-ID: <97E2381A-219D-46AF-962F-CBCD63B911AD@holtmann.org> (raw)
In-Reply-To: <6f271bf7-04ee-c971-9c69-de3f696769ed@omprussia.ru>

Hi Sergey,

>>>>>> The MediaTek Bluetooth platform (MT6630 etc.) has a peculiar implementation
>>>>>> for the eSCO/SCO connection via BT/EDR: the host controller returns error
>>>>>> code 0x20 (LMP feature not supported) for HCI_Setup_Synchronous_Connection
>>>>>> (0x0028) command without actually trying to setup connection with a remote
>>>>>> device in case such device (like Digma BT-14 headset) didn't advertise its
>>>>>> supported features.  Even though this doesn't break compatibility with the
>>>>>> Bluetooth standard it breaks the compatibility with the Hands-Free Profile
>>>>>> (HFP).
>>>>>> 
>>>>>> This patch returns the compatibility with the HFP profile and actually
>>>>>> tries to check all available connection parameters despite of the specific
>>>>>> MediaTek implementation. Without it one was unable to establish eSCO/SCO
>>>>>> connection with some headsets.
> [...]
>>>>>> Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru>
>>>>>> 
>>>>>> ---
>>>>>> This patch is against the 'bluetooth-next.git' repo.
>>>>>> 
>>>>>> net/bluetooth/hci_event.c |    8 ++++++++
>>>>>> 1 file changed, 8 insertions(+)
>>>>>> 
>>>>>> Index: bluetooth-next/net/bluetooth/hci_event.c
>>>>>> ===================================================================
>>>>>> --- bluetooth-next.orig/net/bluetooth/hci_event.c
>>>>>> +++ bluetooth-next/net/bluetooth/hci_event.c
>>>>>> @@ -2187,6 +2187,13 @@ static void hci_cs_setup_sync_conn(struc
>>>>>> 	if (acl) {
>>>>>> 		sco = acl->link;
>>>>>> 		if (sco) {
>>>>>> +			if (status == 0x20 && /* Unsupported LMP Parameter value */
>>>>>> +			    sco->out) {
>> 
>>    Actually, I was expecting that you'd tell me to create a HCI quirk for this situation.
>> I have a patch doing that but I haven't been able to locate the driver in which to set this
>> quirk flag...
> 
>   And that's no wonder! The BT driver that needs this patch is out-of-tree (and not even open
> source, it seems) as we have finally ascertained with Ildar... Is there any interest in the
> "preparatory" patch that lowers the indentation levels in hci_cs_setup_sync_conn()?

how is it possible that there is an out-of-tree Bluetooth driver. Seems odd. Maybe want to submit that upstream first.

Regards

Marcel


  reply index

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-16 11:08 Sergey Shtylyov
2020-07-16 13:14 ` Marcel Holtmann
2020-07-16 20:33   ` Sergey Shtylyov
2020-07-17  6:59     ` Marcel Holtmann
2020-07-17 19:12       ` Sergey Shtylyov
2020-07-21 18:56         ` Sergey Shtylyov
2020-07-28  7:16           ` Marcel Holtmann [this message]
2020-07-28 13:27             ` Ildar Kamaletdinov

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=97E2381A-219D-46AF-962F-CBCD63B911AD@holtmann.org \
    --to=marcel@holtmann.org \
    --cc=davem@davemloft.net \
    --cc=i.kamaletdinov@omprussia.ru \
    --cc=johan.hedberg@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=s.shtylyov@omprussia.ru \
    /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

Linux-Bluetooth Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-bluetooth/0 linux-bluetooth/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-bluetooth linux-bluetooth/ https://lore.kernel.org/linux-bluetooth \
		linux-bluetooth@vger.kernel.org
	public-inbox-index linux-bluetooth

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-bluetooth


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git