Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

Releases: Laf111/WiiUFtpServer

V12-1

08 Sep 15:44
82122db
Compare
Choose a tag to compare

2022/09/08 V12-1 :
> fix : creating single letter folders Freezes the console #28
> optimize transfer buffer for DL (to ease connections start)

V12

05 Sep 05:05
25a9520
Compare
Choose a tag to compare
V12

2022/09/05 V12 :
> WUT developpement is interrupted (awaiting for a more stable version, tried 1.1.1 with no success), so no more channel version for V12 and up.
> it is a much more stable version that use dynamic libs (like the original software) and it fixes :
- transfers number limitation on the SDCard, now 8 is allowed
- CRC errors when transferring to the SDCard
and i suppose :
- Disconnects to ftp server while copying a injected game #22
- Crash when trying to access a folder on SD #23
- unstable on tiramisu #24
- It seems that using FileZilla client to delete files on sdcard caused it died. #26
> noticeable multi-transfers enhancement :
- now connections are re-used (no more alloc/free when client connects)
- transfer buffer and thread are preallocated
- extend the priority values used for transfer threads
> fix : /storage_usb sometimes inaccessible if two USB devices are plugged in #25
> fix : renaming file is broken #27
> fix : rights on files uploaded not set properly
> remove nand backup, log file and CRC calculation features (no more CRC errors)

Special thanks to Masana for testing!

Also it is faster than WUT version (about 10%) :

up

V11

18 May 12:30
b8285e4
Compare
Choose a tag to compare
V11

2022/05/18 V11 :
> fix issue " Still some CRC errors occur when uploading on SDCard #21 ": remove sevbuf use to fix the last CRC errors and limit
to only 1 transfer for sdCard operations (simultaneous transfers leads in CRC errors)
> multi transfer enhancement : reduce open/close connection time with
- using a static preallocated array of threads (before it was allocated statically when creating the connection)
- manually set cpu and priority of transfer threads
> now use also a small buffer for UL operations (before setting manually CPU and priority, a large buffer was used to let other
connections start)
> tweak the buffers sizes used for DL / UL
Use 25% DL vs 75% UL of the reserved memory for buffer socket operations (instead of 50/50)
> This last setting increase DL speeds obtain when multi-transferring. Using a small buffer for upload reduced the "speed displayed"
on UL operation (now take the fwrite time into account).
This version gives max speeds over 4M/s on both ways and treat a large number of files more quickly.

V10

20 Apr 21:07
2b52649
Compare
Choose a tag to compare
V10

2022/04/20 V10 :
> fix issue "Still rare CRC errors on upload (about 1 file on 9000 randomly) #19 ":
replace the preallocate buffer by an ontime allocation + use the transfer buffer as internal's file buffer (setvbuf)
> multi transfers enhancement : double TRANSFER_BUFFER_SIZE for upload and lower the buffer used for download to the min
+final tweaks on threads priorities to maximize the number of connections opened simultaneously on the 3 cores
> update crcChecker.py to V2-2 :
- fix answer "no" not taken into account when choosing to not use an report that already exists in the script's folder
- add a try catch for permissions errors
- fix failure when root = folder to check
> move IOSUHAX_FSA_ChangeMode() call in the transfer thread (for uploads)
> fix issue "Folder left after deletetion #18"
> fix "Crash when exiting if no connections were opened #20"

V9-3

01 Apr 12:08
b3fbf95
Compare
Choose a tag to compare

2022/04/01 V9-3 :
> use libFat and libIOSUHAX versions from Crementif (thanks!!!) : better timestamps and symlinks support
> now symlinks are identified in FTP client browser
> fix regression Cyberduck connection failure #15
> fix FileZilla client fail to delete a folder #16
> fix WinScp fail to list root #17
> fix sd drive mount twice after the NAND files backup
> add the ftp_RMD command (equivalent to ftp_DELE)
> update meta.xml template
> fix case for folders names in ./toWUP/createChannel.bat
> fix release date patching in meta.xml in build.sh

Links2

V9-2

19 Mar 15:21
ca18bee
Compare
Choose a tag to compare

2022/03/19 V9-2 :
> remove DEBUG traces left in ftp.c and vrt.c
> add a 10s timeout for the CRC32 Warning
> final tweaks to optimize multi transfers (numbers of transfers launched simultaneously)
> display current transfer speed stats when no transfer is active and when only a browse connection is opened
> build.sh : fix build date not replaced in meta.xml
> add ./toWUP/createChannel.sh (Linux shell version)
> add music to channel version

V9-1

15 Mar 11:51
5e5b30f
Compare
Choose a tag to compare

