Skip to content

soc: apple: sep: bring the Touch ID sensor up afresh for each prompt - #1536

Merged
DjDeveloperr merged 1 commit into
aurora-silicon:integration/aurorafrom
m0d16l14n1:j815/sep-sensor-reset
Nov 11, 2026
Merged

DjDeveloperr merged 1 commit into
aurora-silicon:integration/aurorafrom
m0d16l14n1:j815/sep-sensor-reset

Conversation

@m0d16l14n1

Copy link
Copy Markdown
Contributor

The verify path keeps the sensor powered between touches. Kept across two separate authentications it is not safe: on J815 a sensor idle for 57 s between two sudo prompts had reset itself (state 9, wants its patch) mid-capture, so the second prompt failed with "sensor failed" and fell back to the password.

  • Reuse the kept sensor only inside the authentication that is still open; otherwise power it off and bring it up afresh (~40 ms).
  • If the sensor still drops to state 9 during a capture, report a retry with PLACE guidance instead of a failure, end the prompt's match operation and drop the sensor, so the next touch starts from a fresh bring-up.

Tested on J815 (two boots): sudo with the finger in prompts minutes apart, two more enrolments; no state-9 failure since.

Part of the J815 (MacBook Air 15-inch, M5, T8142) bring-up: board results are summarised in discussion #135. Tested on a J815 with a macOS 27.0 stub (firmware 27.0) through aura Stage 2.

Assisted-by: Claude Opus 5.5

The verify path keeps the sensor powered between touches so the next try
of the same prompt does not pay for a bring-up. A sensor kept across two
separate authentications is not safe to reuse: on the MacBook Air 15-inch
(M5, J815) a sensor that sat idle for 57 s between two sudo prompts had
reset itself and asked for its patch again (state 9) in the middle of the
next capture, so the second prompt failed with "sensor failed" and fell
back to the password.

Reuse the kept sensor only within the authentication that is still open
(same match scope generation, match context still present, no key touch
in progress); otherwise power it off and bring it up afresh, which takes
about 40 ms. If the sensor still falls to state 9 under a capture, report
a retry with PLACE guidance instead of a sensor failure, end the prompt's
match operation and drop the sensor, so the user's next touch starts from
a fresh bring-up.

Tested on J815 (two boots): sudo with the finger in prompts minutes apart
and two more enrolments; no state-9 failure since the change.

Assisted-by: Claude Opus 5.5
Signed-off-by: Nick <nekreshen@yandex.ru>

@DjDeveloperr DjDeveloperr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.

No blocking source findings in the reviewed net change. Repeated-prompt sensor rearm is bounded to the existing setup/teardown and retry/authentication protections are retained. Owner J815 repeated-prompt evidence supports the fix. Shared SEP behavior still requires actual native/source/KUnit CI and other-board prompt regression as a rollout follow-up; no new fingerprint enrolment or match was performed here.

Hosted contributor workflow approvals were unblocked; source approval does not waive any pending CI/native build or dependency gate. Hardware reports are attributed to their authors, not new tests by this thread. No images/default-loader/hardware changes were performed.

@DjDeveloperr
DjDeveloperr merged commit 6626776 into aurora-silicon:integration/aurora Nov 11, 2026
5 of 8 checks passed
@DjDeveloperr

Copy link
Copy Markdown
Contributor

Heads-up: this PR's two new dev_info! calls in sbio.rs ("verify: a new authentication; bringing the sensor up afresh…" and "verify: the sensor reset under the capture…") are on the request path that tools/aurora-sep/tests/test_log_ratelimit.py checks. Since this merged, the source check fails on integration/aurora and on every SEP PR. Fix: #1590 switches both to dev_info_ratelimited!, as the neighbouring verify messages do. No behaviour change.

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.

2 participants