Linux bluetooth development
 help / color / mirror / Atom feed
From: Kyle Pepper <cochcoder@proton.me>
To: linux-bluetooth@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, luiz.dentz@gmail.com, marcel@holtmann.org
Subject: [RFC PATCH v2 0/1] Bluetooth: btusb: UB500 MTU-only revision
Date: Thu, 29 Oct 2026 00:13:55 +0000	[thread overview]
Message-ID: <20261029001349.1031535-1-cochcoder@proton.me> (raw)
In-Reply-To: <20261013032742.497402-1-cochcoder@proton.me>

Hi Luiz,

> Are you sure that is the case, or did you just assume it because it
> worked?

That's my bad for not reviewing the code enough. Turns out that the forced 
BR/EDR buffer selection wasn't needed, only changing the UB500's host LE 
packet length from 27 to 167 bytes was. 

I tested your packet-length alternative on USB 2357:0604 with Realtek
firmware 0xdfc6d922. Initialization still reports LE length 27 and eight
packets. So I removed forced BR/EDR buffer selection and changed only the
host LE length to 167, keeping the reported eight LE credits.

The 60-second single-CI playback sounded clear. The trace contains 3243
whole 167-byte audio HCI packets and 3269/3269 completed target packets,
including control traffic. Maximum outstanding was three, with zero
remaining after the transport suspended. The unchanged PipeWire socket
requested 672 bytes and received 4608; all 3243 audio sends succeeded
without EAGAIN. Increasing only that socket to 8192 with HCI length 27
previously crackled and delivered about 37 audio frames/s instead of 50.

This shows packets larger than the reported 27 bytes work without
changing host LE credit selection. I used 167 because it
was the length already demonstrated by the working ASHA stream; I have
not established if 251 or 1021-byte LE HCI support exists on this firmware.

The accompanying RFC v2 therefore replaces the shared-pool proposal
with the size-only diagnostic. It deliberately retains the TEST ONLY
log and rejects unexpected initialization values. Feedback
on determining the real limit and firmware scope would help settle that
design.

The acoustic evidence is from the existing Arch-based ASHA 7.2.9 kernel
I've been using to test this and the other patches.The mail workflow 
separately refreshes bluetooth-next and builds the baseline and revised 
btusb_main.o with W=1 before sending so it should all still work upstream.

Changes since v1:
- Do not clear LE packet/credit counts or select BR/EDR accounting.
- Test only host LE packet length, using the existing post_init hook.
- Remove the shared-pool/exhaustion explanation and report the limits.

These changes were assisted by an LLM.

Kyle

Kyle Pepper (1):
  Bluetooth: btusb: test larger LE packets on TP-Link UB500

 drivers/bluetooth/btusb_main.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)


base-commit: 1081a6ef8f1e0661fd52eb3f878691b0b96cdff9
-- 
2.56.0



  parent reply	other threads:[~2026-10-29  0:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13  3:28 [RFC PATCH] Bluetooth: btusb: use shared ACL buffers for TP-Link UB500 Kyle Pepper
2026-10-13  4:24 ` [RFC] " bluez.test.bot
2026-10-28 14:01 ` [RFC PATCH] " cochcoder
2026-10-28 14:57 ` Luiz Augusto von Dentz
2026-10-29  0:13 ` Kyle Pepper [this message]
2026-10-29  0:14   ` [RFC PATCH v2 1/1] Bluetooth: btusb: test larger LE packets on " Kyle Pepper
2026-10-29  1:21     ` Luiz Augusto von Dentz
2026-10-29  2:09     ` Bluetooth: btusb: UB500 MTU-only revision bluez.test.bot
2026-10-29  2:32 ` [RFC PATCH v3 0/1] Bluetooth: btusb: UB500 reported maximum data length Kyle Pepper
2026-10-29  2:32   ` [RFC PATCH v3 1/1] Bluetooth: btusb: test reported maximum LE length on TP-Link UB500 Kyle Pepper
2026-10-29  2:36     ` cochcoder
2026-10-29  7:36     ` Bluetooth: btusb: UB500 reported maximum data length bluez.test.bot

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=20261029001349.1031535-1-cochcoder@proton.me \
    --to=cochcoder@proton.me \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=marcel@holtmann.org \
    /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