feat(hw): add IR emitter quirk for Lenovo ThinkPad P14s Gen 4 (Syntek 174f:11a8) - #102
Open
jeffshee wants to merge 1 commit into
Open
feat(hw): add IR emitter quirk for Lenovo ThinkPad P14s Gen 4 (Syntek 174f:11a8)#102jeffshee wants to merge 1 commit into
jeffshee wants to merge 1 commit into
Conversation
… 174f:11a8) The emitter on this module is off by firmware default, so without a quirk every verify is "no face detected in any captured frame". UVC XU unit 14, selector 6, [1, 3, 3, ...] — the same control as the 04f2-b6d0 and 30c9-0120 entries. The firmware rejects an all-zero off payload with ERANGE, so off_bytes carries the default [1, 3, 1, ...]. The control persists across fd close. Independently found by linux-enable-ir-emitter (byte 2 = 2, which behaves identically). Verified on Fedora 44: enroll, verify, PAM sudo and GDM unlock; negative control by restoring the default returns the frames to ambient level. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Jeff Shee <jeffshee8969@gmail.com>
6 tasks
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.
What problem does this solve?
On the Lenovo ThinkPad P14s Gen 4 (Syntek
174f:11a8,uvcvideo) the IR emitter is off byfirmware default. The IR node streams normally, so
visage discoverandvisage testlookhealthy, but only ambient infrared reaches the sensor and every verify ends in
no face detected in any captured frame. There was no quirk for this camera.Type
contrib/hw/*.toml)What this changes
Adds
contrib/hw/174f-11a8.tomland registers it. UVC XU unit 14, selector 6,[1, 3, 3, 0, 0, 0, 0, 0, 0]— the same control as the04f2-b6d0and30c9-0120entries.The firmware rejects an all-zero off payload with
ERANGE, sooff_bytescarries the devicedefault
[1, 3, 1, …]. The control persists across fd close, soreset_on_closeis not set.One row in the compatibility table.
Testing
visage onboard, D-Busverify, PAM
sudoand GDM lock-screen unlock all succeed; verifies match at 0.83–0.95similarity.
and detection fails again. No other emitter tool is installed as a service on the host.
linux-enable-ir-emitter configureindependently found the same control (byte 2 =2,which behaves identically to
3).cargo test -p visage-hw quirks::passes.Checklist
cargo fmt --all -- --checkpassescargo clippy --workspace -- -D warningspassescargo test --workspacepassesgit commit -s) per the DCO