ns-usbloader/README.md

98 lines
3.9 KiB
Markdown
Raw Normal View History

2019-02-10 04:59:54 +03:00
# NS-USBloader
NS-USBloader is a PC-side TinFoil (USB and Network) and GoldLeaf NSP USB uploader. Replacement for default *usb_install_pc.py*, *remote_install_pc.py* and *GoldTree*.
2019-02-12 00:56:42 +03:00
2019-02-10 04:59:54 +03:00
With GUI and cookies.
2019-02-12 00:56:42 +03:00
2019-02-11 18:44:12 +03:00
Read more: https://developersu.blogspot.com/2019/02/ns-usbloader-en.html
2019-02-10 04:59:54 +03:00
2019-02-15 05:44:39 +03:00
Here is the version of 'not perfect but anyway' [tinfoil I use](https://cloud.mail.ru/public/DwbX/H8d2p3aYR).
Ok, I'm almost sure that this version has bugs. I don't remember where I downloaded it. But it works for me somehow..
2019-02-19 00:04:58 +03:00
2019-02-15 05:44:39 +03:00
Let's rephrase, if you have working version of TinFoil DO NOT use this one.
2019-02-12 00:56:42 +03:00
2019-02-19 17:50:13 +03:00
![Screenshot](https://farm8.staticflickr.com/7834/47133893471_37fd9689c4_o.png)
2019-02-10 04:59:54 +03:00
## License
Source code spreads under the GNU General Public License v.3. You can find it in LICENSE file.
## Used libraries
2019-02-12 00:56:42 +03:00
* [OpenJFX](https://wiki.openjdk.java.net/display/OpenJFX/Main)
* [usb4java](https://mvnrepository.com/artifact/org.usb4java/usb4java)
* Few icons taken from: [materialdesignicons](http://materialdesignicons.com/)
2019-02-10 04:59:54 +03:00
2019-02-19 00:04:58 +03:00
## Requirements
JRE 8u60 or higher. See below.
2019-02-19 00:04:58 +03:00
2019-02-10 17:40:29 +03:00
## Usage
### Linux:
1. Install JRE/JDK 8u60 or higher (openJDK is good. Oracle's one is also good). JavaFX not needed, if you're interested (it's embedded).
2019-02-10 05:01:20 +03:00
2019-02-19 00:04:58 +03:00
2. `root # java -jar /path/to/NS-USBloader.jar`
2019-02-10 05:01:20 +03:00
2019-02-12 00:56:42 +03:00
### macOS
Double-click on downloaded .jar file. Follow instructions. Or see 'Linux' section.
2019-02-12 00:56:42 +03:00
2019-02-18 03:06:49 +03:00
Set 'Security & Privacy' settings if needed.
2019-02-12 00:56:42 +03:00
If you use different MacOS (not Mojave) - check release section for another JAR file.
### Windows:
* Download Zadig: https://zadig.akeo.ie/
* Open tinfoil. Set 'Title Management' -> 'Usb install NSP'
2019-02-19 00:04:58 +03:00
* Connect NS to PC
* Open Zadig
* Click 'Options' and select 'List All Devices'
* Select NS in dropdown, select 'libusbK (v3.0.7.0)' (version may vary), click 'Install WCID Driver'
* Check that in device list of you system you have 'libusbK USB Devices' folder and your NS inside of it
* Download and install Java JRE (8+)
2019-02-19 00:04:58 +03:00
* Get this application (JAR file) double-click on on it (alternatively open 'cmd', go to place where jar located and execute via `java -jar thisAppName.jar`)
* Remember to have fun!
2019-02-10 17:40:29 +03:00
## Tips&tricks
2019-02-19 00:04:58 +03:00
### Linux: Add user to udev rules to use NS not-from-root-account
2019-02-10 17:40:29 +03:00
`root # vim /etc/udev/rules.d/99-NS.rules`
2019-02-11 05:16:07 +03:00
2019-02-10 17:40:29 +03:00
`SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", GROUP="plugdev"`
2019-02-11 05:16:07 +03:00
2019-02-10 17:40:29 +03:00
`root # udevadm control --reload-rules && udevadm trigger`
2019-02-10 04:59:54 +03:00
## Known bugs
* Unable to interrupt transmission when libusb awaiting for read event (when user sent NSP list but didn't selected anything on NS).
## NOTES
Table 'Status' = 'Uploaded' does not means that file 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 (TinFoil/GoldLeaf). (And they don't provide any feedback interfaces so I can't detect success/failure.)
## Translators! Traductores! Übersetzer! Թարգմանիչներ!
2019-03-14 23:41:17 +03:00
If you want to see this app translated to your language, go grab [this file](https://github.com/developersu/ns-usbloader/blob/master/src/main/resources/locale.properties) and translate it.
Upload somewhere (pastebin? google drive? whatever else). [Create new issue](https://github.com/developersu/ns-usbloader/issues) and post a link. I'll grab it and add.
### Thanks for great work done by our translater~~s team~~!
Français by [Stephane Meden (JackFromNice)](https://github.com/JackFromNice)
2019-02-10 04:59:54 +03:00
## TODO:
- [x] macOS QA v0.1 (Mojave)
- [x] macOS QA v0.2.2 (Mojave)
- [ ] macOS QA v0.3 (Mojave)
- [x] Windows support
- [x] code refactoring
2019-02-18 03:06:49 +03:00
- [x] GoldLeaf support
2019-02-15 05:44:39 +03:00
- [ ] XCI support
2019-02-18 03:06:49 +03:00
- [ ] File order sort (non-critical)
2019-02-19 00:04:58 +03:00
- [ ] More deep file analyze before uploading.
- [x] Network mode support for TinFoil
2019-02-18 03:06:49 +03:00
## Thanks
Appreciate assistance and support of both Vitaliy and Konstantin. Without you all this magic would not have happened.
[Konstanin Kelemen](https://github.com/konstantin-kelemen)
[Vitaliy Natarov](https://github.com/SebastianUA)