Skip to content

descriptor: add Razer Blade 17 (2022), PID 0x028b, from issue #10 - #11

Merged
sqmagellan merged 1 commit into
sqmagellan:mainfrom
CloudCorpRecords:model/blade-17-2022-028b
Oct 23, 2026
Merged

sqmagellan merged 1 commit into
sqmagellan:mainfrom
CloudCorpRecords:model/blade-17-2022-028b

Conversation

@CloudCorpRecords

@CloudCorpRecords CloudCorpRecords commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes #10.

Summary

Adds a SUPPORTED descriptor for the Razer Blade 17 (2022), PID 0x028b (stem prefix RZ09-0423; the reporting unit enumerates as RZ09-0423P), removes its now-redundant FAN_RANGE_BY_PID fallback row, and lists it in the README reported-models table and CHANGELOG.

Verified on hardware (reporting unit, Windows 11 10.0.26200)

  • Perf modes: Balanced/Custom set + readback.
  • CPU boost Medium and GPU boost High -> Low set + readback (auto json).
  • Fan Auto/Manual mode sets accepted; keyboard brightness/effects, logo, charge limit read back.
  • Built CLI with this descriptor: auto json / auto info now report Razer Blade 17 (2022) instead of the generic untested profile.

Not verified / known limits (also in #10)

  • Manual fan RPM is NOT honored exactly: set points 3500/4000/4500/5000 read back 4000/3900/4300/4300 actual (max observed 4300). The (3500, 5000) range stays transcribed, not measured - same treatment as the Blade 18 entry from [model] Razer Blade 18 4090 2023, PID 0x02a0 #1.
  • fan max enable answers NotSupported (0x05), exit 4, on this EC.
  • Battery-care, logo and keyboard writes were read-verified only, not write-tested.
  • No init sequence added.

Checks

  • cargo test -p librazer: 191 passed + 2 doc-tests (GNU toolchain locally; MSVC linker unavailable on the reporting machine, so the Windows MSVC build is left to CI).
  • cargo clippy -p librazer --all-targets -- -D warnings: clean.
  • cargo fmt --all --check: clean.

@CloudCorpRecords

Copy link
Copy Markdown
Contributor Author

Verification summary for approval of the pending workflow run:

  • cargo test -p librazer: 191 passed + 2 doc-tests (run locally on the reporting hardware).
  • cargo clippy -p librazer --all-targets -- -D warnings: clean. cargo fmt --all --check: clean.
  • Built razer-cli from this branch and ran it on the RZ09-0423P unit: auto json / auto info now report Razer Blade 17 (2022) (was the generic untested profile).
  • The razer-ctl-ci run is in action_required (fork-PR approval gate), so no checks have run yet - approving the workflow run should turn this green or surface anything I missed.

Hardware details and fan measurements are in #10. Happy to adjust the descriptor (e.g. fan range, feature list) on review.

@CloudCorpRecords
CloudCorpRecords force-pushed the model/blade-17-2022-028b branch from a9d1102 to 61ef0d8 Compare October 20, 2026 17:44
…lan#10

Signed-off-by: CloudCorpRecords <95189389+CloudCorpRecords@users.noreply.github.com>
@CloudCorpRecords
CloudCorpRecords force-pushed the model/blade-17-2022-028b branch from 61ef0d8 to 47eb1d7 Compare October 20, 2026 19:54
@sqmagellan

Copy link
Copy Markdown
Owner

Thanks for the PR. Before I merge:

  1. Still need the [model] Razer Blade 17 2022, PID 0x028b #10 answer: in Custom, does razer-cli auto fan max disable also return 0x05? A laptop with its own profile doesn't learn what its EC rejects, so if Disable fails, the tray errors on every Custom apply. I'd rather know before it leaves the generic profile.
  2. Please keep the 0x028b row in FAN_RANGE_BY_PID. A 0x028b machine that misses the RZ09-0423 prefix would drop to the default range. I'll adjust the no-shadow test.
  3. README: mark logo, keyboard and charge limit as read only.

The Manual-mode fan sweep from #10 would still help, but it doesn't block this.

sqmagellan added a commit that referenced this pull request Oct 23, 2026
PR #11 makes the Blade 17 2022 (0x028b) a catalogued model, and a
catalogued model never learned, so its known 0x05 to Max Fan "on"
would have failed every Custom apply. KNOWN_LACKING now applies to a
catalogued model too, through a record that starts with its entries
and learns nothing more (UnsupportedLog::fixed): any other 0x05 there
is still an error. 0x028b lists Max Fan. A model without an entry
keeps no record, as before.

Device::detect, the simulator and the CLI test detection all do the
same; the 0x028b conformance run now never sends 0x070f, so the open
question about Max Fan "off" no longer blocks it. CHANGELOG: #11's
entry joins the Unreleased section, plus Max Fan as a lacking setting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sqmagellan
sqmagellan merged commit 71863d8 into sqmagellan:main Oct 23, 2026
4 checks passed
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.

[model] Razer Blade 17 2022, PID 0x028b

2 participants