2022/03/15 V9-1 :
> add symlinks resolution support for the ones found in updates and DLC folders (fix transfer errors on those files)
> move CRC32 calculation after the analysis of the return code of fwrite() in net::recv_to_file
> fix poor transfer speeds to SDCard with using libFat (it also fix app hang/cripple when activating the log file)
HARD FIXED the max simultaneous transfers to SDCard to 4 (to avoid write errors)
> fix issue#14 : Transfer large size file on SDcard, WIIUFTPSERVER disconnect?
> rollback to IOSUHAX_FSA_ChangeMode because rights was not correctly set using system call.
> lower the preallocated transfer buffer to ~13MB
So the total RAM used is ~110MB of RAM used (when transferring 8 files)
It lowers the ending closing connection time but also gives extra KB/s
> add folder deletion support
> fix a regression on renaming file process
> crcChecker V2-1 fix "TypeError: string operation on non-string array" that could occurs when treating the report

V9

28 Feb 15:44
2517ad5
Compare
Choose a tag to compare
V9

2022/02/28 V9 :
> lower "stall time" due to changing the rights on file uploaded. Stall time = writing/flush the network buffer (transfer rate on upload does not take into account the writing to file time = that's why the transfer rate is so high in upload way). Use a system'scall instead of IOSUHAX_FSA_ChangeMode function (which seems to re-allocate the buffer for the operation???)
> lower CWD errors numbers (it is normal to get some of them when folders do not exist)
> do not timeout when a connection was opened and "stall"
> final tweaks on thread priorities (multi-transfer enhancement)
> revert log file location to SDCard (was a bad idea because in case of crash, the log on SDCard is outdated)
> change the format of the CRC report to handle spaces in path/file's name
> after bunch of tests, CRC32 is now disabled by default but can be toggled at anytime during session using 'X' button
> clever handling of sdCard copy of CRC report file : update the copy when only one connection is opened and if the number of files transferred has increased. Deactivate the copy process as soon as 2 connections are opened
> embeded the CRC checker on a subfolder on the SDCard, the report is now saved in this subfolder (_sdCard/wiiu/apps/WiiUFtpServer/CrcChecker)
> update CrcChecker V1-3 (bat file) to the new CRC32 report format
> CrcChecker V2 in python (Linux/window) 30 times faster than V1-2 bat file

V8-2

21 Feb 18:06
ea6c301
Compare
Choose a tag to compare

2022/02/21 V8-2 :
> add a CRC32 calculation on server side. The report is saved under "wiiu/apps/WiiuFtpServer/crc32_report.sfv" with
a 2 level (.old to backup the previous session).
> this report and the log file are now located in mlc or usb/usr/tmp
> add a CRC32 verification tool (windows version, i'll release a linux's version later)
> fix issue#10 (remove the resizing of internal file's buffer)
- rare corruption on uploaded file (~ 1 file on 3000)
- support cyberduck FTP client (enhance global FTP clients support)
> change libiosuhax (YaWut) to official one (Wiiu-Env)
> fix refresh display issue when sending msg from threads
> add the possibility to toggle ON/OFF the auto-shutdown feature now during the FTP session
> multi-transfers enhancement :
- optimize controller events monitoring (and so the main loop)
- final tweaks on thread priorities to optimize the connections dispatching on the 3 cores
> upload single transfer enhancement : nearly double the size of the transfer buffer for upload
use a size of TRANSFER_BUFFER_SIZE + 2 * SOCKET_BUFFER_SIZE instead of use 2 * TRANSFER_BUFFER_SIZE to handle
network_readChunk() overflow, knowing that 2 * SOCKET_BUFFER_SIZE is the max number of bytes returned by recv()
> lower the RAM consumption (now less than 800MB)

Computing the CRC32 value impacts a little bit the download rate.
For upload, if the file size is lower than 80MB there is no impact at all.

To check your files transferred :

CrcChecker_edit.mp4

EDIT : add CrcChecker_V1-1 (parallelized version, vbs needed)

EDIT 2 : even with V1-1, took me 80min to check 9145 files on my low end laptop...
EDIT 3 : CrcChecker V1-2, a little bit faster and fix issue when file's name contains 2 dots

V8-1

28 Jan 22:47
9c58bb9
Compare
Choose a tag to compare

2022/01/28 V8-1 :
> rewrite send_from_file() and recv_to_file() for non blocking mode and chunk based transfer (per block) : => +40/50% UL speed
> pre-allocate a transfer buffer per connection
- this buffer is used by both mode (download/upload)
- it result in a faster transfer rate and mostly faster open/close times for connections
> cancelling a transfert now cancel the thread (you have to wait the completion in V8-0 until getting back the connection)
> display connection concerned in console log and client one
> display transfer rate calculate on server in client's log
> spinLocks, loop optimizations and cleanup WUT use mistakes : thanks to V10Lator
> thanks also to Masana, godreborn and TheLegendOfXela for their checks on release candidate versions

Sans titre