Homebrew RELEASE NS-USBloader - another one Tinfoil and GoldLeaf USB installer

pohaxsf

Well-Known Member
Member
Joined
Jan 7, 2019
Messages
230
Trophies
0
Age
24
XP
359
Country
Greece
NS-USBloader
version 0.3.1

33494485218_034a364eda_o.png


What is it all about?
It's just another one application to upload NSP files to Switch over USB and Network.
Spreads under GPLv3 license.

Supports:
  • TinFoil - both USB and Net methods (developed by Adubbz)
  • GoldLeaf (tested on v0.4)

Features:

  • Multiple file selection
  • GUI
  • Linux, Windows, MacOS support.
Requirements:
  • Java JRE/JDK 8u60 or higher
Known bugs:
  1. In some moments you can't interrupt file(s) transmission from application side. Not a big deal while you can unplug USB cord any moment, but FYI.
Screenshot.

46704448934_fb191a0fc3_o.png


Well, this is it.. I don't know what else to say. I'm newbie in GBAtemp. Sorry if I missed something :unsure:
Just want to share it with public.

To translators:

If you want to translate this application on your language, grab this file and translate it.
List of our translators mentioned in readme file on GitHub. Thanks for help with translation @Stephane012547

Project:
GitHub issues:

Downloads (see green label 'Latest release', NOT pre-release):

Let me know what you're thinking about all this. Thanks!

--
EDIT/UPDATE: Now I can insert links and images. Thanks for adding links before I updated post @hippy dave, @Idontknowwhattoputhere
I prefer yours
 
  • Like
Reactions: developer_su

developer_su

Developer
OP
Developer
Joined
Feb 18, 2019
Messages
163
Trophies
0
XP
1,868
Country
Russia
Looking on v0.3/v0.3.1 now..
"Don't serve requests" option is broken because of stupid mistake, NET-install is slow as hell and it could be faster for sure.

If you use it, I'm sorry for quality.

Will fix (or try to fix) it once have time.
 

Jiro2

Well-Known Member
Member
Joined
Mar 28, 2011
Messages
781
Trophies
1
XP
721
Country
United States
I am having trouble getting it to work (on Linux, over USB, with Goldleaf). Version is 0.4, using Goldleaf 0.5 on the Switch.

The log is as follows:

Code:
Files to upload:
  /home/------/iso/switch/Syberia.1.and.2.RF.XCI.[switchiso.org]/Syberia 1 and 2 [01004bb00421e800][30000][UPD].nsp
[ INFO ]    Start chain
[ PASS ] libusb initialization
[ PASS ] Get device list
[ PASS ] Read file descriptors for USB devices
[ PASS ] NS in connected USB devices found
[ PASS ] Open NS USB device
[ INFO ] Free device list
[ WARN ] libusb doesn't support function 'CAP_SUPPORTS_DETACH_KERNEL_DRIVER'. It's normal. Proceeding.
[ PASS ] Set active configuration to device.
[ PASS ] Claim interface
[ INFO ] ===========================================================================
[ INFO ] PFS Start NSP file analyze for [Syberia 1 and 2 [01004bb00421e800][30000][UPD].nsp]
[ PASS ] PFS Read file starting bytes.
[ PASS ] PFS Read 'PFS0'.
[ PASS ] PFS Read files count [6]
[ PASS ] PFS Read header [381]
[ PASS ] PFS Read NCA inside NSP: 0
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 0
[ PASS ]   NCA size check: 248806912
[ PASS ]   NCA name offset check: 153
[ PASS ] PFS Read NCA inside NSP: 1
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 248806912
[ PASS ]   NCA size check: 794112
[ PASS ]   NCA name offset check: 190
[ PASS ] PFS Read NCA inside NSP: 2
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 249601024
[ PASS ]   NCA size check: 111104
[ PASS ]   NCA name offset check: 227
[ PASS ] PFS Read NCA inside NSP: 3
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 249712128
[ PASS ]   NCA size check: 5120
[ PASS ]   NCA name offset check: 264
[ PASS ] PFS Read NCA inside NSP: 4
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 249717248
[ PASS ]   NCA size check: 704
[ PASS ]   NCA name offset check: 306
[ PASS ] PFS Read NCA inside NSP: 5
[ PASS ]   Padding check
[ PASS ]   NCA offset check: 249717952
[ PASS ]   NCA size check: 1792
[ PASS ]   NCA name offset check: 343
[ PASS ] PFS Final padding check
[ INFO ] PFS Collecting file names
[ PASS ] PFS Finish NSP file analyze for [Syberia 1 and 2 [01004bb00421e800][30000][UPD].nsp]
[ PASS ] GL File structure validated and it will be uploaded
[ PASS ] GL Initiating GoldLeaf connection: 1/2
[ PASS ] GL Initiating GoldLeaf connection: 2/2
[ INFO ] GL 'ConnectionResponse' command:
[ PASS ]   [1/4]
[ PASS ]   [2/4]
[ PASS ]   [3/4]
[ PASS ]   [4/4]
[ INFO ] GL Handle 'Start' command:
[ PASS ]   [Send command prepare]
[ PASS ]   [Send command]
[ PASS ]   [Send length]
[ INFO ]   [Send information for 6 files]
[ PASS ]     [1/4] File #0
[ PASS ]     [2/4] File #0
[ PASS ]     [3/4] File #0
[ PASS ]     [4/4] File #0
[ PASS ]     [1/4] File #1
[ PASS ]     [2/4] File #1
[ PASS ]     [3/4] File #1
[ PASS ]     [4/4] File #1
[ PASS ]     [1/4] File #2
[ PASS ]     [2/4] File #2
[ PASS ]     [3/4] File #2
[ PASS ]     [4/4] File #2
[ PASS ]     [1/4] File #3
[ PASS ]     [2/4] File #3
[ PASS ]     [3/4] File #3
[ PASS ]     [4/4] File #3
[ PASS ]     [1/4] File #4
[ PASS ]     [2/4] File #4
[ PASS ]     [3/4] File #4
[ PASS ]     [4/4] File #4
[ PASS ]     [1/4] File #5
[ PASS ]     [2/4] File #5
[ PASS ]     [3/4] File #5
[ PASS ]     [4/4] File #5
[ INFO ] GL Handle 'Content' command
[ PASS ]   [Read requested ID = 3 ]

