Manos 68d586de97 v1.3.0 - Stable Release: Complete Stability Overhaul
🎯 Major Achievement
- Fixed all 15 critical bugs causing connection drops, UI freezes, and upload failures
- Tested: 42,801+ files uploaded with ZERO errors and full gigabit speeds

🔧 Payload Fixes (7 bugs):
1. Per-file mutex implementation for concurrent uploads
2. Memory/mutex cleanup on disconnect
3. fflush() race condition fix (moved inside mutex)
4. File creation race condition fix (added mutex lock)
5. Global scan counter issues (moved to global scope)
6. Directory counting bug (count dirs + files)
7. Socket timeout for large files (5 min timeout + aggressive keepalive) ⭐ CRITICAL

🔧 Client Fixes (8 bugs):
1. ConnectAsync timeout memory leak
2. ConnectAsync exception memory leak
3. Disconnect memory leak
4. Upload deadlock during chunked uploads
5. Chunking disabled for stability (PS5 can't handle concurrent writes) ⭐ CRITICAL
6. UI freeze during uploads (Dispatcher.Invoke → InvokeAsync)
7. Log flooding causing UI freeze (throttling + size limit)
8. Optimal parallel connection strategy (6 parallel single-connection uploads)

📊 Performance Results:
- ✅ 42,801 files uploaded successfully
- ✅ Zero errors - 100% success rate
- ✅ 60-150 MB/s sustained throughput
- ✅ Peak: 190 MB/s per connection
- ✅ Fully responsive UI throughout upload
- ✅ No memory leaks - stable operation

📝 Files Changed:
- payload/main.c: 7 critical fixes
- payload/ps5_upload_server.elf: Recompiled with all fixes
- client/Protocol.cs: 3 memory leak fixes
- client/MainWindow.xaml.cs: 5 stability fixes
- CHANGELOG.md: Complete documentation of all fixes
- README.md: Updated with v1.3.0 performance results
2026-01-13 01:20:20 +02:00

🚀 PS5 Upload Suite - High-Speed File Transfer

By Manos

Version 1.3.0 - Stable Release

Custom high-speed file transfer system for PS5 with etaHEN. Achieves 100+ MB/s transfer speeds using a custom binary protocol.

⭐ NEW in v1.3.0: Complete stability overhaul - 42,801+ files uploaded with ZERO errors!

PS5 Upload Client Upload in Progress


📦 What's Included

1. PS5 Server Payload

  • File: payload/ps5_upload_server.elf
  • Port: 9113
  • Protocol: Custom binary (optimized for speed)
  • Features:
    • 4MB socket buffers
    • SO_NOSIGPIPE enabled
    • TCP_NODELAY for low latency
    • Direct disk writes (no temp files)
    • Multi-threaded client handling

2. Windows GUI Client

  • File: client/bin/Release/net6.0-windows/win-x64/publish/PS5Upload.exe
  • Framework: .NET 6.0 WPF
  • Features:
    • Modern dark theme UI
    • Drag & drop file/folder upload
    • Browse PS5 filesystem
    • Real-time upload progress
    • Speed indicator (MB/s)
    • Storage space display
    • Recursive folder upload

🚀 Quick Start

Step 1: Load PS5 Payload

  1. Copy payload/ps5_upload_server.elf to your PS5:

    /data/etaHEN/payloads/ps5_upload_server.elf
    
  2. Load the payload with elfldr

  3. You should see notification:

    PS5 Upload Server: 192.168.0.XXX:9113 - By Manos
    

Step 2: Run Windows Client

  1. Run PS5Upload.exe on your PC

  2. Enter your PS5's IP address (e.g., 192.168.0.160)

  3. Click Connect

  4. Browse files/folders or drag & drop

  5. Click Upload to PS5


🎨 Features

PS5 Server

✅ High-Speed Protocol - Custom binary protocol
✅ 4MB Buffers - Maximum throughput
✅ Direct Disk I/O - No temp files
✅ Multi-threaded - Handle multiple clients
✅ Robust Error Handling - Graceful failures

Windows Client

✅ Modern UI - Dark theme, clean design
✅ Drag & Drop - Files and folders
✅ Browse PS5 - Navigate filesystem
✅ Real-time Progress - Speed & percentage
✅ Folder Upload - Recursive directory upload
✅ Storage Info - Free space display


📊 Performance

v1.3.0 Tested Results:

  • ✅ 42,801 files uploaded successfully
  • ✅ Zero errors - 100% success rate
  • ✅ 60-150 MB/s sustained throughput
  • ✅ Peak: 190 MB/s per connection
  • ✅ Fully responsive UI throughout upload
  • ✅ No memory leaks - stable operation
Network Expected Speed
Gigabit Ethernet 100-120 MB/s
WiFi 6 (5GHz) 60-80 MB/s
WiFi 5 (5GHz) 40-60 MB/s

Note: Speeds depend on network quality and PS5 disk performance.


🔧 Building from Source

PS5 Payload

Requirements:

  • PS5 SDK (prospero-clang)
  • WSL or Linux
cd payload
bash compile.sh

Windows Client

Requirements:

  • .NET 6.0 SDK or later
  • Windows 10/11
cd client
build.bat

Or manually:

dotnet publish -c Release -r win-x64 --self-contained true

📋 Protocol Specification

See PROTOCOL.md for detailed protocol documentation.

Commands

  • PING - Test connection
  • LIST_STORAGE - Get storage info
  • LIST_DIR - List directory contents
  • CREATE_DIR - Create directory
  • DELETE_FILE - Delete file
  • DELETE_DIR - Delete directory
  • START_UPLOAD - Begin file upload
  • UPLOAD_CHUNK - Upload file chunk
  • END_UPLOAD - Finish upload
  • SHUTDOWN - Shutdown server

🛠️ 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 v1.3.0

See CHANGELOG.md for complete list of all 15 bug fixes.

Highlights:

  • ✅ Zero connection drops - 5 minute socket timeout + aggressive keepalive
  • ✅ Fully responsive UI - Async updates + throttled logging
  • ✅ No memory leaks - Proper resource disposal
  • ✅ Optimal stability - 6 parallel single-connection uploads
  • ✅ Tested: 42,801 files uploaded with 100% success rate

📝 License

MIT License - Free to use and modify


👤 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! 🚀

2026-10-05 21:26:50 +02:00
Languages
C# 77.3%
C 19.6%
Python 2%
Shell 0.7%
PowerShell 0.3%