🚀 PS5 Upload Suite - High-Speed File Transfer
By Manos
Version 4.2.1 - Bugfix Release
Custom high-speed file transfer system for PS5 with etaHEN. Achieves 104+ MB/s upload speeds for large files using parallel chunked uploads!
⭐ NEW in v4.2.1 (Bugfix):
- 🖥️ Fixed UI scrolling - Connection panel no longer eats half the screen
- 🔢 Fixed file counting - Chunked files now count correctly as completed
- 📊 Fixed frozen progress - Progress updates no longer freeze during heavy uploads
⭐ v4.2.0 Features:
- 🎮 Mount Games Button - Mount uploaded games directly from the client
- 🔍 Multi-Path Scanning - Scans internal storage, USB drives (0-3), and M.2 SSD
- 🔄 Duplicate Detection - Skips already-mounted games automatically
- 📊 Mount Summary - Detailed results with PS5 notifications
- 🧹 Auto-Cleanup - Removes mount entries for deleted games
📱 Android Mobile Client available!
📦 Downloads
Download the latest release from the Releases page:
1. PS5 Server Payload
- File:
ps5_upload_server.elf - Port: 9113
- High-speed custom binary protocol
- 16MB socket buffers for maximum throughput
- Multi-threaded client handling
2. Windows GUI Client
- File:
PS5Upload.exe - Self-contained executable (no .NET installation required)
- Modern dark theme UI
- Drag & drop file/folder upload
- Real-time upload progress with sliding window speed tracking
- Transfer History with success/failed tracking and retry
- PS5 storage display (free/used/total)
- Game mounting with one-click Mount Games button
3. 📱 Android Mobile Client
- File:
PS5UploadMobile.apk - Upload/download files from your phone
- Multi-PS5 Profiles support
- Browse PS5 filesystem
- Favorites for quick navigation
🚀 Quick Start
Step 1: Load PS5 Payload
-
Download
ps5_upload_server.elffrom the Releases page -
Copy it to your PS5:
/data/etaHEN/payloads/ps5_upload_server.elf -
Load the payload with elfldr
-
You should see notification:
PS5 Upload Server: 192.168.0.XXX:9113 - By Manos
Step 2: Run Windows Client
-
Run
PS5Upload.exeon your PC -
Enter your PS5's IP address (e.g.,
192.168.0.160) -
Click Connect
-
Browse files/folders or drag & drop
-
Click Upload to PS5
🎨 Features
PS5 Server Payload
✅ High-Speed Protocol - Custom binary protocol for maximum speed
✅ 8MB Buffer - Large buffer for high throughput
✅ 16MB Socket Buffers - Maximum network throughput
✅ Direct Disk I/O - No temp files, direct write syscalls
✅ Multi-threaded - Handle multiple clients simultaneously
✅ Per-File Mutex - Safe parallel uploads without corruption
✅ 5-Minute Socket Timeout - No connection drops on large files
✅ Game Mounting - nullfs mount, DRM patching, metadata copy
✅ Shell Commands - Built-in shell with ls, cd, cat, mkdir, rm, etc.
✅ Filesystem Indexing - In-memory index for instant search
Windows Client
✅ Modern UI - Dark theme, maximized window
✅ Drag & Drop - Files and folders
✅ Browse PS5 - Navigate filesystem with favorites
✅ Real-time Speed - Sliding window algorithm for accurate speed display
✅ Parallel Uploads - 4 parallel chunked connections for 104+ MB/s
✅ Transfer History - Track all uploads/downloads with success/failed status
✅ Retry Failed Transfers - Right-click to retry failed uploads
✅ Duplicate File Dialog - Handle file conflicts during upload
✅ Folder Upload - Recursive directory upload
✅ Download Files - Download from PS5 to PC
✅ 💾 Storage Display - Real-time PS5 storage info (free/used/total)
✅ 🔍 Smart Search - Full filesystem indexing with instant search
- Wildcard support:
*.pkg,*loader*,game*.bin - Size filters:
size:>1GB,size:<100MB - Case-insensitive matching
- Search both filename and full path
- Double-click to navigate to folder ✅ 💻 Shell Terminal - Execute commands directly on PS5
- Run system commands remotely
- Real-time output display
- Command history
- Working directory support
✅ ⭐ Favorites/Bookmarks - Quick navigation to saved paths
✅ 👥 Multi-PS5 Profiles - Save and switch between multiple PS5 consoles
✅ 🎮 Mount Games - Mount uploaded games directly from the client - Scans all game paths: internal, USB drives (0-3), M.2 SSD
- Duplicate detection across storage locations
- Auto-cleanup of deleted game mounts
- PS5 notifications with mount progress
- Automatic game registration via game_mounter.elf
📊 Performance
v3.1.0 Optimized Results:
- ✅ 104+ MB/s upload speed for large files (parallel chunked uploads)
- ✅ 4 parallel chunk connections for maximum throughput
- ✅ 500MB chunks - optimal size for PS5 disk performance
- ✅ Real-time progress - Speed/ETA updates during upload
- ✅ Zero chunk failures - Fixed race conditions
- ✅ Fully responsive UI throughout upload
- ✅ No memory leaks - stable operation
v4.1.0 Real-World Test (Astrobot):
- ✅ 156,253 files uploaded successfully in 53 minutes
- ✅ 1,724 directories created
- ✅ Zero crashes - stable memory usage throughout
- ✅ Smooth UI - no stuttering with massive file counts
Previous Results (v1.3.0):
- ✅ 42,801 files uploaded successfully
- ✅ 60-150 MB/s sustained throughput
| Network | Expected Upload Speed | Expected Download Speed |
|---|---|---|
| Gigabit Ethernet | 88-110 MB/s (aggregate) | 100-120 MB/s |
| WiFi 6 (5GHz) | 32-70 MB/s (aggregate) | 60-80 MB/s |
| WiFi 5 (5GHz) | 20-50 MB/s (aggregate) | 40-60 MB/s |
Note: Upload speeds depend on network quality and PS5 disk write performance. WiFi has ~40-60% overhead compared to Ethernet.
🛠️ Troubleshooting
Connection Failed
- Make sure PS5 payload is running
- Check PS5 IP address is correct
- Verify both devices are on same network
- Check firewall settings
Slow Upload Speed
- Use wired Ethernet connection (not WiFi)
- Close other network applications
- Check PS5 disk health
Upload Fails
- Check PS5 has enough free space
- Verify destination path exists
- Check file permissions
🔒 Security Notes
- Server only accepts connections from local network
- No authentication required (local network only)
- SHUTDOWN command only works from localhost
📝 What's New in v4.2.0
🎮 Game Mounter Integration
- Mount Games Button - New green "🎮 Mount Games" button in the client UI
- Multi-Path Scanning - Scans 6 locations:
/data/etaHEN/games, USB drives (0-3), M.2 SSD (/mnt/ext0/games) - Duplicate Detection - If the same game exists on multiple drives, it's mounted only once
- Auto-Cleanup - Automatically unmounts entries for games that have been deleted
- PS5 Notifications - Real-time progress notifications on PS5 screen during mounting
- Detailed Summary - Shows new mounts, already mounted, duplicates skipped, and failures
- Auto Registration - Automatically runs
game_mounter.elffor home screen registration when new games are detected
🔧 Payload Improvements
- New Protocol Command -
CMD_MOUNT_GAMES(0x30) for triggering game mount from client - nullfs Mounting - Games mounted via nullfs to
/system_ex/app/ - DRM Patching - Automatic DRM type fix in param.json
- sce_sys Copy - Copies game metadata to
/user/app/and/user/appmeta/ - mount.lnk Tracking - Creates mount link files for persistent mount state
⚡ Client Improvements
- Real-Time Speed Display - Sliding window algorithm for accurate real-time upload speed
- Smoother ETA - Blended speed calculation (60% real-time + 40% average) with better formatting
- Duplicate File Dialog - New dialog for handling file conflicts during upload
- Move Dialog Refactor - Reusable
ShowPathPickerDialogAsync()replaces inline code
🐛 Bug Fixes
- Fixed IOVEC_ENTRY(NULL) crash -
strlen(NULL)with-O3optimization caused payload crash - Fixed libSceAppInstUtil crash - Library not available in etaHEN payload context, switched to standalone registration
- Removed system() calls - Replaced
system("rm -rf ...")with safe recursive delete to prevent hangs - Fixed Shell Terminal hardcoded IP - Shell was connecting to hardcoded IP instead of configured PS5 address
- Fixed ETA jumping - ETA no longer jumps erratically during uploads
- Fixed speed dropping to 0 - Sliding window prevents speed display from showing 0 during pauses
- Fixed files remaining counter - Prevented negative values in remaining files display
📝 What's New in v3.2.0
🎯 Improvements:
1. 💾 Accurate Storage Display
- Storage now matches PS5 UI - Shows ~848 GB instead of raw 872 GB
- Accounts for reserved space - Same calculation as PS5 system
2. 📱 Mobile App Improvements
- Multi-select mode - Toggle button to select multiple files/folders
- Folder browser - Visual folder picker for Copy/Move destinations
- Sorted file list - Folders always displayed at top
- Exit confirmation - Prompt when pressing back button
- Delete folders - Now supports folder deletion (not just files)
- Batch operations - Delete/download multiple items at once
3. 🐛 Bug Fixes
- Fixed empty folder deletion - No more "Unexpected response" error
- Fixed Copy/Move crash - No longer crashes when selecting destination
- Fixed multi-select count - Correct item count in delete confirmation
- Fixed folder navigation - Can enter folders after actions complete
📝 What's New in v3.1.0
🚀 Performance Improvements:
1. ⚡ Parallel Chunked Uploads (104 MB/s!)
- Large files (>100MB) are now split into 500MB chunks
- 4 parallel connections upload chunks simultaneously
- Result: ~104 MB/s upload speed (2x faster than before!)
- Fixed race condition: First chunk creates file before others start
- Fixed closure bug: Correct offset/size capture for parallel tasks
2. 📊 Real-time Progress Display
- Speed display now updates in real-time during chunked uploads
- ETA display shows accurate time remaining
- Progress bar correctly shows 0-100% for chunked files
- No more speed dropping to 0 during large file uploads
3. 💾 Storage Display Improvements
- Changed label to "Data Storage (/data)" for clarity
- Uses statfs with f_bavail for more accurate available space
- Real-time updates every 5 seconds when connected
📝 What's New in v3.0.0
🐛 Critical Bug Fixes:
1. 🔧 Path Normalization Fix
- Fixed: Double-slash paths (
//mnt/ext1/...) that caused directory creation to fail - Affected: All file operations (upload, download, delete, rename, copy, move)
- Solution: Added
NormalizePath()function in both client and server - Result: 100% reliable directory creation and file uploads
2. 📱 Android Mobile Client
- NEW: Full-featured Android app for PS5 file management
- Multi-PS5 Profiles - Save and switch between multiple PS5 consoles
- Upload files from phone to PS5
- Download files from PS5 with Share option
- Browse PS5 filesystem
- Favorites for quick navigation
- Debug Log with Copy to clipboard
- Transfer History tracking
3. 🛠️ Server Improvements
- Path normalization in all handler functions
- More robust error handling
- Improved stability for parallel uploads
📝 What's New in v2.1.0
🚀 Performance Optimizations:
1. ⚡ Massive Upload Speed Boost (88-110 MB/s)
- Server-side: Replaced
fwrite()with directwrite()syscalls - Client-side: 8 parallel large file uploads (optimal for PS5 disk)
- Result: 80-110 MB/s aggregate upload speed on Gigabit Ethernet
- Peak bursts: Up to 2.05 GB/s when hitting disk cache
- Per-file: 11-14 MB/s sustained per connection
2. 📊 Transfer History
- Complete history of all uploads and downloads
- Success/Failed status tracking with error messages
- Speed statistics (average, min, max)
- Export to CSV/JSON for analysis
- Persistent storage across sessions
3. 🔄 Auto-Clear History on Startup
- Optional checkbox to clear history automatically
- Useful for keeping UI clean between sessions
- Setting saved in
ps5_upload_settings.json
4. 🖥️ Maximized Window UI
- Application opens in full-screen mode by default
- Better visibility for large file transfers
- Can be resized/restored as needed
Technical Improvements:
- ✅ 16MB socket buffers (up from 4MB) for maximum throughput
- ✅ Per-file mutex locking - Parallel writes without race conditions
- ✅ File pre-allocation - Reduces disk fragmentation for large files
- ✅ Direct syscalls - Bypasses stdio buffering overhead
📝 What's New in v2.0.0
🎉 4 Major New Features:
1. 📥 Download Files (PS5 → PC)
- Right-click any file → "⬇️ Download to PC"
- Save file dialog for destination selection
- Real-time progress tracking with speed display
- Optimized with sendfile for maximum speed
2. 🔍 File Search
- Search box in PS5 Files panel
- Real-time filtering as you type
- Case-insensitive search
- Quick "Clear" button to reset
3. ⭐ Favorites/Bookmarks
- Save frequently used PS5 paths
- Quick dropdown navigation
- Add/Remove favorite paths
- Persistent storage in JSON
4. 🎮 Multi-PS5 Support
- Save multiple PS5 profiles (IP + name)
- Quick switch between different PS5 consoles
- Dropdown profile selector
- Persistent profile storage
Previous Stability (v1.3.0):
- ✅ Zero connection drops - 5 minute socket timeout + aggressive keepalive
- ✅ Fully responsive UI - Async updates + throttled logging
- ✅ No memory leaks - Proper resource disposal
- ✅ Tested: 42,801 files uploaded with 100% success rate
📝 License
This software is provided as-is for personal use.
👤 Author
Manos
Created with ❤️ for the PS5 homebrew community
🙏 Credits
- PS5 SDK
- etaHEN
- Inspired by ps5upload by PhantomPtr
- PS5 homebrew community
📞 Support
For issues or questions, please open an issue on GitHub.
Enjoy blazing-fast file transfers on your PS5! 🚀

