Giter VIP home page Giter VIP logo

ns-usbloader's Introduction

NS-USBloader

License Releases LatestVer Build Status

NS-USBloader is:

  • A PC-side installer for Huntereb/Awoo-Installer / other compatible installers (USB and Network supported) and XorTroll/Goldleaf (USB) NSP installer. Alternative to default usb_install_pc.py, remote_install_pc.py, GoldTree/Quark.
  • RCM payload tool that works on Windows, macOS (Intel and Apple Silicon) and Linux (x86, amd64 and Raspberry Pi ARM).
  • It's a tool for creating split files!
  • Also you can use it for merging split-files into one :)

Click here for Android version ;)

With GUI and cookies. Works on Windows, macOS and Linux.

Let's stay in touch:

Support/Donate

Sometimes I add new posts about this project on my blog page.

screenshot screenshot
screenshot screenshot
screenshot

License

GNU General Public License version 3, or (at your option) any later version.

Used libraries & resources

List of awesome code contributors, translators and other great people!

System requirements

  • JDK 11 for macOS and Linux
  • libusb, if you have a Mac with Apple Silicon (install via brew install libusb)

Supported Goldleaf versions

Goldleaf version NS-USBloader version
v0.5 v0.4 - v0.5.2, v0.8+
v0.6 none
v0.6.1 v0.6
v0.7 - 0.7.3 v0.7+
v0.8 - 0.9 v1.0+
v0.10 v6.0+

where '+' means 'any next NS-USBloader version'.

Awoo Installer and compatible applications support

Awoo Installer uses the same command-set (or 'protocol') to Adubbz/Tinfoil.

A lot of other forks/apps uses the same command-set. To stop speculating about the name it's now called 'Awoo'. It WAS called 'TinFoil' before. Not any more.

Usage

Linux:
  1. Install JRE/JDK 8u60 or higher (openJDK is good. Oracle's one is also good). JavaFX not needed (it's embedded).

  2. root # java -jar /path/to/NS-USBloader.jar

  3. Optional: add user to 'udev' rules to use NS not-from-root-account

root # vim /etc/udev/rules.d/99-NS.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
root # udevadm control --reload-rules && udevadm trigger
  1. For RCM part
root # vim /etc/udev/rules.d/99-NS-RCM.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7321", MODE="0666"
root # udevadm control --reload-rules && udevadm trigger
  1. For HiDPI use scaling like java -Dglass.gtk.uiScale=150% -jar application.jar
Raspberry Pi
  1. Install JDK: sudo apt install default-jdk

  2. For UI install JavaFX: sudo apt install openjfx

  3. See steps 3 and 4 from 'Linux' section to update 'udev'.

macOS

Double-click on downloaded .jar file. Follow instructions. Or see 'Linux' section.

Set 'Security & Privacy' settings if needed.

Please note: JDK 19 is recommended for using on macOS. There are issues already reported from users on Mac with JDK 14.

macOS on Apple Silicon (ARM)

Download application with -m1.jar postfix.

Manually install libusb with Homebrew by running brew install libusb in your Terminal.

Windows:
  • Once application opens click on 'Gear' icon.
  • Click 'Download and install drivers'
  • Install drivers

And how to use it?

The first thing you should do it install Awoo (Huntereb) or Goldleaf (XorTroll) on your NS.

Take a look on app, find where is the option to install from USB and/or Network. Maybe (very old) this article (about TinFoil) will be helpful.

In details

There are three tabs. First one is main.

'Gamepad' tab.

At the top of you selecting from drop-down application and protocol that you're going to use. For Goldleaf only USB is available. Lamp icon stands for switching themes (light or dark).

Then you may drag-n-drop files (split-files aka folders) to application or use 'Select NSP files' button. Multiple selection for files available. Click it again and select files from another folder it you want, it will be added into the table.

Table.

There you can select checkbox for files that will be sent to application (AW/GL). Since Goldleaf v0.5 allow you only one file transmission per time, only one file is available for selection.

Also, you can use space to select/un-select files and 'delete' button for deleting. By right-mouse-click you can see context menu where you can delete one OR all items from the table.

For Goldleaf v0.6.1 and NS-USBloader v0.6 (and higher) you will have to use 'Explore content' -> 'Remote PC (via USB)' You will see two drives HOME:/ and VIRT:/. First drive is pointing to your home directory. Second one is reflection of what you've added to table (first application tab). Also VIRT:/ drive have limited functionality in comparison to HOME:/. E.g. you can't write files to this drive since it's not a drive. But don't worry, it won't make any impact on Goldleaf or your NS if you try.

Also, for Goldleaf write files (from NS to PC): You have to 'Stop execution' properly before accessing files transferred from GL. Usually you have to wait 5sec or less. It will guarantee that your files properly written to PC.

'RCM' tab

On this tab you can select payloader like Hekate or LockPick_RCM and send it to NS. Drag-n-drop supported. Also some in-app validations for payload takes place ;)

'Folder with arrows and zeroes' tab

On this tab you can split and merge files. Select 'Split' or 'Merge' and split (or merge). BTW Drag-n-drop supported.

'Gears' tab.

Here you can configure settings for network file transmission. Usually you shouldn't change anything. But it you're cool hacker, go ahead! The most interesting option here is 'Don't serve requests'. Architecture of the Awoo's NET part is working interesting way. When you select in Awoo network NSP transfer, application will wait at port 2000 for the information about where should it take files from. Like '192.168.1.5:6060/my file.nsp'. Usually NS-USBloader serves requests by implementing simplified HTTP server and bringing it up and so on. But if this option selected, you can define path to remote location of the files. For example if you set in settings '192.168.4.2:80/ROMS/NS/' and add in table file 'my file.nsp' then NS-USBloader will simply tell Awoo "Hey, go take files from '192.168.4.2:80/ROMS/NS/my%20file.nsp' ". Of course you have to bring '192.168.4.2' host up and make file accessible from such address (just go install nginx). As I said, this feature is interesting, but I guess won't be popular.