System logs in Linux show me this:
Code:
Apr 20 03:04:18 linux.local kernel: usb 1-5: new high-speed USB device number 5 using ehci-pci
Apr 20 03:04:20 linux.local kernel: usb 4-2: new full-speed USB device number 3 using ohci-pci
Apr 20 03:04:21 linux.local kernel: usb 4-2: New USB device found, idVendor=057e, idProduct=3000
Apr 20 03:04:21 linux.local kernel: usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 20 03:04:21 linux.local kernel: usb 4-2: Product: NintendoSdkDebugger
Apr 20 03:04:21 linux.local kernel: usb 4-2: Manufacturer: Nintendo
Apr 20 03:04:21 linux.local kernel: usb 4-2: SerialNumber: Serial Number

and it hangs with a moving red, white, and blue line on the ns-usbloader window but no actual progress bar.

On the Switch, Goldleaf just tells me "Processing application records..."

At some point it stops with this in the log (right after the Read requested):
Code:
[ FAIL ] Data transfer (write) issue
  Returned: ERROR_NO_DEVICE
[ FAIL ] Execution stopped
[ WARN ] Release interface
  Returned: -4 (sometimes it's not an issue)
[ INFO ] Requested handler close
[ INFO ] Requested context close
[ INFO ]    End chain


The filename does not contain special characters (I renamed it to remove a &, no difference).
 
Last edited by Jiro2,

Jiro2

Well-Known Member
Member
Joined
Mar 28, 2011
Messages
781
Trophies
1
XP
721
Country
United States
I tried two different nsp files (the main one and the update one for this game). Neither worked.

When I copied them over to the Switch an directly installed them (they are small enough to fit in fat32), they installed and ran successfully.
 

developer_su

Developer
OP
Developer
Joined
Feb 18, 2019
Messages
163
Trophies
0
XP
1,868
Country
Russia
I tried two different nsp files (the main one and the update one for this game). Neither worked.

When I copied them over to the Switch an directly installed them (they are small enough to fit in fat32), they installed and ran successfully.

No idea how to help you. It looks like in one moment switch goes to sleep mode or GoldLeaf stops listening for connections. In dmesg you'll see it as switch connected twice (disconnected/connected again).
IMHO it's something wrong with NSP or GL or USB cable (or even firmware if it has been ever updated to 7.0.1).
 

Jiro2

Well-Known Member
Member
Joined
Mar 28, 2011
Messages
781
Trophies
1
XP
721
Country
United States
It did seem to be going into sleep mode when I finally got the FAIL, but it never showed any signs that it was transferring anything before that happened. It just stayed on "[Read requested ID = 3 ]" and "Processing application records..."

The cable works fine for other purposes. The system was on at 4.1 at that point and had never been upgraded.
 

developer_su

Developer
OP
Developer
Joined
Feb 18, 2019
Messages
163
Trophies
0
XP
1,868
Country
Russia
Just wish to add that it always show a "Upgrade" is available even tho there isn't one.

Please download v0.4 again (?). It's fixed in there.

--------------------- MERGED ---------------------------

It did seem to be going into sleep mode when I finally got the FAIL, but it never showed any signs that it was transferring anything before that happened. It just stayed on "[Read requested ID = 3 ]" and "Processing application records..."

Ok. To be honest I don't have enough time to investigate this and I don't know when I'll have it. And I'm almost sure that I can't do anything with this issue.
If you want, you can bring up, for example Win 7 in VirtualBox, forward usb device inside VM, install Goldtree and check if it works (using same NSP files). I think you'll see the same issue on the same step.
Thanks!
 

bcoleman

Active Member
Newcomer
Joined
Apr 12, 2019
Messages
38
Trophies
0
Age
22
XP
162
Country
United States
I'm running Reinx 2.1, Goldleaf 0.5 and firmware 7.1. This tool works great, only problem I had was trying to install a split NSP. When I load the NSP, it shows up as a few KB. Basically it's only the folder. Since then I've recombined the NSPs and they install fine but maybe add support for split NSP?

Other than that, my NSPs install fine as long as the Switch doesn't go to sleep. The one time it did, the game showed up on my home screen and it said "this software cannot be started". So maybe have it pause when the switch sleeps (and pick back up when you wake it up). Thanks for the app!
 
  • Like
Reactions: developer_su

developer_su

Developer
OP
Developer
Joined
Feb 18, 2019
Messages
163
Trophies
0
XP
1,868
Country
Russia
Since then I've recombined the NSPs and they install fine but maybe add support for split NSP?
What is it? :) Never heard about it.
So maybe have it pause when the switch sleeps (and pick back up when you wake it up).
Can't do it on my side (and not sure that someone could fix it). Actually the installation process is next:
1. My app transfers files (files inside NSP-file-container) requested by GL or TF
2. TF or GL extract receiving data immediately to the location where they should be stored. That's why for example we could use FAT32. Interrupting this process is a bad idea, in other hand tracking data consistency in case it's interrupted (because of sleep mode) is also not trivial (and could not cover every type of failure).

