Repository navigation
Community guide: Pexar PX-110 / Frameo to Immich Kiosk #31120
theluke
started this conversation in
Community Guides
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
I converted a Pexar Frame PX-110 running Frameo into a LAN-only Immich photo
frame using Immich Kiosk and Fully
Kiosk Browser. This is a community deployment report, not an Immich bug or an
officially supported configuration.
The useful Pexar-specific findings were:
commonly documented WebView 101 minimum;
network unless it is recreated first;
animation over the running browser forever;
partition or enabling Fully's paid kiosk mode.
After repeated cold boots, the final path is:
Tested hardware and software
dpf1106_mk_32PF1106_V2.05_20250102armeabi-v7a83.0.4103.120su; usesu 0 <command>, notsu -c1. Back up before changing anything
The USB-C connection carries both power and data. Keep it connected, preferably through
a powered hub, until several reboots have passed.
On this firmware the original Frameo media was under:
The commonly referenced path under
/storage/emulated/0/Android/data/net.frameo.frame/fileswas empty. I backed up boththe shared tree and private app state before continuing:
adb exec-out su 0 tar -C / -cf - \ data/user/0/net.frameo.frame \ storage/emulated/0/frameo_files > pexar-frameo-backup.tar sha256sum pexar-frameo-backup.tarI also extracted and hashed every file in
frameo_files/media, then compared thatmanifest with hashes calculated directly on the frame. Nothing was deleted from the
frame.
2. Enable ADB and confirm the device
Enable Frameo's beta program under Settings -> About, connect USB, accept the ADB
authorization prompt, and inspect the device:
Wireless ADB worked for a session after
adb tcpip 5555, but USB remained the recoverypath.
3. Work around the Pexar package allowlist
Normal installation failed with:
The Pexar-modified
PackageManagerServicechecks whether the incoming package name isalready a system app. Root does not bypass that check.
The frame had an expendable factory diagnostic APK at
/system/app/HCNDeviceTest/HCNDeviceTest.apk. I first copied and hashed it off-device.Then I used a temporary bind mount to let Package Manager see Fully as a system app,
before installing the same signed APK normally:
The reboot removed the bind mount and restored the factory APK bytes. Fully remained as
a normal
/data/apppackage. This is still a risky OEM workaround: verify paths on yourown model, back up the displaced APK, and do not assume another Frameo device has the
same layout.
4. Make Wi-Fi independent of Frameo
On this unit,
dumpsys wifishowed the saved network was created bynet.frameo.frame. Runningpm disable-usercaused Android to remove that network anddisconnect immediately.
The least surprising fix is to join Wi-Fi from Android system settings before disabling
Frameo, as the Immich Kiosk Frameo guide recommends. This firmware also supports:
adb shell cmd wifi help adb shell cmd wifi connect-network YOUR_SSID wpa2 YOUR_PASSPHRASEI backed up the protected
WifiConfigStore.xml, recreated the same network throughcmd wifi, and verified it was owned by UID 0 and survived with Frameo disabled. Takecare not to expose the passphrase in shell history or logs.
5. Configure Fully and solve unattended boot
Fully was configured with the Kiosk URL, no address/status/navigation bars, screen kept
on, and no paid kiosk mode.
Disabling Frameo exposed another Pexar quirk: the only HOME activity disappeared, so
bootanimremained running even thoughsys.boot_completed=1, Wi-Fi was connected, andFully was rendering underneath. Fully's built-in replacement HOME activity enabled its
paid kiosk workflow and showed license/permission dialogs.
I installed this minimal HOME app through the same temporary allowlist method. It has
no permissions and only forwards HOME to Fully.
Manifest essentials:
Activity:
After installing and selecting it:
Android now has a real HOME activity, stops the Pexar animation normally, and the helper
opens Fully. The factory-disabled Android System UI remained disabled.
Result and rollback
The setup passed repeated cold boots with Frameo disabled: boot animation exits, Wi-Fi
reconnects, Fully opens fullscreen, and Kiosk begins rotating assets. No system WebView
replacement was needed.
To restore Frameo over USB ADB:
The existing Immich Kiosk Frameo guide
was the starting point. The Pexar allowlist, Frameo-owned Wi-Fi, and missing-HOME boot
animation behavior were the additional model-specific pieces needed here.
All reactions