Also here you can:

  • Set 'Auto-check for updates' for checking for updates when application starts, or click button to verify if new version released immediately.
  • Set 'Show only *.nsp in Goldleaf' to filter all files displayed at HOME:/ drive. So only NSP files will appear.
'Dialog with three dots' tab.

That's where all logs dropped. Verbose information about transmissions comes here.

CLI (command line interface)

To get help run $ java -jar ns-usbloader-4.0.jar --help

 -c,--clean                      Remove/reset settings and exit
 -g,--Goldleaf <...>             Install via Goldleaf mode. Check '-g help' for information.
 -h,--help                       Show this help
 -m,--merge <...>                Merge files. Check '-m help' for information.
 -n,--tfn <...>                  Install via Awoo Network mode. Check '-n help' for information.
 -r,--rcm <[PATH/]payload.bin>   Send payload
 -s,--split <...>                Split files. Check '-s help' for information.
 -t,--tinfoil <FILE...>          Install via Awoo USB mode.
 -v,--version                    Show application version

For more complex commands help use help argument after the fists key. For example:

$ java -jar ns-usbloader-4.0.jar -n help

Usage:
        ns-usbloader -n nsip=<arg1> [hostip=<arg2>] FILE1 ...
        ns-usbloader --tfn nsip=<arg1> [hostip=<arg2>] FILE1 ...

Options:
        nsip=<ip>               Define NS IP address (mandatory)
        hostip=<ip[:port]>      Define this host IP address. Will be obtained automatically if not set.

Usage examples:

