Keystore Unlock Triggers Init_apps For USB Fixes

by Jule 49 views
Keystore Unlock Triggers Init_apps For USB Fixes

When a keystore - like those on MemoryCard or SeedKeeper - is unlocked via PIN, the firmware should immediately call init_apps() to reinitialize USB communication apps. Without this step, USB commands fail because the apps aren’t properly set up with the loaded keystore. Current firmware skips init_apps() right after unlock, causing glitches in HID and CCID protocols - think laggy Bluetooth transfers or non-responsive peripherals. This isn’t just a technical quirk - it’s a real hurdle for users relying on seamless device pairing.

Here’s the fix: after the keystore’s fingerprint is confirmed, call init_apps() and return to the main menu. This ensures every USB command starts with a clean app state.

Psychologically, users expect instant responsiveness - especially after a secure unlock. When apps aren’t initialized, frustration builds fast. USB protocols depend on apps being ready; skipping init_apps() undermines trust in device reliability.

Critical insight: the keystore isn’t just a lock - it’s a setup trigger. Ignoring init_apps() after unlock breaks the chain of trust between security and function. Never treat unlock as final - always reinitialize. Without this step, even strong keys can’t unlock full potential.

Safety note: avoid calling init_apps() prematurely - wait for keystore load. For USB stability, always call init_apps() post-unlock. Do not skip this step. When unlocking, always reinitialize apps to keep devices working as they should - no shortcuts, no risks.