cc1: harden RTL8821CU Wi-Fi across warm reboots - #261
Open
pdscomp wants to merge 5 commits into
Open
Conversation
✅ Build ArtifactsBranch:
|
pdscomp
marked this pull request as ready for review
July 20, 2026 14:00
Contributor
Author
|
Full Wi-Fi investigation log and test history: https://gist.github.com/pdscomp/c207506c250913d83c703178d089b901 |
✅ Build ArtifactsBranch:
|
This was referenced Jul 21, 2026
✅ Build ArtifactsBranch:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Elegoo Centauri Carbon 1 RTL8821CU Wi-Fi adapter intermittently failed after warm reboot:
SET_ADDRESSreturning-EPROTO.-EPROTOduring firmware startup.The original failure reproduced every 3-5 soft reboot/flash cycles on the CC1 original mainboard (not the updated wifi chip one).
Changes
linux: add slow-reset quirk for the CC1 USB hub
Marks the CC1 QinHeng
1a86:8091parent hub withUSB_QUIRK_HUB_SLOW_RESET. USB core gives downstream devices an extra 100 ms after port reset, directly improving the pre-enumeration warm-reset failure without cycling the whole hub.The initial hub-quirk plus shutdown-unbind experiment reached roughly 10 cycles before a different, post-bind
-EPROTOfailure was captured.rtw88: retry failed USB register controls
Retries only register-control
-EPROTOfailures after 5, 20, 80, 320, and 1280 ms. Successful transfers have no added delay. A terminal failure latches the control transport as broken, preserving the triggering operation/address and suppressing the previous thousand-message error storm.This replaces a discarded blanket 5 ms delay experiment, which added about 18 seconds to Wi-Fi startup and still failed after 19 loops.
rtw88: serialize USB vendor controls
Adds the vendor-request mutex used by Realtek's 8821cu driver. It keeps a register request and its RTL8821C
0x4e0reg-sec companion atomic and serializes firmware-page controls on the same mutex, preventing control requests from interleaving. Firmware fragments are not individually retried because the full download is checksummed.Validation
main: 6,521 tasks passed.carbon-devu.The reboot counts validate the combined final patch set; the driver patches were not individually ablated.