Fluffy - A Tinfoil and Goldleaf GUI

Fluffy
fluffy-intro.png




So what's different about Fluffy?

Fluffy is the first to introduce:
  • Goldleaf and Tinfoil Support.
  • USB and Network install with transfer rate and progress bar.
  • Display current install rate in MB/ for both USB and Network mode(Goldleaf & Tinfoil too)
  • Display current NCA name and count.
  • Transfer mode option switchable between "Normal" and "Safe".
  • Individual NSP selection (suggested by: ShadowHand, thanks!)
  • Show current NSP being installed
  • Switch connected indicator
  • USB 5.x Fix (Compatible with Firmware versions 5.x and below)
screenshot-fluffy-v240c.png


GitHub:
https://github.com/fourminute/Fluffy

Latest Releases
https://github.com/fourminute/Fluffy/releases

Recommended TinFoil.nro
https://github.com/fourminute/Fluffy/blob/master/Tinfoil.nro




How-To-Use
  • Download and Install Python 3 from https://www.python.org/downloads/. Ensure no previous version of Python is installed. This may cause an error "PyUSB not found". Do not use the 64-bit version of Python 3 with Fluffy.
  • Open Terminal/CMD
  • Run "pip3 install pyusb" and "pip3 install pyqt5" and "pip3 install libusb" and "pip3 install libusb1"
  • MacOS users must also run "brew install libusb". For more info on brew, head to https://brew.sh/.

Going forward,
I plan to support Fluffy for the foreseeable future.

I hope this tool can help anyone and everyone that uses it,
fourminute
 
Last edited by fourminute,
D

Deleted User

Guest
On windows I am running libusb v1.22b2 libusb1 v1.7 do I need to upgrade these?
 

JCreazy

Member
Newcomer
Joined
Jul 26, 2010
Messages
21
Trophies
0
XP
141
Country
United States
Thanks for this. After having multiple problems seeings it up I finally got it to work thanks to the other that had the same issue and the people that helped with those. With that being said, Goldleaf is slow compared to Tinfoil with USB installs and also it gives errors with certain NSPs. Something about MCAs. I know this isn't an issue with Fluffy but I hope to see some improvements with Goldleaf soon but for now I'll stick with Tinfoil.
 
  • Like
Reactions: Deleted User

psiko74

Well-Known Member
Newcomer
Joined
Jan 22, 2009
Messages
52
Trophies
0
XP
172
Country
United States
What does this error mean?
ERROR:root:No backend available
Traceback (most recent call last):
File "C:\Users\Psiko74\Desktop\Fluffy\fluffy.pyw", line 1602, in <module>
set_switch_text()
File "C:\Users\Psiko74\Desktop\Fluffy\fluffy.pyw", line 1365, in set_switch_text
dev = usb.core.find(idVendor=0x057E, idProduct=0x3000)
File "C:\Users\Psiko74\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 1263, in find
raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available

NVM I GOT IT WORKING!
 
Last edited by psiko74,
  • Like
Reactions: Deleted User

Fancypost

Member
Newcomer
Joined
Feb 6, 2019
Messages
6
Trophies
0
Age
38
Location
Springfield, Missouri
XP
291
Country
United States
I've been having a strange problem lately that I can't seem to solve on my own. Tinfoil is no longer recognizing usb connection for me. When I run Fluffy, it says "switch detected!" but when I attempt to send NSP headers, it says "tinfoil threw an exception." Goldleaf returns an error as well. Also when I plug my switch in, Tinfoil does not say "USB ready, waiting for blah blah" anymore, as it used to.

Here's my debug log

DEBUG:root:Fluffy Log: If you see nothing here. Good!
ERROR:root:Operation not supported or unimplemented on this platform
Traceback (most recent call last):
File "C:\Users\Jake\Downloads\fluffy.pyw", line 1110, in init_tinfoil_usb_install
dev.reset()
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 913, in reset
self._ctx.managed_open()
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 120, in managed_open
self.handle = self.backend.open_device(self.dev)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 786, in open_device
return _DeviceHandle(dev)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 643, in __init__
_check(_lib.libusb_open(self.devid, byref(self.handle)))
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 593, in _check
raise NotImplementedError(_strerror(ret))
NotImplementedError: Operation not supported or unimplemented on this platform

I suppose it is worth mentioning that I was one of the users having the libusb problem, but fluffy worked great after I installed that manually, instead of through python. I have run all of the required pip3 commands, and I have the zadig driver libusbk 3.0.7.0 installed. My switch is recognized by multiple computers, with multiple usb cables. I am able to transfer files to and from my switch with NXMTP. I also have tried using a different SD card in my switch to install games. I have attempted this in both Hekate and Reinx.

Essentially, everything used to work after a fair amt of configuration, but now it doesn't! Does anyone know what could be wrong?
 
D

Deleted User

Guest
I've been having a strange problem lately that I can't seem to solve on my own. Tinfoil is no longer recognizing usb connection for me. When I run Fluffy, it says "switch detected!" but when I attempt to send NSP headers, it says "tinfoil threw an exception." Goldleaf returns an error as well. Also when I plug my switch in, Tinfoil does not say "USB ready, waiting for blah blah" anymore, as it used to.

Here's my debug log

