20 — Galaxy Tab S9 FE+ (School Notes Client)¶
A Samsung Galaxy Tab S9 FE+ (SM-X610, Wi-Fi, refurbished) used exclusively as a note-taking and schoolwork tablet. It is a client of the Z2 Mini, not a service on it: it reaches the files Samba share over the tailnet and stores nothing important locally that isn't also exported to the server. This page records the debloat that turned it into a minimal, account-free device and how it connects.
Companion to 01-connecting.md (the other client devices), 03-tailscale.md (transport) and 04-samba.md (the share it mounts). For getting files to and from college lab PCs via the tablet, see 21-school-pc-files.md.
Why¶
The tablet's job is Samsung Notes with the S Pen, a browser for school sites, Office-file preview and a path onto the Z2's files share. Out of the box it carries ~30 preloaded user apps (Samsung, Microsoft, Google and Galaxy Store promo installs) that all want accounts, background sync and notifications. Constraints:
- No Samsung account. Samsung Cloud, Galaxy Store, Samsung Pass, SmartThings, Bixby and Samsung Free all gate on one; none are needed.
- No root. Rooting trips Knox permanently, voids the warranty on a refurb and breaks nothing that needs breaking.
- Reversible. Every removal must be undoable without a factory reset.
The method that satisfies all three is pm uninstall -k --user 0 over ADB: it unlinks the package from user 0 while leaving the system image untouched, so cmd package install-existing <pkg> reinstates it in a second. Nothing in /system changes; OTA updates keep working.
Firmware¶
The refurb shipped on Android 14 / One UI 6.1 with a July 2024 security patch — two years stale. It was updated before debloating (Settings → Software update, three sequential OTAs) so the removal pass ran against the final package set rather than a set the update would change.
| Field | Value |
|---|---|
| Model | SM-X610 (gts9fepwifi) |
| Android / One UI | 16 / 8.5 |
| Build | X610XXSFEZH7 |
| Security patch | 2026-08-05 |
| Debloated | 2026-09-21 |
Debloat procedure¶
Done from the MacBook over a USB-C cable.
1. Tooling. adb via Homebrew (brew install --cask android-platform-tools). Homebrew refuses to run until the Xcode license is accepted: sudo xcodebuild -license accept.
2. Enable USB debugging on the tablet. Settings → About tablet → Software information → tap Build number ×7 → Settings → Developer options → USB debugging on. Plug in, tap Allow on the RSA-fingerprint prompt (tick Always allow from this computer).
3. Verify the device before touching it.
adb devices -l # must say "device", not "unauthorized"
adb shell getprop ro.product.model # must be SM-X610
4. Snapshot the inventory so the removal list is derived from what is actually installed, not from a generic list:
adb shell pm list packages | sed 's/^package://' | sort > packages-before.txt
adb shell pm list packages -3 | sed 's/^package://' | sort > packages-third-party.txt
5. Remove in batches, pausing after each to confirm Notes, My Files and the browser still work:
Note: the
</dev/nullandread -u 3matter.adb shellreads the loop's stdin, so a plainwhile read p; do adb shell ...; done < listconsumes the list after the first line and silently stops.
6. Verify the log against the device. pm list packages -u includes packages uninstalled for the user; the difference against pm list packages is the device's own record of what was removed and must match the log exactly:
comm -13 <(adb shell pm list packages | sed 's/^package://' | sort) \
<(adb shell pm list packages -u | sed 's/^package://' | sort)
Protected — never removed¶
Anything matching com.samsung.android.knox*, *framework*, com.samsung.android.providers*, com.samsung.android.spen*, com.android.systemui, com.android.settings, com.samsung.android.dialer, com.samsung.android.honeyboard (the Samsung keyboard — com.sec.android.inputmethod no longer exists on One UI 6+), com.google.android.gms, com.android.vending, Samsung Notes and My Files.
Removed — 50 packages¶
| Group | Packages |
|---|---|
| Samsung (27) | Samsung Free (app.spage), Bixby (bixby.agent, bixby.wakeup, visionintelligence), Tips, Game Launcher + Game Tools, Samsung Pass + Pass Autofill, Samsung Cloud, Kids (kidsinstaller, kidshome), TV Plus, AR Zone, AR Emoji ×2, Samsung Health (com.sec.android.app.shealth), Reminder, SmartThings (oneconnect), Continuity, Customization Service (rubin.app), Sticker Center, Smart Switch ×3 (smartswitchassistant, easyMover, easyMover.Agent), Global Goals (com.samsung.sree), PENUP, Samsung Members (voc), Samsung Messages, Samsung Contacts (app only — providers.contacts stays), Voice Recorder, Galaxy Store (samsungapps) |
| Promo / third-party (6) | Goodnotes, Spotify, LumaFusion, Clip Studio Paint, AccuBattery (not a Samsung preload — left by the refurbisher), Samsung Internet |
| Microsoft (2) | OneDrive (skydrive), Link to Windows (appmanager) |
| Google (10) | Play Movies, YouTube Music, Meet (tachyon), Messages, Photos, Drive (apps.docs), Gmail, Maps, Google app (googlequicksearchbox), Gemini (apps.bard) |
com.samsung.android.game.gos (Game Optimizing Service) reports Success and then reinstalls itself within seconds — on One UI 8 the package manager treats it as persistent. It is harmless on a notes tablet and was left alone rather than fought.
The exact list, before/after inventories and the restore/re-apply scripts live on the MacBook at ~/Documents/tab-s9fe-plus-debloat/.
Kept on purpose¶
| App | Package | Reason |
|---|---|---|
| Samsung Notes | com.samsung.android.app.notes |
Primary note app. Lowest S Pen latency on this hardware, PDF import + annotation, handwriting/equation-to-text, fully offline with no account |
| Chrome | com.android.chrome |
Browser. Samsung Internet was removed in its favour |
| Microsoft 365 | com.microsoft.office.officehubrow |
The only Word / PowerPoint / PDF viewer-editor kept; works with the college licence. Standalone Word also installed from Play |
| Outlook | com.microsoft.office.outlook |
College email |
| My Files | com.sec.android.app.myfiles |
Local file management (see the network-storage gotcha below) |
| Samsung keyboard, S Pen stack, Air Command | honeyboard, spen*, service.aircommand |
Input |
| Calendar, Clock, Calculator, Gallery | — | Small, useful, no account |
| YouTube, Play Store, Play Services, WebView, TTS | — | Lecture videos + the plumbing everything else depends on |
Installed from the Play Store afterwards: Tailscale, Material Files, Word.
Connecting to the Z2's files share¶
Why not My Files → Network storage¶
My Files' Network storage (SMB/FTP) feature is a separate plugin, com.samsung.android.app.networkstoragemanager, that is not preloaded on this unit (not before the OTA, not after). Without it My Files hides the option entirely — it does not appear in the sidebar or under Settings → Edit home. The plugin is only distributed through the Galaxy Store, which requires accepting Samsung's terms and, for downloads, a Samsung account. Rejected.
Material Files instead¶
Material Files (me.zhanghai.android.files, open source, Play Store) has native SMB support and, unlike My Files, registers as a system DocumentsProvider — the share shows up in every app's Open/Attach picker (Samsung Notes → Import, Microsoft 365, Chrome uploads), which is better integration than My Files would have given.
In Material Files: ☰ → Add storage → SMB server
| Field | Value |
|---|---|
| Hostname | z2mini.elk-kanyu.ts.net (MagicDNS full name; 100.67.235.68 as fallback) |
| Port | 445 |
| Path | files |
| Name | z2mini |
| Authentication | Password |
| Username | gabriel |
| Domain | (empty — standalone Samba, no Windows domain) |
| Password | Samba password (the smbpasswd one, not the Linux login) |
Repeat with path music for the music share if wanted. Tailscale must be connected on the tablet for any of this to resolve; on home Wi-Fi the LAN address also works.
Notes backup¶
Samsung Notes has no cloud sync without a Samsung account, so notebooks live only on the tablet. Anything worth keeping is exported manually: Notes → Share → Save as PDF file → Material Files → z2mini/files/.... That lands in /data/files on the Z2 and is covered by the nightly backup (05-backups.md).
Verifying¶
adb shell getprop ro.build.version.oneui # 80500
adb shell pm list packages -u | wc -l # total incl. removed
adb shell pm list packages | wc -l # active — difference should be 50
adb shell pm list packages com.samsung.android.app.notes com.android.chrome me.zhanghai.android.files com.tailscale.ipn
On the tablet: S Pen hover + Air Command button works; Samsung Notes imports a PDF; Material Files lists z2mini/files; Play Store opens (the canary for Google plumbing).
Restoring¶
Everything removed is still in the system image. Restore one package:
Restore all, or re-apply the debloat after a factory reset (a reset brings every package back):
Troubleshooting¶
adb devices shows unauthorized:
- The RSA prompt on the tablet was dismissed. Unplug, replug, tap Allow.
- If no prompt ever appears, USB debugging is off (Developer options).
Homebrew refuses to install anything (You have not agreed to the Xcode license):
- sudo xcodebuild -license accept, then re-run the install.
Batch loop removes only the first package:
- adb shell ate the loop's stdin. Use read -u 3 ... 3< list and </dev/null on the adb call.
A package reports Success but is still installed:
- Persistent package (game.gos is the known one). Leave it.
"Network storage" missing from My Files: - Expected on this unit — see above. Use Material Files.
Material Files can't reach the share:
- Tailscale disconnected (most common). Open the Tailscale app.
- Short hostname z2mini failing — use the full z2mini.elk-kanyu.ts.net or the IP.
- Domain field filled in — must be empty.
Samsung Free page gone but its dot lingers on the home screen: - Launcher setting, not a package. Long-press the home screen → swipe to the leftmost page → toggle off.
Decisions¶
| Decision | Reasoning |
|---|---|
pm uninstall --user 0, not root or a custom ROM |
Reversible in one command, no Knox trip, OTA updates keep working. Root buys nothing here |
| Update firmware before debloating | Two years of missing patches on a device that carries a Tailscale key; and One UI 8 added Gemini and reshuffled packages — one pass against the final set instead of two |
| Samsung Notes over Goodnotes / Nebo | Native S Pen latency, no subscription, no account. Goodnotes' Android build lags iPad and needs its own account; Nebo remains an option if handwritten-math conversion is ever wanted |
| Chrome over Samsung Internet | Gabriel's preference; sync with the Google account already on the device |
| Keep Microsoft 365 + Outlook, drop OneDrive / Link to Windows | The college licence makes M365 the natural Office viewer; OneDrive and Link to Windows are the parts that phone home for nothing. Collabora Office was the zero-Microsoft alternative, not needed |
| Material Files over My Files for SMB | My Files' network plugin is Galaxy Store / Samsung-account gated on this unit; Material Files is open source, account-free and exposes the share to every app's file picker |
| Galaxy Store removed | Notes, My Files and the keyboard also update through Google Play. Restored once to check whether the network-storage plugin was downloadable without an account (it demands terms + account) and removed again |