---
title: Stream Box
description: Configure ONN Media Box
published: true
date: 2026-02-20T04:50:44.701Z
tags: 
editor: markdown
dateCreated: 2026-02-20T04:50:34.384Z
---

# Onn 4K Streaming Box Setup Guide

**Complete configuration guide for Onn 4K streaming boxes used with Pocket Grimoire**

---

## Overview

This guide covers the complete setup of your Onn 4K streaming boxes for use with Pocket Grimoire, including:
- Initial device setup
- WiFi configuration (portapotty network)
- Required app installations (Jellyfin, StashApp, Netflix, YouTube TV)
- Connection to Pocket Grimoire services
- Troubleshooting common issues

**Network Configuration:**
- **WiFi SSID:** `portapotty` (GL.iNet Beryl AX travel router)
- **Connection:** All devices connect wirelessly to portapotty
- **Exception:** Raspberry Pi connects to router via CAT5 ethernet

---

## Hardware Information

### Onn 4K Streaming Box Specifications
- **Model:** Onn 4K Streaming Box (Walmart exclusive)
- **OS:** Android TV (Google TV interface)
- **CPU:** Amlogic S905Y4 quad-core
- **RAM:** 2GB
- **Storage:** 8GB internal
- **Video:** 4K HDR, Dolby Vision, Dolby Atmos
- **WiFi:** 802.11ac (WiFi 5) dual-band
- **Bluetooth:** 5.0
- **Ports:** HDMI 2.1, Micro-USB (power)
- **Remote:** Voice remote with Google Assistant

### What's in the Box
- Onn 4K streaming box
- Voice remote with batteries
- USB power adapter
- HDMI cable (short)
- Quick start guide

---

## Initial Setup

### First Power-On

1. **Connect to TV:**
   - Plug HDMI cable into Onn box
   - Connect other end to hotel TV HDMI port
   - Plug Micro-USB power into Onn box
   - Connect USB power adapter to wall or Anker Prime

2. **Power On:**
   - TV should auto-detect HDMI input
   - If not, use TV remote to select correct HDMI input
   - Onn box LED will light up (solid white when ready)
   - Wait for Google TV home screen

3. **Select Language:**
   - Use remote to select language (English)
   - Click OK

4. **Accessibility Options:**
   - Skip unless needed (click "Skip")

### WiFi Configuration

**Critical: Connect to portapotty network**

1. **WiFi Setup Screen:**
   - List of available networks will appear
   - Scroll to find `portapotty`
   - Select `portapotty`
   - Click "Connect"

2. **Enter Password:**
   - Enter WiFi password for portapotty network
   - Use on-screen keyboard
   - Click "Connect"
   - Wait for connection (should take 5-10 seconds)
   - "Connected" message will appear

3. **Verify Connection:**
   - Should show "portapotty" with signal strength
   - Should show "Connected" status

**Troubleshooting WiFi:**
- If portapotty doesn't appear: Ensure Beryl AX router is powered on
- If password fails: Double-check portapotty WiFi password
- If connection drops: Move closer to router
- Signal strength: Should be "Excellent" or "Good" in hotel room

### Google Account Setup

**Option A: Sign in with Google Account**
1. Select "Sign in"
2. Use phone to scan QR code or enter code
3. Follow prompts on phone
4. Account will sync to Onn box

**Option B: Set up without Google Account (Limited)**
1. Select "Skip" 
2. Click "Skip" again to confirm
3. Some features will be limited (Play Store, purchases)
4. **Recommendation:** Use Option A for full functionality

**For Pocket Grimoire:**
- Need Google account for: Play Store (to install apps)
- StashApp requires sideloading (see separate section)

### Complete Initial Setup

1. **Google Services:**
   - Accept terms (or skip)
   - Location services: Your choice
   - Device name: Name it (e.g., "Onn Box 1", "Onn Box 2")

2. **Voice Match:**
   - Set up "Hey Google" voice commands (optional)
   - Can skip and set up later

