Skip to content

(withdrawn)#315

Closed
josephnef wants to merge 1 commit into
masterfrom
rx-urb-16k-mtk
Closed

(withdrawn)#315
josephnef wants to merge 1 commit into
masterfrom
rx-urb-16k-mtk

Conversation

@josephnef

@josephnef josephnef commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

…host fix (#314)

Some MediaTek Android xhci/usbfs stacks (Dimensity 810, Helio G99, MT6765)
never complete a bulk-IN read larger than 16 KB — LIBUSB_ERROR_TIMEOUT
forever, zero RX with a green init (OpenIPC/PixelPilot#6). floppyhammer's
#19 fixed this with 16 KB host reads plus ≤16 KB device-side RX aggregation;
the async-ring rewrites (#158/#164/#168) and the #213 transport split
(40e3a2a) kept the aggregation half but regressed the host reads to 32 KB
URBs on every 11ac generation. PixelPilot#104 shipped the first Android
build of the async ring and the no-video reports came straight back.

- Jaguar1/2/3 RX rings: 16 KB URBs (DeviceConfig::Rx::urb_bytes, env
  DEVOURER_RX_URB_BYTES, clamped >= 4096). Free on healthy hosts: with
  aggregates capped ≤16 KB a 32 KB URB never filled past 16 KB anyway —
  each aggregate ends its URB via short packet.
- Jaguar2/3 halmac agg page-threshold 0x05 (20 KB) -> 0x03 (≤12 KB): an
  aggregate must never span two URBs or the next_offset walk breaks.
  Deliberate divergence from the kernel's 0x05, documented at both sites.
- Kestrel untouched: the 8852C RXAGG LEN_TH (~20 KB) requires its 32 KB
  ring; the knob is documented as 11ac-only.
- Docs: CLAUDE.md hardware gotcha + performance-tuning.md lever entry.

ctest 36/36. Desktop bench (regress 2x2, goodput A/B) and on-device MTK
validation via PixelPilot#6 volunteers tracked in #314.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@josephnef josephnef closed this Jul 20, 2026
@josephnef
josephnef deleted the rx-urb-16k-mtk branch July 20, 2026 09:37
@josephnef josephnef changed the title Jaguar USB RX: 16 KB URBs + matching agg caps — restore the MediaTek host fix (withdrawn) Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant