jaguar1(8814): match vendor TX-power parity (5G groups, PG default-map, BB-swing)#139
Merged
Conversation
…p, BB-swing) Three RTL88xxAU TX-power divergences from the vendor reference (reference/rtl8812au), found while auditing issue #110: - classify_channel 5G channel->group boundaries now match upstream rtw_get_ch_group verbatim (gp3 60..98, gp4 100..106, gp0 from 16, gp13 to 253). Previously channels 84..98 read the wrong group's base. - LoadTxPowerInfo gains the vendor default-PG-map fallback (hal_load_pg_txpwr_info PG_DATA -> IC_DEF -> DEF): an EFUSE base cell that is invalid (> txgi_max = 63, e.g. unprogrammed 0xFF) is filled from the per-chip IC map then the generic map instead of used raw. Programmed EFUSEs are byte-identical to before (8812/8821 unaffected). - phy_get_tx_bb_swing_8812a fixed-dB encoding 0x05/0x0A -> 0x55/0xAA so all four RF paths get the requested swing (matches PHY_GetTxBBSwing_8814A); previously only path A did. These do not change the ch36 index on a healthy chip: the 8814 ch36 under-drive in #110 was a USB Vbus-sag rail artifact (the working kernel driver programs the identical index, and an on-air SDR read shows devourer radiates strongly). These are parity corrections that matter for channels 84..98 and for unprogrammed/partial EFUSEs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Three RTL88xxAU TX-power divergences from the vendor reference (
reference/rtl8812au), found while auditing #110. All three bring devourer's Jaguar1 TX-power path to exact parity with the upstream driver.Fixes
classify_channel) now match upstreamrtw_get_ch_groupverbatim:gp3 = 60..98,gp4 = 100..106,gp0from16,gp13to253. Previously channels 84..98 resolved to the wrong group and read the wrong per-channel base index.LoadTxPowerInfo— port of the kernel'shal_load_pg_txpwr_infosource chain (PG_DATA → IC_DEF → DEF). A base cell whose EFUSE byte is invalid (> txgi_max = 63, e.g. an unprogrammed0xFF) is now filled from the per-chip default map (rtl881{2,4,21}a_pg_txpwr_def_info) then the generic map, instead of used raw (which would clamp to 63). Programmed EFUSEs are byte-identical to before → 8812/8821 unaffected.phy_get_tx_bb_swing_8812a):0x05/0x0A → 0x55/0xAAso all four RF paths receive the requested −3/−6 dB swing (matchesPHY_GetTxBBSwing_8814A); previously only path A did.Scope / validation
ctestgreen.Refs #110
🤖 Generated with Claude Code