Send RCM payload:
$ java -jar ns-usbloader-4.0.jar -r C:\Users\Superhero\hekate.bin
Send files to Awoo Installer via Net-install: 
$ java -jar ns-usbloader-4.0.jar -n nsip=192.168.0.1 ./file.nsz ./file.nsp ~/*.xci
Send files to Goldleaf v0.8:
$ java -jar ns-usbloader-4.0.jar -g ver=v0.8 ./*
Split files:
$ java -jar ns-usbloader-4.0.jar -s /tmp/ ~/*.nsp
Merge files:
$ java -jar ns-usbloader-4.0.jar -m /tmp/ ~/*.nsp

Other notes

'Status' = 'Uploaded' that appears in the table does not mean that file has been installed. It means that it has been sent to NS without any issues! That's what this app about. Handling successful/failed installation is a purpose of the other side application: Awoo/Awoo-like or Goldleaf. And they don't provide any feedback interfaces so I can't detect success/failure.

What is this '-legacy' jar?!

JAR with NO postfixes recommended for Windows users, Linux users and macOS users who're using Mojave or later versions.

JAR with '-legacy' postfix is for macOS users who're still using OS X releases before (!) Mojave. (It also works for Linux and for Windows, but sometimes it doesn't work for Windows and I don't know why).

We have this situation because of weird behaviour inside usb4java library used in this application for USB interactions. In '-legacy' it's v1.2.0 and in 'normal' it's v1.3.0

Translators!

If you want to see this app translated to your language, go grab this file and translate it.

Upload somewhere (create PR, use pastebin/google drive/whatever else). Create new issue and post a link. I'll grab it and add.

To convert files of any locale to readable format (and vise-versa) you can use this site https://itpro.cz/juniconv/

Support this app

If you like this app, just give a star (@ GitHub).

This is non-commercial project.

Nevertheless, I'll be more than happy if you find a chance to make a donation for charity to people I trust:

  • BTC → 1BnErE3n6LEdEjvvFrt4FMdXd1UGa5L7Ge
  • ETH → 0x9c29418129553bE171181bb6245151aa0576A3b7
  • DOT → 15BWSwmA4xEHZdq3gGftWg7dctMQk9vXwqA92Pg22gsxDweF
  • LTC → ltc1qfjvzxm04tax077ra9rvmxdnsum8alws2n20fag
  • ETC → 0xe9064De288C8454942533a005AB72515e689226E
  • USDT (TRC20) → TKgp5SvJGiqYNFtvJfEDGLFbezFEHq1tBy
  • USDT (ERC20) → 0x9c29418129553bE171181bb6245151aa0576A3b7
  • XRP → rGmGaLsKmSUbxWfyi4mujtVamTzj3Nqxbw.

Thanks!

Appreciate assistance and support of both Vitaliy and Konstantin. Without you all this magic would not have happened.

ns-usbloader's People

Contributors

andercard0 avatar calini avatar ddinghoya avatar developersu avatar erimsaholut avatar exiori avatar htynkn avatar justindhillon avatar kuragehimekurara1 avatar pnghai avatar qazrfv1234 avatar requindr avatar secretjupiter avatar unbranched avatar wolfposd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ns-usbloader's Issues

Run on a raspberry pi

Hi,
Tried running on a raspberry pi, but getting some errors:
sudo apt install default-jdk
sudo java -jar ns-usbloader-2.2.jar

OpenJDK Server VM warning: You have loaded library /root/.openjfx/cache/11/libprism_es2.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/11/libprism_es2.so: /root/.openjfx/cache/11/libprism_es2.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/11/libprism_es2.so: /root/.openjfx/cache/11/libprism_es2.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
	at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
	at java.base/java.lang.Runtime.load0(Runtime.java:767)
	at java.base/java.lang.System.load(System.java:1834)
	at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:205)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:185)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:157)
	at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
	at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:68)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:50)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:315)
	at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	at java.base/java.lang.Thread.run(Thread.java:834)
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/11/libprism_sw.so: /root/.openjfx/cache/11/libprism_sw.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
java.lang.UnsatisfiedLinkError: /root/.openjfx/cache/11/libprism_sw.so: /root/.openjfx/cache/11/libprism_sw.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
	at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
	at java.base/java.lang.Runtime.load0(Runtime.java:767)
	at java.base/java.lang.System.load(System.java:1834)
	at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:205)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:185)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:157)
	at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
	at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:315)
	at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	at java.base/java.lang.Thread.run(Thread.java:834)
Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
	at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)

Is this possible?
Thx

Failed to run on MacOS with Java8

It says:
Exception in thread "main" java.lang.UnsupportedClassVersionError: javafx/application/Application has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Error when installing NSP?

Hi not sure if this is the right place but it's wrecking my brain and I need help:

  • Recently installed latest Atmosphere 0.10 on my Switch and was on fw9.1
  • on Goldleaf 0.8
  • on MacOS (Catalina) using ns-usbloader1.0
  • when I try to install my nsp I keep getting errors like attached screenshot
  • I'm sure the nsp's work because I got it from a friend who has successfully installed it and played on his end (but he uses windows machine and tinfoil)
  • I tried to install tinfoil on my switch, and upon launching it on the switch it doesn't seem to do anything it just freezes (I assume because it's outdated and can't work with the latest cfw?)

Any idea what I should do or is missing? thank you!

IMG_7941
IMG_7940

Gets killed when installing nsp

Describe the bug (mandatory)
Attempt to install nsp results in ns-usbloader freezing then getting killed

Information about environment (mandatory):

  • OS: Ubuntu 19.10
  • Java version 14

Steps to reproduce
Steps to reproduce the behavior:

  1. java -jar ns-usbloader-0.8.jar
  2. Select goldleaf in drop down menu
  3. select nsp to upload
  4. open goldlead on switch
  5. click upload to ns
  6. go to explore content
  7. go to Remote PC (via USB)
  8. enter VIRT folder
  9. select nsp
  10. install
  11. Wait a few seconds, ns-usbloader gets killed

Expected behavior
To install the NSP I selected

Did you see this issue in previous versions?
Don't know, used a mac before, same version im using in ubuntu (v 0.8)

Dumping NSP's from nxdumptool to PC

This is not immediately useful, but more an idea for the future.

I dump lots of game files from NXdumptool, copy them to PC, and then merge them. This leaves me thinking why not stream the dump directly to PC? Essentially the exact opposite of installing to the switch.

I mentioned the idea to the developer of nxdumptool, and he said he 1. Would need to make a multiplatform PC app, which he didn't currently know what to do, and 2. was busy with a rewrite of nxdumptool. ns-usbloader is already a multi platform tool, and you already have communication with the switch to load games to it, how difficult would it be to create a protocol to send dumps from the switch to a file on PC? Make both tools significantly more useful.

Returned: ERROR_NOT_SUPPORTED

I have got an error with v0.3:

Files to upload:
C:\PATH\Carcassonne [Carcassonne - Inns & Cathedrals] [0100C9200A9C3003][v0].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
[ FAIL ] Open NS USB device
Returned: ERROR_NOT_SUPPORTED

On the switch nothing happens, just says USB is ready, so basically is waiting.
0.2.2 has no issues.

Windows 10

Garbled text in the UI

Hi,
all the text in the application is garbled:

Schermata 2020-02-08 alle 12 18 03

Running on macOS Catalina 10.15.2, I followed these steps:

  • ran brew install openjdk (this installed java 13)
  • ran sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk as suggested by homebrew to make java visible to the system;
  • downloaded ns-usbloader-1.0.jar
  • ran java -jar ns-usbloader-1.0.jar

Terminal log:

2020-02-08 12:15:45.561 java[76371:6424310] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:45.561 java[76371:6424310] CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.
2020-02-08 12:15:45.578 java[76371:6424310] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:46.369 java[76371:6424354] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:15:46.455 java[76371:6424354] CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2020-02-08 12:18:05.596 java[76371:6424310] unrecognized type is 4294967295
2020-02-08 12:18:05.596 java[76371:6424310] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.20.140/AppKit.subproj/NSEvent.m:1959

xci for ns-usbloader ?

Why not add xci ? I know it came with xci for Awoo installer. However, why dont you add xci for your own ns-usbloader? Select files, Select split nsp, then why not Select XCI to the third option ? It will be nice. Love your GUI, by the way!

Cant install any NSP

Tried both Tinfoil and Goldleaf and I get this error:

[ FAIL ] Data transfer (write) issue
Returned: ERROR_PIPE

I tried various NSPs and also have the latest drivers and tried multiple ports.
It worked with my Mac though but with my PC it didnt work at all. I tried Windows and Hackintosh on my PC both gave me the same error.

Select Folder instead of Files, Recursive Scan.

I should mention I am looking for a replacement for NUT+Tinfoil, while both work very well together for a local, personal collection it is not software I wish to use because of issues it has.

With that in mind, they work really well together and I am hoping NS-USBLoader could do the same for Network Installs as NUT can. One of the biggest issues I have with doing so though is that you need to select each and every file, if you have a lot of files split into their own folders this becomes burdensome. Would it be possible to add an option to select a root folder and let NS-USBloader scan recursively and populate the list? I don't mind needing to refresh the list when ever the folders are updated, basically have to do that with NUT anyway, but I don't want everything just in one folder or dig through sub-folders for new files.

I also saw the Command Line request which I am all for, I feel this would work well with that.

gracefully handle errors

when running the program without sudo, attempting to send over a game yields a udev permission error:

Files to upload:
[...]
[ INFO ] 	Start chain
[ PASS ] libusb initialization
[ PASS ] Get device list
[ PASS ] Read file descriptors for USB devices
[ PASS ] NS in connected USB devices found
[ FAIL ] Open NS USB device
  Returned: ERROR_ACCESS
[ INFO ] Double check that you have administrator privileges (you're 'root') or check 'udev' rules set for this user (linux only)!

While adding sudo helps me work around this (which probably isn't the right way), it's only when one thinks to open the logging tab that one realizes there has been an error, rather than it just being busy still trying to do something.
Moreover, the interrupt button becomes unresponsive here.

It would be nice if on error the tab view could switch to the logging tab once an error is printed.
Additionally, it would be helpful if the interrupt button could still be used after receiving an error as well. (Current workaround: kill/restart)

Connect to macos

Hi ,

I try to use your software from my MacBook pro to send my xci's cartdridge backup to my switch.
I use latest tinfoil on the switch , i open tinfoil , i select the file and press send to ns but nothing happen on the switch.
Can you tell me what i'm doing wrong ?
Do i need to install something specific on the MacBook ? I use this adapter https://www.amazon.fr/dp/B0776R9CJ8/ on the MacBook and then switch i have a usb a - usb c cable.

Thanks

Jul

error when using install with goldleaf in mac mojave

The installer in tinfoil works without problems, the problem is in goldleaf, for some reason when you install a game, almost when you finish installing the game you disconnect from the console and start looking for some communication, and even get to lock my mac, opting do the test with tinfoil and it worked, but I congratulate you as it is the only tool that has worked for me to install the nsp on mac

No Popup

i am trying to install a nsp and it doesnt give me a popup where i want to install it

Not Working on MacBook "NS not found"

Hey, unfortunately the usbloader is not working for me.
I have Goldleaf on my NS, put it in USB Installation mode where it says waiting for USB connection.
When I then plug in the USB-C cable (one end in the NS, one USB-C end into MacBook) and try to upload to NS, i always get this:

[ INFO ] Start chain
[ PASS ] libusb initialization
[ PASS ] Get device list
[ FAIL ] NS in connected USB devices not found
[ INFO ] Requested context close
[ INFO ] End chain

I'm on macOS 10.14.5 Mojave and have openjdk 11.0.2 installed.

Install NSP Error on Mac OS Using NS-USBLoader

Hi
When I try to install NSP in tinfoil or gold leaf, it gives me this error:

INFO ] Free device list
[ INFO ] Skip kernel driver attach & detach
[ PASS ] Set active configuration to device.
[ FAIL ] Claim interface
Returned: ERROR_OTHER
[ WARN ] Release interface
Returned: -5 (sometimes it's not an issue)
[ INFO ] Requested handler close
[ INFO ] Requested context close
[ INFO ] End chain

for NS, I am using latest Gold leaf version 0.8
My MAC OS is Sierra.

Kindly advise.

[Feature request]: Batch rename files given a pattern

There are a couple tools out there that can batch rename NSP, NSZ, XCI, XCZ files out there according to a pattern, made form name, version, display version, title ID, etc. However none of them are very good: SBM for example doesn't update when renaming files half the time, and often fails with NSZ's.

Since this tool already has other tools integrated into it, like a merger, splitter, RCM injector, etc how difficult would it be to make it parse file meta data and rename files as well?

Multiple failures if one install fails

Example: I select 5 nsp files to install and it successfully installs 3, but then the fourth one fails and now it says that all 5 have failed when really the first 3 were okay

Network Install Progress Bar

Network install works (albeit slow 0.14-0.18MB/s over wifi) on 7.01 but the progress bar does not work. Also, ns-usbloader never receives the ack that the file is complete so I must hit interrupt after tinfoil prompts to hit B after file completes. The tinfoil I'm using is located at https://github.com/fourminute/Fluffy/blob/master/Tinfoil.nro

It's description is labelled as "Latest TinFoil with USB 5.X Fix." Is another version of tinfoil recommended?

Stopping at "Claim interface" on ubuntu

using latest tinfoil 1.55 and ubuntu LTS

log:

Files to upload:
  /home/dakky/Nintendo/data/sxos/nsp/My Time At Portia [0100E25008E68000][v0].nsp
  /home/dakky/Nintendo/data/sxos/nsp/My Time at Portia[0100E25008E68800][][v196608].nsp
  /home/dakky/Nintendo/data/sxos/nsp/My Time At Portia [Housewarming Gift Set][0100E25008E69001][v65536].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

dmesg or syslog don't show any errors. The result is the same when running as root or as user with udev rule from readme

in writeUsb metnod, is it a mistake checking?

switch (result){
case LibUsb.SUCCESS:
if (writeBufTransferred.get() == message.length)
return false;
logPrinter.print("TF Data transfer issue [write]" +
"\n Requested: "+message.length+
"\n Transferred: "+writeBufTransferred.get(), EMsgType.FAIL);
return true;
case LibUsb.ERROR_TIMEOUT:
//System.out.println("writeBuffer position: "+writeBuffer.position()+" "+writeBufTransferred.get());
//writeBufTransferred.clear(); // MUST BE HERE IF WE 'GET()' IT
continue;
default:
logPrinter.print("TF Data transfer issue [write]" +
"\n Returned: "+ UsbErrorCodes.getErrCode(result) +
"\n (execution stopped)", EMsgType.FAIL);
return true;
}

Feature: batch upload with goldleaf or tinfoil

Maybe this has been asked before: I am on a mac and I can upload NSP files to my switch with goldleaf fine. I can select multiple NSP files, too. But how can I batch upload many nsp files at once? Is this a setting in goldleaf that it accepts more files or is this impossible at the moment?

Unable to upload files

When I click on "Select files"nothing happens.
Same with "Select split NSP"

I was uploading files to my Switch fine a moment before when it suddenly stopped working.

  • Restarted my computer
  • Restarted Switch
  • Updated USBloader to v2.2
  • issue remains

Running Windows 10, v1909 - 64 bit

Feature request: Batch merge

Merging multi-part NSP's into a single file takes some time, and it would be nice to be able to select MULTIPLE folders and bulk merge them, one after another.

Can't connect switch to mac via USB.

I know it's not specific to your project, but do you have any tips for this case? I've been trying to use ns-usbloader for like a week with no success.

Subtle bug for most recently opened directory

First and foremost, thank you for creating this excellent application, it's very nice and easy to use :) I wanted to share a bug that I ran into that I took a bit of time to debug:

I had a directory in my Downloads folder that was called blah.nsp and inside was a file called blah.nsp. I installed that NSP, thus setting blah.nsp the folder as my most recently opened directory.

Later, I renamed blah.nsp the folder and moved blah.nsp the file outside of it directly into my Downloads folder and deleted the folder.

After this, I could no longer click "select files" from the main window anymore, cause I was running into an exception: https://gist.github.com/Zhangerr/5bf7e19b60a921cc154830afa0c41797

This is because blah.nsp was saved as the last accessed folder, but now it is a file! And the check referenced here:

Only makes sure that the file exists, but it should also validate that it is a directory too. So this leads to the exception being thrown. Thankfully, I was able to use process monitor to see what was happening and I used the registry editor to clear my settings to unblock myself.

Failing to claim interface on OSX

Setup :
MacOS High Sierra 10.12.4
Switch Version 6.2.0
Atmosphere 0.8.3
NS-USBLoader: 0.2.2
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

I am able to launch the app, select files, tether my switch (tinfoil says "USB is ready, waiting for header...").
I am only attempting to install one NSP for now, when i hit "upload", i get a failed report. accessing the log i get the following output:

[ 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 supports function 'CAP_SUPPORTS_DETACH_KERNEL_DRIVER'. Proceeding.
[ PASS ] Set active configuration to device.
[ FAIL ] Claim interface
  Returned: -99
[ WARN ] Release interface
  Returned: -5 (sometimes it's not an issue)
[ INFO ] Requested handler close
[ INFO ] Requested context close

I have other USB libraries installed from other USB install attempts, from tinfoil, and GoldTreePy. Not sure if that matters.

Any suggestions?
Thanks!

XCI install

I want to know how to install XCI file on NS-USBLoader, i use Tinfoil but no xci are loaded in Tinfoil :(

command line mode support

I have backups on my NAS
I wonder could you please add command line mode for people they don't have GUI

for example:
java -jar ns-usbloader.jar -net 192.x.x.x -dir path/to/backups

Linux Out Of Memory bug

My System: Linux user 5.4.2-1-MANJARO #1 SMP PREEMPT Thu Dec 5 09:55:57 UTC 2019 x86_64 GNU/Linux

i tried with java openjdk 13 and openjdk 8

Everytime when i try to install something over usb, my system becomes unresponsive, i tried different distributions as i thought my manjaro system had a problem but with different live-isos its still the same.

could only get some logs on pop OS so thats from there

[ 764.484796] pop-upgrade invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0
[ 764.484798] CPU: 0 PID: 1825 Comm: pop-upgrade Tainted: G OE 5.3.0-7625-generic #27157633700219.10~bc3488b-Ubuntu
[ 764.484799] Hardware name: Gigabyte Technology Co., Ltd. B450 AORUS M/B450 AORUS M, BIOS F50 11/27/2019
[ 764.484799] Call Trace:
[ 764.484804] dump_stack+0x6d/0x9a
[ 764.484806] dump_header+0x4f/0x1eb
[ 764.484807] oom_kill_process.cold+0xb/0x10
[ 764.484808] out_of_memory.part.0+0x1df/0x3d0
[ 764.484809] out_of_memory+0x6d/0xd0
[ 764.484810] __alloc_pages_slowpath+0xd3d/0xe30
[ 764.484812] ? __page_cache_release+0x3d/0x210
[ 764.484814] __alloc_pages_nodemask+0x2d0/0x320
[ 764.484815] alloc_pages_current+0x87/0xe0
[ 764.484817] __page_cache_alloc+0x72/0x90
[ 764.484818] pagecache_get_page+0xb0/0x2f0
[ 764.484819] filemap_fault+0x6e3/0xad0
[ 764.484821] ? alloc_set_pte+0x118/0x610
[ 764.484822] ? xas_find+0x16c/0x1b0
[ 764.484823] ? filemap_map_pages+0x1b3/0x360
[ 764.484824] __do_fault+0x3c/0x130
[ 764.484825] do_fault+0x248/0x640
[ 764.484826] ? __switch_to_asm+0x40/0x70
[ 764.484827] __handle_mm_fault+0x4c5/0x7a0
[ 764.484828] handle_mm_fault+0xca/0x1f0
[ 764.484830] do_user_addr_fault+0x1f9/0x450
[ 764.484831] __do_page_fault+0x58/0x90
[ 764.484832] do_page_fault+0x2c/0xe0
[ 764.484833] page_fault+0x34/0x40
[ 764.484834] RIP: 0033:0x7f88f447653a
[ 764.484837] Code: Bad RIP value.
[ 764.484837] RSP: 002b:00007ffcf84587b0 EFLAGS: 00010246
[ 764.484838] RAX: 0000000000000000 RBX: 000056551ddb95f0 RCX: 0000000000000000
[ 764.484839] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000056551ddb9730
[ 764.484839] RBP: 0000000000000001 R08: 0000000000000000 R09: 000056551ddb9c20
[ 764.484840] R10: 00007ffcf8457b04 R11: 0000000000000000 R12: 00000000000003e8
[ 764.484840] R13: 000056551bb69440 R14: 000056551ddbb830 R15: 00000000000003e8
[ 764.484841] Mem-Info:
[ 764.484844] active_anon:268893 inactive_anon:3063779 isolated_anon:0
active_file:399 inactive_file:451 isolated_file:2
unevictable:0 dirty:0 writeback:0 unstable:0
slab_reclaimable:35319 slab_unreclaimable:76908
mapped:20145 shmem:3108565 pagetables:3526 bounce:0
free:33210 free_pcp:153 free_cma:0
[ 764.484845] Node 0 active_anon:1075572kB inactive_anon:12255116kB active_file:1596kB inactive_file:1804kB unevictable:0kB isolated(anon):0kB isolated(file):8kB mapped:80580kB dirty:0kB writeback:0kB shmem:12434260kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
[ 764.484846] Node 0 DMA free:15860kB min:64kB low:80kB high:96kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15996kB managed:15860kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
[ 764.484848] lowmem_reserve[]: 0 3356 15856 15856 15856
[ 764.484849] Node 0 DMA32 free:63916kB min:14292kB low:17864kB high:21436kB active_anon:132kB inactive_anon:1938648kB active_file:560kB inactive_file:1044kB unevictable:0kB writepending:0kB present:3617024kB managed:3592364kB mlocked:0kB kernel_stack:0kB pagetables:28kB bounce:0kB free_pcp:556kB local_pcp:28kB free_cma:0kB
[ 764.484851] lowmem_reserve[]: 0 0 12500 12500 12500
[ 764.484852] Node 0 Normal free:53064kB min:53224kB low:66528kB high:79832kB active_anon:1075440kB inactive_anon:10316468kB active_file:888kB inactive_file:1064kB unevictable:0kB writepending:0kB present:13094400kB managed:12800500kB mlocked:0kB kernel_stack:11344kB pagetables:14076kB bounce:0kB free_pcp:56kB local_pcp:8kB free_cma:0kB
[ 764.484853] lowmem_reserve[]: 0 0 0 0 0
[ 764.484854] Node 0 DMA: 14kB (U) 28kB (U) 216kB (U) 032kB 364kB (U) 0128kB 1256kB (U) 0512kB 11024kB (U) 12048kB (M) 34096kB (M) = 15860kB
[ 764.484858] Node 0 DMA32: 78
4kB (ME) 378kB (UME) 2416kB (ME) 832kB (UME) 1264kB (UME) 6128kB (UME) 0256kB 3512kB (UM) 31024kB (UME) 22048kB (UE) 134096kB (UM) = 64736kB
[ 764.484862] Node 0 Normal: 1954kB (UME) 2608kB (ME) 22716kB (ME) 24832kB (ME) 7464kB (ME) 7128kB (ME) 7256kB (M) 5512kB (M) 51024kB (M) 122048kB (U) 0*4096kB = 54108kB
[ 764.484866] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[ 764.484867] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[ 764.484867] 3109661 total pagecache pages
[ 764.484868] 0 pages in swap cache
[ 764.484868] Swap cache stats: add 0, delete 0, find 0/0
[ 764.484868] Free swap = 0kB
[ 764.484869] Total swap = 0kB
[ 764.484869] 4181855 pages RAM
[ 764.484869] 0 pages HighMem/MovableOnly
[ 764.484869] 79674 pages reserved
[ 764.484870] 0 pages cma reserved
[ 764.484870] 0 pages hwpoisoned
[ 764.484870] Tasks state (memory values in pages):
[ 764.484870] [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name
[ 764.484875] [ 1387] 0 1387 6706 1167 98304 0 0 systemd-journal
[ 764.484876] [ 1436] 0 1436 5457 486 69632 0 -1000 systemd-udevd
[ 764.484877] [ 1572] 100 1572 23083 224 81920 0 0 systemd-timesyn
[ 764.484878] [ 1573] 102 1573 5197 316 77824 0 0 systemd-resolve
[ 764.484880] [ 1786] 104 1786 56090 201 77824 0 0 rsyslogd
[ 764.484881] [ 1788] 0 1788 5213 68 57344 0 0 cron
[ 764.484881] [ 1789] 0 1789 2009 83 57344 0 0 system76-power
[ 764.484882] [ 1803] 114 1803 2151 131 57344 0 0 avahi-daemon
[ 764.484883] [ 1820] 0 1820 62386 215 94208 0 0 accounts-daemon
[ 764.484884] [ 1825] 0 1825 174585 809 163840 0 0 pop-upgrade
[ 764.484885] [ 1826] 0 1826 30488 1197 98304 0 0 cupsd
[ 764.484886] [ 1827] 0 1827 20473 96 53248 0 0 irqbalance
[ 764.484886] [ 1839] 0 1839 4099 248 61440 0 0 systemd-logind
[ 764.484887] [ 1842] 0 1842 98637 957 135168 0 0 udisksd
[ 764.484888] [ 1850] 0 1850 59932 411 110592 0 0 ModemManager
[ 764.484889] [ 1856] 103 1856 2398 558 53248 0 -900 dbus-daemon
[ 764.484890] [ 1866] 0 1866 3404 158 65536 0 0 wpa_supplicant
[ 764.484891] [ 1874] 0 1874 632 44 45056 0 0 acpid
[ 764.484891] [ 1878] 0 1878 12509 2081 106496 0 0 networkd-dispat
[ 764.484892] [ 1880] 0 1880 87760 704 163840 0 0 NetworkManager
[ 764.484893] [ 1910] 114 1910 2087 80 57344 0 0 avahi-daemon
[ 764.484894] [ 1925] 0 1925 46314 1279 135168 0 0 cups-browsed
[ 764.484895] [ 2214] 0 2214 63049 815 106496 0 0 polkitd
[ 764.484895] [ 2248] 0 2248 62712 243 98304 0 0 gdm3
[ 764.484896] [ 2264] 0 2264 46032 328 94208 0 0 gdm-session-wor
[ 764.484897] [ 2270] 999 2270 4699 515 73728 0 0 systemd
[ 764.484898] [ 2271] 999 2271 43582 749 110592 0 0 (sd-pam)
[ 764.484899] [ 2296] 0 2296 96832 849 172032 0 0 fwupd
[ 764.484899] [ 2298] 999 2298 62855 238 102400 0 0 gnome-keyring-d
[ 764.484900] [ 2303] 999 2303 43849 159 77824 0 0 gdm-x-session
[ 764.484901] [ 2305] 999 2305 875025 15649 790528 0 0 Xorg
[ 764.484902] [ 2341] 0 2341 65922 395 110592 0 0 upowerd
[ 764.484903] [ 2364] 999 2364 2036 368 53248 0 0 dbus-daemon
[ 764.484904] [ 2368] 999 2368 50250 416 126976 0 0 gnome-session-b
[ 764.484904] [ 2456] 999 2456 1498 118 49152 0 0 ssh-agent
[ 764.484905] [ 2518] 999 2518 62774 252 94208 0 0 gvfsd
[ 764.484906] [ 2524] 999 2524 94566 166 98304 0 0 gvfsd-fuse
[ 764.484907] [ 2536] 0 2536 62451 200 98304 0 0 boltd
[ 764.484908] [ 2610] 999 2610 76327 181 90112 0 0 at-spi-bus-laun
[ 764.484908] [ 2615] 999 2615 1801 142 57344 0 0 dbus-daemon
[ 764.484909] [ 2624] 999 2624 40670 193 81920 0 0 at-spi2-registr
[ 764.484910] [ 2627] 999 2627 153893 445 139264 0 0 xdg-desktop-por
[ 764.484911] [ 2654] 999 2654 117208 150 110592 0 0 xdg-document-po
[ 764.484911] [ 2658] 999 2658 61761 113 90112 0 0 xdg-permission-
[ 764.484912] [ 2672] 999 2672 25359 105 73728 0 0 gnome-session-c
[ 764.484913] [ 2675] 999 2675 334848 1244 229376 0 0 pulseaudio
[ 764.484914] [ 2688] 999 2688 124233 697 163840 0 0 gnome-session-b
[ 764.484915] [ 2695] 106 2695 38218 64 57344 0 0 rtkit-daemon
[ 764.484915] [ 2705] 999 2705 1022739 27027 970752 0 0 gnome-shell
[ 764.484916] [ 2713] 999 2713 39049 154 69632 0 0 dconf-service
[ 764.484917] [ 2830] 999 2830 129555 785 192512 0 0 gnome-shell-cal
[ 764.484918] [ 2834] 999 2834 103570 1128 221184 0 0 evolution-sourc
[ 764.484919] [ 2877] 999 2877 137055 1423 249856 0 0 goa-daemon
[ 764.484919] [ 2885] 999 2885 99766 511 114688 0 0 gvfs-udisks2-vo
[ 764.484920] [ 2890] 999 2890 61812 193 81920 0 0 gvfs-mtp-volume
[ 764.484921] [ 2894] 999 2894 62412 241 86016 0 0 gvfs-gphoto2-vo
[ 764.484922] [ 2898] 999 2898 61832 128 86016 0 0 gvfs-goa-volume
[ 764.484923] [ 2907] 999 2907 81542 258 110592 0 0 goa-identity-se
[ 764.484924] [ 2912] 999 2912 82013 249 114688 0 0 gvfs-afc-volume
[ 764.484925] [ 2918] 0 2918 92496 4982 184320 0 0 packagekitd
[ 764.484926] [ 2923] 999 2923 81092 925 94208 0 0 ibus-daemon
[ 764.484927] [ 2930] 999 2930 61992 160 81920 0 0 ibus-dconf
[ 764.484928] [ 2931] 999 2931 71839 3160 167936 0 0 ibus-extension-
[ 764.484929] [ 2933] 999 2933 52592 2318 147456 0 0 ibus-x11
[ 764.484929] [ 2936] 999 2936 61989 117 90112 0 0 ibus-portal
[ 764.484930] [ 2949] 999 2949 215609 1184 290816 0 0 evolution-calen
[ 764.484931] [ 2959] 999 2959 89689 2481 172032 0 0 gsd-xsettings
[ 764.484932] [ 2960] 999 2960 61740 145 81920 0 0 gsd-screensaver
[ 764.484932] [ 2961] 999 2961 108150 2466 184320 0 0 gsd-power
[ 764.484933] [ 2962] 999 2962 89586 2409 180224 0 0 gsd-keyboard
[ 764.484934] [ 2964] 999 2964 80782 238 102400 0 0 gsd-housekeepin
[ 764.484935] [ 2965] 999 2965 97999 2188 184320 0 0 gsd-datetime
[ 764.484936] [ 2967] 999 2967 117137 152 106496 0 0 gsd-rfkill
[ 764.484936] [ 2968] 999 2968 228261 2563 225280 0 0 gsd-media-keys
[ 764.484937] [ 2969] 999 2969 119002 378 131072 0 0 gsd-sharing
[ 764.484938] [ 2970] 999 2970 81599 229 102400 0 0 gsd-smartcard
[ 764.484939] [ 2971] 999 2971 64860 352 110592 0 0 gsd-print-notif
[ 764.484940] [ 2972] 999 2972 82640 279 110592 0 0 gsd-sound
[ 764.484940] [ 2974] 999 2974 71019 2362 163840 0 0 gsd-wacom
[ 764.484941] [ 2975] 999 2975 81341 247 110592 0 0 gsd-wwan
[ 764.484942] [ 2978] 999 2978 163980 2432 225280 0 0 gsd-color
[ 764.484943] [ 2979] 999 2979 80268 124 94208 0 0 gsd-a11y-settin
[ 764.484944] [ 2980] 999 2980 67431 2147 122880 0 0 hidpi-notificat
[ 764.484945] [ 2983] 999 2983 200550 2183 225280 0 0 tracker-miner-f
[ 764.484946] [ 3025] 999 3025 190796 996 245760 0 0 evolution-addre
[ 764.484947] [ 3041] 999 3041 43436 174 90112 0 0 gvfsd-metadata
[ 764.484948] [ 3048] 999 3048 57934 339 77824 0 0 gsd-disk-utilit
[ 764.484948] [ 3051] 999 3051 110558 4027 200704 0 0 hidpi-daemon
[ 764.484949] [ 3056] 999 3056 181595 3815 356352 0 0 evolution-alarm
[ 764.484950] [ 3061] 999 3061 43537 197 77824 0 0 ibus-engine-sim
[ 764.484951] [ 3122] 116 3122 64421 1332 110592 0 0 colord
[ 764.484951] [ 3243] 999 3243 88670 468 159744 0 0 gsd-printer
[ 764.484952] [ 3295] 999 3295 184448 8229 344064 0 0 nautilus
[ 764.484953] [ 3304] 999 3304 99735 251 118784 0 0 gvfsd-trash
[ 764.484954] [ 3351] 7 3351 3776 195 65536 0 0 dbus
[ 764.484954] [ 3353] 0 3353 85072 13138 356352 0 0 io.elementary.i
[ 764.484955] [ 3364] 0 3364 1776 112 49152 0 0 dbus-launch
[ 764.484956] [ 3365] 0 3365 1799 119 49152 0 0 dbus-daemon
[ 764.484957] [ 3368] 0 3368 101320 459 122880 0 0 xdg-desktop-por
[ 764.484957] [ 3373] 0 3373 117208 125 126976 0 0 xdg-document-po
[ 764.484958] [ 3377] 0 3377 61761 112 86016 0 0 xdg-permission-
[ 764.484959] [ 3398] 999 3398 99792 270 118784 0 0 gvfsd-network
[ 764.484960] [ 3411] 999 3411 81567 273 102400 0 0 gvfsd-dnssd
[ 764.484961] [ 3477] 999 3477 650 17 45056 0 0 sh
[ 764.484961] [ 3478] 0 3478 118627 533 122880 0 0 gvfsd-admin
[ 764.484962] [ 3590] 999 3590 650 17 36864 0 0 repoman.pkexec
[ 764.484963] [ 3592] 999 3592 102652 38692 503808 0 0 repoman
[ 764.484964] [ 3597] 0 3597 32458 19988 270336 0 -900 python3
[ 764.484964] [ 3629] 999 3629 158036 3400 253952 0 0 gnome-terminal-
[ 764.484965] [ 3639] 999 3639 5627 453 49152 0 0 bash
[ 764.484966] [ 6262] 0 6262 39017 140 69632 0 0 dconf-service
[ 764.484967] [ 6314] 0 6314 7254 154 73728 0 0 sudo
[ 764.484968] [ 6315] 0 6315 2702277 62833 1564672 0 0 java
[ 764.484969] [ 6434] 0 6434 5213 68 53248 0 0 cron
[ 764.484970] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-999.slice/[email protected],task=java,pid=6315,uid=0
[ 764.485046] Out of memory: Killed process 6315 (java) total-vm:10809108kB, anon-rss:225488kB, file-rss:0kB, shmem-rss:25844kB
[ 764.493021] oom_reaper: reaped process 6315 (java), now anon-rss:0kB, file-rss:0kB, shmem-rss:104kB

GL Data transfer issue [write]

Everytime I try to transfer files to switch, this error happens after the install starts

[ FAIL ] GL Data transfer issue [write]
Returned: ERROR_IO
GL Execution stopped
[ FAIL ] GL Handle 'ReadFile' command
[ PASS ] Release interface
[ INFO ] Requested handler close
[ INFO ] Requested context close
[ INFO ] End chain

libusbk installation only succeeds when using the non-WCID driver

The Windows prerequisite instructions under ("Usage") state to install the WCID version of the libusbk driver using Zadig, but on two devices so far (both Windows 10, 1909, 18363.752), I've only had the driver successfully install when using the 'Install Driver' option.

Info:

  • NS-USBloader v2.2 (non-legacy)
  • Awoo v1.3.2
  • Java version: Oracle JRE 8u251
  • OS: Windows 10, 1909 (18363.752) on both devices
  • Zadig version: 2.5
  • USB: USB A to C 3.0 cable connected to USB 3.0 port; also reproducible when connected to USB 2.0

To reproduce:

  • On a system with no drivers installed, open Awoo installer and connect Switch to PC.
  • Open Zadig and select 'Nintendo Switch' from dropdown (without 'List all Devices' selected)
  • Click the dropdown on the right and tick 'Install WCID Driver'
  • Click install, and the installation succeed.
  • Device manager doesn't show the new libusbk driver or section, and Awoo doesn't detect NS-USBloader.

If 'Install Driver' is selected instead, the driver installation succeeds, the device manager group is created and displayed, Awoo detects NS-USBloader and installation succeeds.

Has something changed in more recent Windows 10 builds that has stopped the WCID drivers from working?

Automatic payload inject

Hey, any chance you could add an auto payload inject feature like the one in TecraRcmGUI and Hekado?

Gentoo Linux required Java package

On Gentoo Linux, it seems that jre11 can be installed using emerge virtual/jre:11, or by enabling the unstable oracle-jdk-bin-11.0.2 in /etc/portage/package.accept_keywords, emerging it and using the /opt/oracle-jdk-bin-11.0.2/bin/java (if I recall well)

Doesnt work on Goldleaf .8

Version 0.9 worked properly with the previous version of GoldLeaf however when i updated Goldleaf to 0.8 , it doesn't work anymore.

Device can't be found

I installed zadig, and have exact same problem with quark too, dunno if it's on my end, but I thought it is worth mentioning that while old goldtree.exe works, quark and ns-usbloader do not detect the device.

Enable non-NSP files to be selected and transferred through Goldleaf

With the option to select "All Files" for Goldleaf, it will allow easy transfer of .nro applications, saves, media and other files by using Goldleaf's "Copy" command.

src/main/java/nsusbloader/Controllers/NSLMainController.java:130:

if (FrontTabController.getSelectedProtocol().equals("GoldLeaf")) {
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("All Files", "*.*"));
}

NSZ Support

Будет ли в будущих версиях поддержка NSZ?
Если да, то как долго ожидать?

jar not loading in wayland

I get this output after doing java -jar file.jar

java:13745): Gdk-CRITICAL **: 19:28:13.111: gdk_x11_display_set_window_scale: assertion 'GDK_IS_X11_DISPLAY (display)' failed

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00007fa1226a2b2b, pid=13745, tid=13770

JRE version: OpenJDK Runtime Environment (12.0.1+12) (build 12.0.1+12)
Java VM: OpenJDK 64-Bit Server VM (12.0.1+12, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
Problematic frame:
C [libX11.so.6+0x2bb2b] XInternAtom+0x3b

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.