V10lator/NUSspli

[Feature Request] Increased usability with title installation errors

krisutofu opened this issue · 7 comments

It's great to have the queuing functionality which allows people to bulk-install things but ending the entire queue when one title did not install is the most painful time killer, more so than installing titles successfully individually because it requires constantly checking the download.

It is a big problem because, unbelievable to me, SD card copy transfers seem to be unreliable (even after several reattempts) for many reasons such as the driver, the hardware, the file browser, very long copying time or due to the human operator. (The card itself is still rather new.)

In summary, quite much time and energy is lost by waiting for the completion only to see one or two hours later, it halted all work after probably 10 minutes. It prevents me from installing stuff for networking captures before online service shut down (and the risk of failing other deadlines, e.g. my master thesis).

I think of two ways to handle it:

  • Looping an alert sound that is clear enough to hear in an adjacent working room (when the doors are open). It would act as notification.
  • Better: Just continue installing other titles if sufficient memory is available and show failed titles at the end in front of another background colour (such as red).

SD card copy transfers seem to be unreliable

Either you're not unmounting the card correctly ( https://support.microsoft.com/en-us/windows/safely-remove-hardware-in-windows-1ee6677d-4e6c-4359-efca-fd44b9cec369 ) or you're using a fake card ( https://en.wikipedia.org/wiki/SD_card#Counterfeits). None of this is NUSsplis fault through.

I know how to unmount an SD card correctly. I am doing it all the time with "Safely Remove". I am using a new SD card baught from a big local electronics market (it happens for multiple non-fake SD cards). A problem is however, that some homebrew applications corrupt the filesystem. Not sure, if this is related to random file copy differences.

It's literally this: I copy files the usual way Ctrl+C and Ctrl+V in Dolphin and after it notifies me about the finished transfer, I diff over all files and there are files that are different for no reason. It happens for new SD cards as well. It's particularly delicate for 19GiB games like Xenoblade Chronicles. I had 3 failed attempts at installing it with NUSspli-Lite (due to file issues).

This problem cannot be avoided. Most games are installing fine. Halting the queue is the biggest time killer however and it's easy to mitigate.

NUSspli(-Lite) is a great app, simple to understand and use but I think, with little more it could have massive aditional usability benefits. Right now, the queue is not so useful if bigger games need to be installed. (It only concerns NUSspli-Lite.)

I copy files the usual way Ctrl+C and Ctrl+V in Dolphin and after it notifies me about the finished transfer, I diff over all files and there are files that are different for no reason.

So the files corrupted while the Wii U wasn't even involved. The problem is either your PC (CPU/RAM issues), the card reader or the card itself (in fact what you did was what one does to check for fake cards, see the wiki article linked at my last reply above:

Detection of counterfeit cards usually involves copying files with random data to the SD card until the card's capacity is reached, and copying them back. The files that were copied back can be tested either by comparing checksums (e.g. MD5), or trying to compress them.

Now you didn't compare checksums but diffed the files but that doesn't make a difference: The files where different to the original / corrupted with nothing but your PC, card reader and the card itself involved).

Do you have any other issues on that PC, no matter how random or rare? Like unexplainable crashes or file corruptions beside on SD cards? If so you should check RAM (memtest86+ for 48+ hours) and CPU (some stresstest of your choice, also let it run for a long time). If not check the card reader and the card itself (try another card reader and/or cards from another shop).

Also maybe check your cards with https://3ds.hacks.guide/f3-(linux) (after reformatting them to rule out filesystem corruptions even if they sound highly unlikely to me) before trying to use them for the Wii U.

Oh and also look in your kernel log (sudo dmesg) for any SD related errors. Do this after such a failed copy / data corruption happened.

Last thing as you're expecting filesystem corruptions: You did run a fsck.vfat on the card before and after copying the files and diffing them, didn't you? Did that show any FS corruptions?

Thank you for your help attempt. I don't remember any hardware issues (my laptop and the hub with SD card slot is almost 1 year old).

I realize, you are refering to fake SD card sizes. I learnt about them when I was reading about SDUC cards where Reddit users say, there is no genuine SD card with 2TB or greater yet (and that they remap bigger addresses onto lower addresses). I also found, there are fake 128GB SanDisk cards sold over inofficial channels. However, I would not expect any serious mass electronics retailer in Germany to sell fake cards because of legal reasons. I use a new 32GB SanDisk (baught by my parents not so long ago, only unboxed for installing my game backups) and a 128GB Samsung. They have been far under the advertised speeds (both on Windows and Linux), like Internet download speed. I did not notice other hardware issues.

If there is a fake size, wouldn't it concern more than some bytes ranges of few individual files? Initially, I could fill the 32GB and had no problems with installing.

I have been diffing them after the title installation failed for only few titles (even when I only used a small fraction of the total size) and then i started to notice differences. I checked the contents, first with sha1sums (which compared equal between USB backup device and laptop but different for SD card and laptop) and later with diff which allowed me to identify the corrupt files directly. Then I deleted and recopied the affected files until they diffed as equal. Only two times, it still failed to install despite equal files so I had to redownload after which it worked. (One time was Xenoblade Chronicles X whose 19GiB take so much time for downloading, copying and installing.)

I first became aware of filesystem corruptions when I used HokakuCafe. Screenshot files appeared directly in my packet capture raw data, overwriting packets with matching timestamp. Another day with Dumpling (garbled filenames, I stopped using it) and still later garbled package directory names from the Homebrew Browser's data. I saw the filenames are garbled and different as compared to the SD card backup. A removal attempt remounted the SD card as read only. That's where I drew my conclusions. I forgot about fsck. After I succeeded with installing all my games, I reformatted the SD card.

At least visually, I cannot identify the package and the product as a fake. I will try F3 next time. For now, my games installed and run after several attempts. Gonna make more packet dumps.