NUT GUI USB and Network installer for Tinfoil and SX Installer

Easiest way is to just download nut.exe to the directory where your NSP's are, and start it. Will install NSP's from your PC to the switch via USB or network connection. The games will show up on the switch (in the "new games" section) to install, the PC client is just a dumb server. Default username and password is guest/guest for network install.



# USB Install

Run server.py or Windows users can use the precompiled nut.exe in the release section.

Follow the directions found in the release page to install the USB driver.

After you run the server, ensure NSP's are visible in the list. If they are not, change the path and click the "scan" button.

Connect your USB cable from your switch to your PC.

Start Tinfoil or SX Installer, and all of the NSP's listed in nut server should now be available to install in Tinfoil or SX Installer.


# Network Install

Run server.py or Windows users can use the precompiled nut.exe in the release section.

After you run the server, ensure NSP's are visible in the list. If they are not, change the path and click the "scan" button.

Start Tinfoil or SX Installer, then go to locations, then select "Add New" location. Enter the ip, port, username, and password that is displayed in the nut server application, then press save.

All of the NSP's listed in nut server should now be available to install in Tinfoil or SX Installer.

https://tinfoil.io/Download#download

changelog:

- Scan path is now saved and remembered.
- Web GUI is now works with the windows release.
- Web gui optionally launches at application launch.
- Various bugfixes / enhancements to web gui.
- Fixed display bug where username did not display in gui.
- conf/users.conf is created, and users can edit their username and password there.
- fixed random error when initializing.
 
Last edited by blawar,

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
ok thanks i can install every nsp! using the konami code but i get ticket installation error or nca failures! i am on 7.0 and the latest atmosphere! and i got my keys from 6.2! please help! also i got the sigpatches! maybe my keys are in a wrong place?

ticket installation error means es sigpatches aren’t working or installed correctly.

lithium does not require keys.txt, and neither does the nightly version of tinfoil.
 

lotekjunky

New Member
Newbie
Joined
Jun 8, 2018
Messages
2
Trophies
0
Age
46
XP
86
Country
United States
When scraping with nut.py -s --scrape, it appears to work but does not finish properly. It starts off with 15 threads and then slowly finishes up, but Thread0 (or maybe that's Thread1, I can't tell) stays incomplete with a "KeyError".

NOTE: I truncated the output a bit to make it fit in the space provided.

Thread 0: 43%|###############################...############1 | 169/397 [04:08<02:02, 1.86B/s]KeyError(0,) 010068F00AA78000###############...############################4 | 225/397 [04:08<01:56, 1.48B/s]
fin​


That's the first issue. Then when running server.py i was being notified that it could not load usb from nut. I used pip3 to install pyusb and nut and then it got a bit farther along when running server.py, but still not loading.


me@pizzahamburger:/usr/bin/nut$ python3 server.py
'titlekek_source'
loaded user guest
Traceback (most recent call last):
File "server.py", line 33, in <module>
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTableWidget,QTableWidgetItem,QVBoxLayout,QDesktopWidget, QTabWidget, QProgressBar, QLabel,QHBoxLayout, QLineEdit, QPushButton, QCheckBox
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
After that, I searched around a bit and found that maybe installing libgl1-mesa-glx would resolve the issue, so I did that. Server.py now loads a bit farther than before, but I'm getting some odd issues with qt and xcb which is honestly over my head. I'm not sure if all of this was necessary... but I was just trying to get it working with basic troubleshooting steps. This is on a brand new installation Ubuntu 18.04. Nut is literally the first thing I installed after doing an update/upgrade from fresh install.

EDIT: I've moved to the docker image and everything is working fine so I'm done with this for now.
 
Last edited by lotekjunky,

pka4916

Well-Known Member
Member
Joined
May 24, 2006
Messages
206
Trophies
1
Location
USA
XP
422
Country
United States
Amazing work Blawar, your work is highly appreciated.
No more python for me! (at least for now)

This mini-tool works fine, and can install games without any issues, BUT i did come across one BUG;
instead of choosing to install a game, if let it idle (or do nothing) for exactly 1 minute, the following prompt pops up and it keeps repeating it self over and over:
usb exception: [Errno None] b'libusb0-dll:err [claim_interface] could not claim interface 0, win error: Cannot create a file when that file already exists.\r\n'

Once this prompt pops up, both tinfoil and sx launcher freezes, I would have press the home button to reload the app.
Again, this only happens if leave tinfoil or sx launcher idle for exactly one minute. otherwise this mini-tool works fine if don't let it idle for one minute.

I tried two USB type c cables, and same thing happens (i don't think its a USB cable bug)
Just want to know, has anyone one come across this? or does this bug only happen to me.


Did you get this resolved?
I have the same problem.
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,864
Trophies
2
Location
At Home :)
XP
4,452
Country
Does anyone else get a permission denied error pop up in the net server cmd window I seem to get this regular now trying too download anyone know why this happens?
 

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
Oh? I got the latest nut from Github synched, and still this problem.

what does line 163 of nut/usb.py say p.read(0) ?