If your software couldn't be started you have to remove and re-install it. If it won't helps, then something wrong with NSP (most likely).
(But I guess you know that already.)
Thanks!
 
  • Like
Reactions: bcoleman

bcoleman

Active Member
Newcomer
Joined
Apr 12, 2019
Messages
38
Trophies
0
Age
22
XP
162
Country
United States
What is it? :) Never heard about it.

Can't do it on my side (and not sure that someone could fix it). Actually the installation process is next:
1. My app transfers files (files inside NSP-file-container) requested by GL or TF
2. TF or GL extract receiving data immediately to the location where they should be stored. That's why for example we could use FAT32. Interrupting this process is a bad idea, in other hand tracking data consistency in case it's interrupted (because of sleep mode) is also not trivial (and could not cover every type of failure).

If your software couldn't be started you have to remove and re-install it. If it won't helps, then something wrong with NSP (most likely).
(But I guess you know that already.)
Thanks!

Yes, I deleted the game, reinstalled it and it worked fine.

When I use to install NSPs through the SD card method in tinfoil, if the switch went to sleep the download would pause, but it picked back up as soon as I woke it up. Don’t know if it’s possible with USB though.

A split NSP is an NSP over 4.29gb. When I used the SD card method on Fat32, I had to use a tool called “NSP Divider” so that I could drag the game to the SD card. The NSP divider splits the games into 4gb segments named “00”, “01”, “02” etc. and these files are placed in a folder that ends with “.nsp”. With this method, tinfoil and goldleaf allows you to drag the .nsp folder containing the pieces and install the folder as if it’s a complete NSP.

It’s not too important to add compatibility for it because people using USB Installation have no need to split those NSPs but coming from the SD method mine were already split. Just something to think about. I think the “fluffy” usb installer is adding compatibility for it from what I hear.
 

CameronCataclysm

Well-Known Member
Member
Joined
Sep 17, 2018
Messages
190
Trophies
0
Age
30
Location
North Carolina
XP
1,073
Country
United States
Quoted as "just another usb installer". Yet my friend this has been the only one to work for me. Thank you so much! Even games that would previously give me corrupted errors are working flawlessly using this. Also perfect solution for fat32. Great work!

Edit:Had to come back to express how this has made all complications I've had with installing NSPs completely disappear. Couldn't imagine not having this now. Again thanks so much.
 
Last edited by CameronCataclysm,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: Good night