DEBUG:root:Fluffy Log: If you see nothing here. Good!
ERROR:root:Operation not supported or unimplemented on this platform
Traceback (most recent call last):
File "C:\Users\Jake\Downloads\fluffy.pyw", line 1110, in init_tinfoil_usb_install
dev.reset()
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 913, in reset
self._ctx.managed_open()
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 120, in managed_open
self.handle = self.backend.open_device(self.dev)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 786, in open_device
return _DeviceHandle(dev)
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 643, in __init__
_check(_lib.libusb_open(self.devid, byref(self.handle)))
File "C:\Users\Jake\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 593, in _check
raise NotImplementedError(_strerror(ret))
NotImplementedError: Operation not supported or unimplemented on this platform

I suppose it is worth mentioning that I was one of the users having the libusb problem, but fluffy worked great after I installed that manually, instead of through python. I have run all of the required pip3 commands, and I have the zadig driver libusbk 3.0.7.0 installed. My switch is recognized by multiple computers, with multiple usb cables. I am able to transfer files to and from my switch with NXMTP. I also have tried using a different SD card in my switch to install games. I have attempted this in both Hekate and Reinx.

Essentially, everything used to work after a fair amt of configuration, but now it doesn't! Does anyone know what could be wrong?


Try re-installing the libusbk driver using Zdiag whilst usb install is selected in TinFoil close fluffy before doing this.

error pointing to driver issue
 
  • Like
Reactions: Fancypost

Nomada

Member
Newcomer
Joined
Jan 16, 2019
Messages
11
Trophies
0
Age
32
XP
129
Country
United States
I got fluffy to launch last night but it wasn't detecting my Switch. Today I can't even get it to launch..

Here's my log:
DEBUG:root:Fluffy Log: If you see nothing here. Good!
ERROR:root:No backend available
Traceback (most recent call last):
File "C:\Users\Payton\Downloads\fluffy.pyw", line 1602, in <module>
set_switch_text()
File "C:\Users\Payton\Downloads\fluffy.pyw", line 1365, in set_switch_text
dev = usb.core.find(idVendor=0x057E, idProduct=0x3000)
File "C:\Users\Payton\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 1263, in find
raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available
 
D

Deleted User

Guest
I got fluffy to launch last night but it wasn't detecting my Switch. Today I can't even get it to launch..

Here's my log:
DEBUG:root:Fluffy Log: If you see nothing here. Good!
ERROR:root:No backend available
Traceback (most recent call last):
File "C:\Users\Payton\Downloads\fluffy.pyw", line 1602, in <module>
set_switch_text()
File "C:\Users\Payton\Downloads\fluffy.pyw", line 1365, in set_switch_text
dev = usb.core.find(idVendor=0x057E, idProduct=0x3000)
File "C:\Users\Payton\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 1263, in find
raise NoBackendError('No backend available')
usb.core.NoBackendError: No backend available

  • Run "pip3 install pyusb" and "pip3 install pyqt5" and "pip3 install libusb" and "pip3 install libusb1, pip3 install darkstyle"
Usb not setup in Python
 

Nomada

Member
Newcomer
Joined
Jan 16, 2019
Messages
11
Trophies
0
Age
32
XP
129
Country
United States
  • Run "pip3 install pyusb" and "pip3 install pyqt5" and "pip3 install libusb" and "pip3 install libusb1, pip3 install darkstyle"
Usb not setup in Python

I've ran all those. install darkstyle gives me this:
 

Attachments

  • Capture.PNG
    Capture.PNG
    3.9 KB · Views: 109
D

Deleted User

Guest
Usb install is great if youre using the correct build.

Btw op never mentions what tinfoil version to use with this program.

It is unversally known that only tinfoil 8883e build works for usb.


sorry it's qdarkstyle

also see

Additional Windows Instructions
Some users may receive the error "USB.Core No Backend Available". If you do, download this .DLL file libusb.dll and place it in the same directory as Fluffy.pyw.

If you still receive this error, you can try installing LibUSB: libusb installer.
 

Nomada

Member
Newcomer
Joined
Jan 16, 2019
Messages
11
Trophies
0
Age
32
XP
129
Country
United States
sorry it's qdarkstyle

also see

Additional Windows Instructions
Some users may receive the error "USB.Core No Backend Available". If you do, download this .DLL file libusb.dll and place it in the same directory as Fluffy.pyw.

If you still receive this error, you can try installing LibUSB: libusb installer.

That dll fixed it. Thanks for that
 
  • Like
Reactions: Deleted User

shivoooooo

Active Member
Newcomer
Joined
Feb 14, 2019
Messages
37
Trophies
0
Age
33
XP
555
Country
Japan
I leave this as a precedent in case someone is experiencing the same thing, and you can solve it.

Tips 1. I had an error trying to run and install the pip3 commands
In this case, I have Windows is installed in the C drive, while the the programs are installed in D drive, Python was installed in D. And that was the reason why the command was not recognized by Windows.
It may be stupid, but it took me a lot of time and many attempts in vain to get the absurd cause.

Tips 2. Tips For those users that "Zadig" does not recognize their "Nintendo Switch" when connecting to their computer, that is, they do not "libnx USB comms" after selecting "List All Devices", it may be due to the cable they are using. try different things all night, and finally the cause was something as simple as changing the cable for a better quality one. This cable works (worked) for everything, but for something reason, it just does not work for this.

Thank you very much, the program is fantastic and once resolved the "details" it worked perfectly.
 
  • Like
Reactions: Deleted User

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
    +1
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Samsung SD format can sometimes fix them too
  • Purple_Heart @ Purple_Heart:
    yes looks like an faulty sd
  • Purple_Heart @ Purple_Heart:
    @Psionic Roshambo i may try that with my dead sd cards
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's always worth a shot
  • TwoSpikedHands @ TwoSpikedHands:
    @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the mail lol
    TwoSpikedHands @ TwoSpikedHands: @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the...