Code:
def poll_commands(in_ep, out_ep):
    p = Packet(in_ep, out_ep)
    while True:
        if p.recv(0):
            if p.command == 1:
                print('Recv command! %d' % p.command)
                req = UsbRequest(p.payload.decode('utf-8'))
                resp = UsbResponse(p)

                Server.route(req, resp)
            else:
                print('Unknown command! %d' % p.command)
        else:
            print('failed to read!')
 

pka4916

Well-Known Member
Member
Joined
May 24, 2006
Messages
206
Trophies
1
Location
USA
XP
422
Country
United States
it says

if p.recv(0):



what does line 163 of nut/usb.py say p.read(0) ?


Code:
def poll_commands(in_ep, out_ep):
    p = Packet(in_ep, out_ep)
    while True:
        if p.recv(0):
            if p.command == 1:
                print('Recv command! %d' % p.command)
                req = UsbRequest(p.payload.decode('utf-8'))
                resp = UsbResponse(p)

                Server.route(req, resp)
            else:
                print('Unknown command! %d' % p.command)
        else:
            print('failed to read!')
 

GarnetSunset

Well-Known Member
Member
Joined
Apr 27, 2017
Messages
213
Trophies
0
Age
34
XP
1,475
Country
United States
TINFOIL IS GONE
https://github.com/digableinc/tinfoil
ArtisticCheeryKudu-max-1mb.gif
 

neFAST

Member
Newcomer
Joined
Jan 25, 2019
Messages
10
Trophies
0
Age
41
XP
93
Country
France
nut master added: usbfs and nutfs which is what you want. usbfs works over usb, and nutfs works over network. You must use tinfoil master or lithium master with this (not release).
Hi @blawar, I now got my xci properly listed in nut server thanks. However I don't see them in Lithium/Tinfoil 1.1 (github being down I took the releases from tinfo.il)

Nut console just says:
Code:
begin recv
read complete
receiving 19 bytes
Recv command! 1
url /api/directoryList/
['api', 'directoryList']
routing
routing to getDirectoryList
usbresponse write
sending 3 bytes
begin recv
 

Sonics99

Well-Known Member
Newcomer
Joined
May 17, 2018
Messages
56
Trophies
0
Age
43
XP
231
Country
United States
Am I under the correct impression that we should now be able to have nut server setup to show XCI files in a folder and then should be able to install them from the newest version of Lithium or Tinfoil on the switch? I haven't yet been able to get nut server to pick up anything but NSP files, but it sounded like from some previous replies that it may be able to do xci files now. Even better would just be the ability to copy them over the network to the SD card.

I much prefer the ease of management of XCI files (especially mutli pack ones with DLC and updates included thanks to Jules) over NSP files.

Any hope getting this to work for that or is it futile on my part for now?

Thanks
 

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
Am I under the correct impression that we should now be able to have nut server setup to show XCI files in a folder and then should be able to install them from the newest version of Lithium or Tinfoil on the switch? I haven't yet been able to get nut server to pick up anything but NSP files, but it sounded like from some previous replies that it may be able to do xci files now. Even better would just be the ability to copy them over the network to the SD card.

I much prefer the ease of management of XCI files (especially mutli pack ones with DLC and updates included thanks to Jules) over NSP files.

Any hope getting this to work for that or is it futile on my part for now?

Thanks

yes, use usbfs or nutfs in tinfoil to access it.
 
  • Like
Reactions: JJTapia19

Sonics99

Well-Known Member
Newcomer
Joined
May 17, 2018
Messages
56
Trophies
0
Age
43
XP
231
Country
United States
yes, use usbfs or nutfs in tinfoil to access it.

Thank you, blawar. That did the trick. Not sure how I missed that piece but it sure simplified things. I kept thinking I had to see them listed in the nutserver window.

One last question (hopefully, might be lying), if I may..... This may be more of a networking, not specific to this program question, but is there anyway that I can access this remotely? Ideally, I'd like to keep nut server running on my machine and access it externally wherever I am (on wifi of course) and be able to update whatever I want on my switch. I tried messing around with it a bit to get it to work, but didn't have much luck.
 

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
is there a way to select files in tinfoil/lithium to install just the selected files ? or does it have to be "install the whole nut database that isnt already installed" or install individually?

i didnt really get to spend much time in tinfoil, so im not sure if there is some way to do this.

Thanks!
 

gizmomelb

Well-Known Member
Member
Joined
Jul 13, 2006
Messages
926
Trophies
1
XP
1,658
Country
Australia
is there a way to select files in tinfoil/lithium to install just the selected files ? or does it have to be "install the whole nut database that isnt already installed" or install individually?

i didnt really get to spend much time in tinfoil, so im not sure if there is some way to do this.

Thanks!

no you can install individually, even queue up to 50 titles in advance that you want to batch install.. choose for each title if they go to NAND or SD card, as well as choose if you want patches and DLC to be installed as well.
 

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
no you can install individually, even queue up to 50 titles in advance that you want to batch install.. choose for each title if they go to NAND or SD card, as well as choose if you want patches and DLC to be installed as well.
Oh okay, so im guessing instead of doing one at a time, after i do one, it will install in background while i queue up more, or something along those lines? Ill try later this week

Thank you!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    cearp @ cearp: Welcome hazbeans