3. **Apps to Install:**
   - Google will suggest popular apps
   - Skip for now (we'll install specific apps later)
   - Click "Next" or "Skip"

4. **Complete:**
   - Should arrive at Google TV home screen
   - Remote should control interface
   - Ready to install apps

---

## App Installations

### 1. Jellyfin for Android TV

**Install from Google Play Store:**

1. **Open Play Store:**
   - Press Home button on remote
   - Navigate to "Apps" tab at top
   - Select "Play Store"

2. **Search for Jellyfin:**
   - Click search icon (magnifying glass)
   - Type "Jellyfin" using on-screen keyboard
   - Select "Jellyfin for Android TV" from results
   - **Developer:** Jellyfin
   - **Note:** Choose "Jellyfin for Android TV" not regular Jellyfin

3. **Install:**
   - Click "Install"
   - Wait for download and installation (~30 seconds)
   - Click "Open" when complete

4. **Configure Jellyfin:**
   - Click "Connect to Server"
   - **Method 1 - Manual Entry:**
     - Click "Add server manually"
     - Host: `pocket-grimoire.local` or `10.0.0.10` (Pi's IP)
     - Port: `8096`
     - Click "Connect"
   
   - **Method 2 - Auto-Discovery (if available):**
     - Wait for Jellyfin to discover Pocket Grimoire
     - Select "Pocket Grimoire" from list
     - Click "Connect"

5. **Login:**
   - Enter username and password
   - Or select "Quick Connect" if configured
   - Click "Sign In"

6. **Verify:**
   - Should see Jellyfin home screen
   - Libraries (Movies, TV Shows) should appear
   - Test playing a video (should be direct play, no buffering)

**Jellyfin Settings (Optional but Recommended):**
- Settings → Playback
  - Video quality: Maximum
  - Allow direct play: ON
  - Allow direct stream: ON
  - Allow video transcoding: OFF (should be disabled on server already)

### 2. StashApp for Android TV

**Installation: Requires Sideloading (GitHub Release)**

StashApp is not available in Play Store, must be installed manually via APK file.

#### Prerequisites
- USB drive (for APK transfer)
- Computer with internet access
- OR Android phone with file transfer capability

#### Method 1: USB Drive Installation (Recommended)

**On Your Computer:**

1. **Download StashApp APK:**
   - Open browser: https://github.com/damontecres/StashAppAndroidTV/releases
   - Find latest release (e.g., v1.x.x)
   - Download file: `stashapp-tv-release-vX.X.X.apk`
   - Save to USB drive

2. **Prepare USB Drive:**
   - Format as FAT32 or exFAT (if not already)
   - Copy APK to root of USB drive
   - Safely eject USB drive

**On Onn Box:**

3. **Enable Unknown Sources:**
   - Press Home button
   - Navigate to Settings (gear icon)
   - Select "Device Preferences"
   - Select "Security & Restrictions"
   - Enable "Unknown Sources"
   - Confirm warning (accept risk)

4. **Install File Manager (if needed):**
   - Open Play Store
   - Search "File Commander" or "X-plore File Manager"
   - Install one of these apps
   - Open the file manager app

5. **Connect USB Drive:**
   - Plug USB drive into Onn box USB port
   - **Note:** Onn box only has Micro-USB (power), so you need:
     - USB OTG adapter (Micro-USB to USB-A female)
     - OR transfer APK via network/Bluetooth

**Alternative: Network Transfer**

Since Onn box doesn't have easy USB access:

1. **Use Send Files to TV App:**
   - On Onn box: Install "Send Files to TV" from Play Store
   - On phone/computer: Install companion app
   - Transfer APK wirelessly
   - Open with package installer

2. **Or Use Cloud Storage:**
   - Upload APK to Google Drive
   - On Onn box: Install Google Drive app
   - Download APK from Drive
   - Open with package installer

#### Method 2: Direct Download on Onn Box (Easiest)

**On Onn Box:**

1. **Install Downloader App:**
   - Open Play Store
   - Search "Downloader" (by AFTVnews)
   - Install and open

2. **Download StashApp APK:**
   - In Downloader app, click URL field
   - Enter: `https://github.com/damontecres/StashAppAndroidTV/releases`
   - Navigate to latest release
   - Click APK download link
   - Save APK

3. **Install APK:**
   - Downloader will prompt to install after download
   - Click "Install"
   - Click "Done" when complete
   - APK will be installed

**Configure StashApp:**

1. **Open StashApp:**
   - Find in Apps list (may be under "See all apps")
   - Or search "Stash" in search bar

2. **Connect to Server:**
   - Enter server URL: `http://pocket-grimoire.local:9999`
   - Or use IP: `http://10.0.0.10:9999`
   - Enter API key (if required)
   - Click "Connect"

3. **Test Connection:**
   - Should load Stash interface
   - Browse library
   - Test playing a preview
   - Verify scene markers work

**StashApp Settings:**
- Video quality: Original (for direct play)
- Hardware acceleration: ON
- Cache previews: ON (if storage available)

### 3. Netflix

**Install from Google Play Store:**

1. **Open Play Store:**
   - Press Home button
   - Navigate to "Apps"
   - Select "Play Store"

2. **Search Netflix:**
   - Search bar → type "Netflix"
   - Select "Netflix" (official app)
   - Click "Install"
   - Wait for installation

3. **Open Netflix:**
   - Click "Open" after installation
   - Or find in Apps list

4. **Sign In:**
   - Enter Netflix email and password
   - Or scan QR code with phone
   - Select profile

5. **Test:**
   - Browse content
   - Play a video to verify streaming works
   - Check video quality (should be HD/4K)

**Netflix Settings:**
- Profile: Select your profile
- Video quality: High (auto)
- Subtitles/audio: Configure as preferred

### 4. YouTube TV

**Install from Google Play Store:**

1. **Open Play Store:**
   - Navigate to Play Store
   - Search "YouTube TV"

2. **Install:**
   - Select "YouTube TV" (official app)
   - Click "Install"
   - Wait for installation

3. **Sign In:**
   - Open YouTube TV
   - Sign in with Google account (YouTube TV subscription)
   - Or use TV code activation:
     - Visit tv.youtube.com/start on computer/phone
     - Enter code shown on TV
     - Sign in and authorize

4. **Test:**
   - Browse live TV channels
   - Test DVR recordings
   - Verify streaming quality

**YouTube TV Settings:**
- Live guide: Configure preferences
- DVR: Verify recordings accessible
- Picture quality: Auto or 4K (if available)

---

## Network Configuration Details

### portapotty WiFi Network (GL.iNet Beryl AX)

**Network Details:**
- **SSID:** `portapotty`
- **Frequency:** 2.4GHz + 5GHz (dual-band)
- **Security:** WPA2/WPA3
- **DHCP:** Enabled (automatic IP assignment)
- **Subnet:** 192.168.8.0/24 (default GL.iNet)
- **Router IP:** 192.168.8.1 (Beryl AX admin panel)
- **DNS:** Handled by Beryl AX (AdGuard Home)

**Devices on portapotty Network:**
- Raspberry Pi 4: Ethernet (CAT5) → 10.0.0.10 (static, or check DHCP)
- Onn Box 1: WiFi → 192.168.8.x (DHCP assigned)
- Onn Box 2: WiFi → 192.168.8.x (DHCP assigned)
- Laptop: WiFi → 192.168.8.x (DHCP assigned)
- Phone/tablet: WiFi → 192.168.8.x (DHCP assigned)

### Pocket Grimoire Service Addresses

**When connected to portapotty network:**

```
Jellyfin:        http://pocket-grimoire.local:8096
                 or http://10.0.0.10:8096

Stash:           http://pocket-grimoire.local:9999
                 or http://10.0.0.10:9999

Wiki.js:         http://pocket-grimoire.local:3000
                 or http://10.0.0.10:3000

File Browser:    http://pocket-grimoire.local:8080
                 or http://10.0.0.10:8080

Router Admin:    http://192.168.8.1
```

**If `.local` names don't resolve:**
- Use IP addresses directly (10.0.0.10)
- Check Beryl AX DNS settings
- Restart Onn box

---

## Configuration Checklist

### Pre-Deployment (At Home)

**Before traveling, complete these tasks:**

- [ ] Both Onn boxes powered on and tested
- [ ] Both connected to test WiFi network
- [ ] Google accounts signed in on both boxes
- [ ] All 4 apps installed on both boxes:
  - [ ] Jellyfin for Android TV
  - [ ] StashApp for Android TV (sideloaded)
  - [ ] Netflix
  - [ ] YouTube TV
- [ ] Jellyfin configured and tested (play test video)
- [ ] StashApp configured and tested (browse library)
- [ ] Netflix signed in (test streaming)
- [ ] YouTube TV signed in (test live TV)
- [ ] Both remotes have fresh batteries
- [ ] Both boxes labeled (Box 1, Box 2) or distinguishable

### Hotel Deployment

**Setup sequence at hotel:**

1. **Setup Beryl AX Router:**
   - Power on Beryl AX
   - Connect to hotel WiFi (via Beryl AX admin or phone app)
   - Verify internet connection
   - portapotty WiFi should be active

2. **Setup Pocket Grimoire:**
   - Power on Raspberry Pi
   - Connect via CAT5 to Beryl AX
   - Wait 2-3 minutes for boot
   - SSH in and unlock ZFS (if needed)
   - Verify Docker containers running

3. **Setup Onn Box 1:**
   - Connect to TV HDMI port
   - Power on
   - Wait for boot (30 seconds)
   - Should auto-connect to portapotty
   - If not: Settings → Network → portapotty → Connect
   - Test Jellyfin (should connect automatically)
   - Test StashApp (should connect automatically)

4. **Setup Onn Box 2 (if using):**
   - Connect to second TV or different HDMI port
   - Repeat setup steps above
   - Verify connection to portapotty

5. **Verify All Services:**
   - Open Jellyfin → Browse library → Play test video
   - Open StashApp → Browse library → Test preview
   - Open Netflix → Test streaming
   - Open YouTube TV → Test live channel

**Total setup time: 10-15 minutes**

---

## Troubleshooting

### WiFi Connection Issues

**Onn box won't connect to portapotty:**

1. **Verify Router is Online:**
   - Check Beryl AX power LED (should be solid)
   - Check Beryl AX WiFi LED (should be blinking/solid)
   - Use phone to verify portapotty network is visible

2. **Forget and Reconnect:**
   - Settings → Network & Internet
   - Select portapotty
   - Click "Forget network"
   - Scan again
   - Reconnect with password

3. **Check Router Settings:**
   - Access Beryl AX admin: http://192.168.8.1
   - Verify WiFi is enabled
   - Check if DHCP is active
   - Verify no MAC filtering enabled

4. **Restart Devices:**
   - Power cycle Onn box (unplug, wait 10 seconds, plug back in)
   - Restart Beryl AX router
   - Try connecting again

**Weak WiFi Signal:**

- Move Beryl AX closer to TV/Onn box
- Reduce obstacles between router and box
- Use 2.4GHz band instead of 5GHz (better range, slower speed)
- Check for interference (hotel WiFi channels)

### Jellyfin Connection Issues

**Can't connect to Jellyfin server:**

1. **Verify Server is Running:**
   - SSH into Pocket Grimoire
   - Run: `docker ps | grep jellyfin`
   - Should show `pocketgrimoire_jellyfin` running

2. **Check Network Connectivity:**
   - On Onn box, open browser app
   - Navigate to: `http://pocket-grimoire.local:8096`
   - Or try IP: `http://10.0.0.10:8096`
   - Should load Jellyfin web interface

3. **Reconnect Jellyfin App:**
   - Open Jellyfin app
   - Settings → Server
   - Delete existing server
   - Add server manually:
     - Host: `pocket-grimoire.local` or `10.0.0.10`
     - Port: `8096`
   - Connect and login

4. **Check Firewall:**
   - SSH into Pi
   - Verify port 8096 is open: `sudo netstat -tlnp | grep 8096`
   - Should show jellyfin listening

**Jellyfin Playback Issues:**

**Video won't play:**
- Check media is H.264/AAC (see encoding guide)
- Verify network bandwidth (should be strong WiFi)
- Try different video file
- Check Jellyfin logs: `docker logs pocketgrimoire_jellyfin`

**Video buffers/stutters:**
- Check WiFi signal strength (move router closer)
- Verify direct play (check playback info, should NOT say "transcoding")
- If transcoding occurs: Media is not properly encoded
- Check network activity: `ssh user@pocket-grimoire.local` then `iftop`

**Subtitles don't work:**
- Ensure subtitles are SRT format (not PGS/VobSub)
- External .srt files work best
- Embedded SRT in MKV also works

### StashApp Connection Issues

**Can't connect to Stash server:**

1. **Verify Stash is Running:**
   - SSH into Pocket Grimoire
   - Run: `docker ps | grep stash`
   - Should show `pocketgrimoire_stash` running

2. **Test Server Connection:**
   - Open browser on Onn box
   - Navigate to: `http://pocket-grimoire.local:9999`
   - Or try: `http://10.0.0.10:9999`
   - Should load Stash web interface

3. **Reconfigure StashApp:**
   - Open StashApp
   - Settings → Server
   - Remove existing server
   - Add server:
     - URL: `http://pocket-grimoire.local:9999`
     - Or: `http://10.0.0.10:9999`
   - Enter API key (if required)
   - Connect

4. **Check API Key:**
   - If StashApp requires API key
   - SSH into Pi: `cat /srv/vaultpg/stash/config/config.yml | grep api_key`
   - Or access Stash web UI → Settings → Security → API Key
   - Copy key into StashApp

**StashApp Crashes or Freezes:**
- Clear app cache: Settings → Apps → StashApp → Clear cache
- Restart Onn box
- Reinstall StashApp (download latest APK)
- Check Stash server logs: `docker logs pocketgrimoire_stash`

**Previews won't play:**
- Verify previews synced from Netgrimoire
- Check: `ssh user@pocket-grimoire.local`
- Run: `ls /srv/vaultpg/stash/generated/` (should show preview files)
- If empty: Sync hasn't completed, or previews not generated on Netgrimoire

### Netflix/YouTube TV Issues

**Netflix won't sign in:**
- Verify Netflix subscription is active
- Try signing in on phone/computer first
- Use "Sign in with code" option (visit netflix.com/tv8 on another device)
- Check internet connection (portapotty → hotel WiFi)

**YouTube TV won't play:**
- Verify YouTube TV subscription is active
- Check location restrictions (some content blocked outside home area)
- Try signing out and back in
- Verify internet connection speed

**Streaming quality poor:**
- Check WiFi signal strength
- Verify hotel internet speed (not throttled)
- Switch to lower quality in app settings temporarily
- Move router closer to TV

### General Onn Box Issues

**Box won't turn on:**
- Check power adapter is plugged in
- Check Micro-USB cable is secure
- Try different power source
- LED should light up (white when on)

**Remote not working:**
- Check batteries (replace if needed)
- Re-pair remote: Hold Back + Home for 5 seconds
- Check for obstructions between remote and box
- Try using Google Home app as remote backup

**Box is slow/laggy:**
- Clear cache: Settings → Storage → Cached data → Clear
- Uninstall unused apps
- Restart box: Settings → Device Preferences → About → Restart
- Factory reset (last resort)

**Apps keep crashing:**
- Clear app cache and data
- Uninstall and reinstall app
- Check for OS updates: Settings → Device Preferences → About → System update
- Factory reset if persistent

**No sound:**
- Check TV volume (not muted)
- Check HDMI connection (reseat cable)
- Settings → Display & Sound → Audio output → Test
- Try different HDMI port on TV
- Check if audio is set to "Auto" or "Stereo"

### DNS Resolution Issues

**`.local` addresses don't work (pocket-grimoire.local fails):**

1. **Use IP Address Instead:**
   - Replace `pocket-grimoire.local` with `10.0.0.10`
   - Example: `http://10.0.0.10:8096` for Jellyfin

2. **Check Pi's IP Address:**
   - SSH into Pi: `ip addr show eth0`
   - Look for inet address (e.g., 192.168.8.50)
   - Use this IP in apps instead of .local

3. **Check Beryl AX DNS:**
   - Access http://192.168.8.1
   - Check DNS settings
   - Verify AdGuard Home is running
   - Ensure mDNS/Bonjour reflection is enabled (if option available)

4. **Add Static DNS Entry:**
   - In Beryl AX admin panel
   - Add static DNS entry: pocket-grimoire → 10.0.0.10

---

## Advanced Configuration

### Setting Static IP for Raspberry Pi

**On Beryl AX router:**

1. Access admin panel: http://192.168.8.1
2. Navigate to Network → DHCP Server
3. Find Raspberry Pi in client list
4. Assign static IP: 10.0.0.10
5. Save and apply

**Or on Raspberry Pi directly:**

```bash
# Edit network config
sudo nano /etc/dhcpcd.conf

# Add at end:
interface eth0
static ip_address=10.0.0.10/24
static routers=192.168.8.1
static domain_name_servers=192.168.8.1
```

### Optimizing Video Playback

**Jellyfin Video Settings (on Onn box):**
- Settings → Playback
- Max streaming bitrate: Maximum (Auto)
- Video quality: Maximum
- Allow video playback that may require conversion: OFF
- Skip intro: ON (if desired)

**StashApp Video Settings:**
- Settings → Playback
- Video quality: Original
- Hardware acceleration: ON
- Buffer size: Large

### Remote Control Tips

**Voice Commands:**
- "Hey Google, open Jellyfin"
- "Hey Google, play [movie name] on Jellyfin"
- "Hey Google, pause"
- "Hey Google, turn off TV"

**Useful Remote Shortcuts:**
- Home button (twice): Recent apps
- Back button (hold): Return to home
- Play/Pause: Works in most video apps
- Voice button: Google Assistant

---

## App Locations

**After installation, find apps here:**

**Home Screen:**
- Netflix, YouTube TV usually appear automatically

**Apps Tab:**
- All installed apps listed alphabetically
- Jellyfin, StashApp will be here

**Quick Access:**
- Long-press Home → Add to Favorites
- Apps appear on home screen for quick access

---

## Maintenance

### Weekly (While Using)
- Check for app updates (Play Store → Updates)
- Clear cache if apps feel slow
- Verify WiFi connection strength

### Before Each Trip
- Test all apps at home
- Update apps if updates available
- Check remote batteries
- Verify all logins still active

### After Each Trip
- Check for OS updates
- Review installed apps (remove if unused)
- Clear cache to free storage

---

## Factory Reset (If Needed)

**When to factory reset:**
- Box is extremely slow
- Apps constantly crash
- Persistent connection issues
- Selling/giving away box

**How to factory reset:**

1. **Via Settings:**
   - Settings → Device Preferences
   - About → Factory Reset
   - Confirm reset
   - Wait for reboot (3-5 minutes)

2. **Via Recovery Mode:**
   - Power off box
   - Hold reset button (if present)
   - Power on while holding
   - Navigate with remote to "Factory Reset"
   - Confirm

**After reset:**
- Complete initial setup again (see beginning of guide)
- Reinstall all apps
- Reconfigure WiFi and services

---

## Quick Reference Card

**Essential Information:**

```
WiFi Network:    portapotty
Router Admin:    http://192.168.8.1

Pocket Grimoire Services:
- Jellyfin:      http://pocket-grimoire.local:8096
- Stash:         http://pocket-grimoire.local:9999
- Wiki:          http://pocket-grimoire.local:3000

If .local fails, use IP: http://10.0.0.10:[PORT]

Apps Required:
✓ Jellyfin for Android TV (Play Store)
✓ StashApp for Android TV (Sideload APK)
✓ Netflix (Play Store)
✓ YouTube TV (Play Store)

Troubleshooting:
1. Restart Onn box
2. Check portapotty WiFi connection
3. Verify Pocket Grimoire is running (SSH check)
4. Use IP addresses instead of .local names
```

---

## Appendix: StashApp APK Sources

**Official GitHub Repository:**
- https://github.com/damontecres/StashAppAndroidTV
- Releases: https://github.com/damontecres/StashAppAndroidTV/releases
- Latest version: Check releases page

**Verification:**
- Download only from official GitHub releases
- Verify file integrity (check file size, release notes)
- Watch for malware warnings (false positives common with sideloaded APKs)

**Update Process:**
- Check GitHub for new releases periodically
- Download new APK
- Install over existing app (data preserved)
- Or uninstall and reinstall clean

---

*This guide was created for Onn 4K streaming box configuration with Pocket Grimoire. Keep updated as apps and configurations change.*
