Hacking [Tool] Fusée Gelée Launcher for MacOS

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
pip

basically

brew install python3
brew install libusb
pip3 install pysub

i also then thought they might conflict, so i uninstalled libusb in brew.
same issue. I even tried a web uploader and it "hangs" at "sendint payload" or whatever. indicates it found teh deivce and is starting upload. I note it's a usb 2 and 109MB file, but usb 2 is 480 mbit, or 60MB/s, even if you only got 1 MB/s due to oddities, that's les than 2 min. I let it sit 20m [system here won't let me post URLs. blah] WebFG ?

I mean, the messages indicate they found the device, but maybe I'm not really in RCM mode? that would explain timeouts (well, should get other errors, such as failure to connect)
but i've seen "no tegra device" when I couldn't get that to work. and ive seen the above where it seems to be making progress

if i want to start over the install deps, what exactly things and order should I use?

and I'm using the mac launch command blah and telling it HBL.rar when i it on my mac. i'm using usbc with apple adapter (was using usb 3.0 ones until i realized the cable was 2--should I use a usb 3 cable and adapter?)_
in fact when i wiped all 3, did pyhthon3 and pip3 install pyusb, it error our expecting hte usb lib (I exec pyusub is just an API over the coe lib usb)

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

in fact when i wiped all 3, did pyhthon3 and pip3 install pyusb, it error our expecting hte usb lib (I exec pyusub is just an API over the coe lib usb)
if anyone has this on nac os, i wonder if it's a timeout setting you can set in your usb functions,
but it' INSTStANT
bu it finds the device:']

Type the name of the payload you wish to use, with extension: HBL.rar

Identified a macOS system; setting up the appropriate backend.

Found a Tegra with Device ID: b'^0^0'^0^0'^0^0'^0^0'^0^0'^0^0'^0^0'


Setting ourselves up to smash the stack...

Uploading payload...


follow by the usb timeout stak
 
Last edited by vertigosr37,

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
in fact when i wiped all 3, did pyhthon3 and pip3 install pyusb, it error our expecting hte usb lib (I exec pyusub is just an API over the coe lib usb)

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


if anyone has this on nac os, i wonder if it's a timeout setting you can set in your usb functions,
but it' INSTStANT
bu it finds the device:']

Type the name of the payload you wish to use, with extension: HBL.rar

Identified a macOS system; setting up the appropriate backend.

Found a Tegra with Device ID: b'\x80\x00\x04\x13\x00\x00\x00\x00\xc9\x07-d\x01\x10\x10b'


Setting ourselves up to smash the stack...

Uploading payload...


follow by the usb timeout stak
verified on my mac system report and NVIDIA APX device is present
upload_2018-5-18_16-1-15.png


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

verified on my mac system report and NVIDIA APX device is present
upload_2018-5-18_16-1-15.png
it's gotta be in my python /libusb/pyusb instal. but i even re-did that

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

verified on my mac system report and NVIDIA APX device is present
upload_2018-5-18_16-1-15.png


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


it's gotta be in my python /libusb/pyusb instal. but i even re-did that
lastly, and i'll back off, but the ine throwing is

# check a libusb function call
def _check(ret):
if hasattr(ret, 'value'):
ret = ret.value

if ret < 0:
if ret == LIBUSB_ERROR_NOT_SUPPORTED:
raise NotImplementedError(_strerror(ret))
else:
raise USBError(_strerror(ret), ret, _libusb_errno[ret])

return ret

which isnt helkpful, it's just a errno,

but that whole block is trigger by hasattr(ret 'value')

i coud whack libs to print in this case what this at is, but w/o conext i don't now what that check(ret]) function does. you never even call it.
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
upload_2018-5-18_18-37-57.png



I'm using the nintendo pro controller cable, c one end, apple a to c at the other.i'm not sure what you want to see? it's an official nintendo charging cable. maybe some bits omitted as was though only for charging?


again
upload_2018-5-18_18-38-47.png


it's sharing a bus with my usbdac and a hub, but it's not ON a hub
Might wanna remove that ID from your post hehe...

But huh thats odd for sure. What model Mac are you using, and what USB cable?
lol good point. i'm behind a couple of firewalls

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

upload_2018-5-18_18-37-57.png



I'm using the nintendo pro controller cable, c one end, apple a to c at the other.i'm not sure what you want to see? it's an official nintendo charging cable. maybe some bits omitted as was though only for charging?


again
upload_2018-5-18_18-38-47.png


it's sharing a bus with my usbdac and a hub, but it's not ON a hub

lol good point. i'm behind a couple of firewalls

cable pix, sorry one go blurry
but it's literally the pro controller (usb 2.0, which is still 60 MB / s for 109MB file; i could get a usb 3.0 and 3.0 adapat

but if you use apple's adapter, it is usb 2

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

All of your symptoms seem to indicate that you're not actually in RCM mode. Go ahead and get into RCM how you have been, then plug into your computer however you have been, then open the application "System Information.app", then on the left of the screen find USB. Then, find the Switch. If it says "Switch" it's not in RCM mode. If it says "Nvidia..." then it is in RCM.

That works
interesting, it's able to connect and see the APX device
upload_2018-5-18_18-48-5.png


but not in RCM mode huh?
here's another interesting thing. my switch isn't off. nor is it on. I have to hold the power button a long time(10-20s), let off, then hit power and up comes nintendo.

so i was in some sort of mode if i were just of nintendo would come up right away

so what, there's a 3rd mode that mimics and nvidia chip interface but doesn't work?

I agree, htough, instant timeouts => other side isn't there

i have feeling i need a diff cable

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

All of your symptoms seem to indicate that you're not actually in RCM mode. Go ahead and get into RCM how you have been, then plug into your computer however you have been, then open the application "System Information.app", then on the left of the screen find USB. Then, find the Switch. If it says "Switch" it's not in RCM mode. If it says "Nvidia..." then it is in RCM.

That works
i did this and posted screenshots :)
it's there
APX
see my posts
 

Attachments

  • IMG_0278.JPG
    IMG_0278.JPG
    1.3 MB · Views: 325
  • IMG_0703.JPG
    IMG_0703.JPG
    1.2 MB · Views: 252

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
see image above
macbook pro 2017
high sierra 10.13.4

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

if the standard of being in rcm mode is "APX" appearing in the system app (that's where it showed up), I"m in RCM mode.
Also, i'm not just "off"or "in nintendo". I have to hold the power button a short time before I cn hold it again to boot to nintendo. ir i were off, it'd come right up. if i on, instantly.

so i was in some mode. what else is there than RCM?

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

oh i thin i'v'e answered all over

but i just got APX again
system report same as system system information (replaced system application some time ago, but it's same as the old device manager on windoze)

upload_2018-5-18_19-31-5.png


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

see image above
macbook pro 2017
high sierra 10.13.4

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

if the standard of being in rcm mode is "APX" appearing in the system app (that's where it showed up), I"m in RCM mode.
Also, i'm not just "off"or "in nintendo". I have to hold the power button a short time before I cn hold it again to boot to nintendo. ir i were off, it'd come right up. if i on, instantly.

so i was in some mode. what else is there than RCM?

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


oh i thin i'v'e answered all over

but i just got APX again
system report same as system system information (replaced system application some time ago, but it's same as the old device manager on windoze)

upload_2018-5-18_19-31-5.png

looked into libusb
deffault timeout is "1000". I hate it when they don't name hte var with units. thankfully java is the only language that uses ms (which would mean 1s), most ohter langues use seconds

so it doesn't make sense a 1000s timeout would fail right away
something's amiss
 

OkazakiTheOtaku

no thanks, I don't want a custom title
OP
Member
Joined
Jul 20, 2016
Messages
1,461
Trophies
1
Location
127.0.0.1
XP
3,114
Country
Japan
After looking at all of the info you've given I really don't know what the problem is, sorry :( If it's showing up as "APX" it's in RCM mode, no doubt about that.
Your hardware is almost identical to mine. The only difference I can see is that you're using High Sierra and I'm on regular Sierra but I don't think that's a problem. Truthfully I just maintain the bash scripts, which seems to be doing its job. The issue is coming from the python launcher itself.

I mean, on second thought, you're using a different USB C to A to C cable than me, but since I'm using a cheapass Aliexpress $.98 adapter I can't image that's the bottleneck. Try connecting to the switch with the usb-C to C charging cable that came with your MacBook.
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
After looking at all of the info you've given I really don't know what the problem is, sorry :( If it's showing up as "APX" it's in RCM mode, no doubt about that.
Your hardware is almost identical to mine. The only difference I can see is that you're using High Sierra and I'm on regular Sierra but I don't think that's a problem. Truthfully I just maintain the bash scripts, which seems to be doing its job. The issue is coming from the python launcher itself.

I mean, on second thought, you're using a different USB C to A to C cable than me, but since I'm using a cheapass Aliexpress $.98 adapter I can't image that's the bottleneck. Try connecting to the switch with the usb-C to C charging cable that came with your MacBook.
I used the usb 30 I stream with my elgato, which does 1080p@60 fps. but i'm desparate and i'll try it.
 

mortmela

New Member
Newbie
Joined
Nov 14, 2008
Messages
4
Trophies
0
XP
238
Country
Gambia, The
All of your symptoms seem to indicate that you're not actually in RCM mode. Go ahead and get into RCM how you have been, then plug into your computer however you have been, then open the application "System Information.app", then on the left of the screen find USB. Then, find the Switch. If it says "Switch" it's not in RCM mode. If it says "Nvidia..." then it is in RCM.

That works
Really? I can't see my Switch on the Macbook??
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
Tested this on my macos high sierra 10.13.2 and it cannot detect TegraRCM. I made sure I installed the dependancies properly. Have to say, great job so far!
i can get high sierra to detect, but it hands as soon as it starts to write.
doesn't matter if it's c to c or c to a-> adapater, usbd 2 cable, usb 3, ec

@Centergaming I tried pure mbp charge to now avail. maybe high sierra broke it? cozi even wiped python, libusb, pyub. did only pyhon4 and pip4 insgall pysb
 

Centergaming

Well-Known Member
Member
Joined
Apr 17, 2016
Messages
695
Trophies
0
XP
923
Country
United States
i can get high sierra to detect, but it hands as soon as it starts to write.
doesn't matter if it's c to c or c to a-> adapater, usbd 2 cable, usb 3, ec

@Centergaming I tried pure mbp charge to now avail. maybe high sierra broke it? cozi even wiped python, libusb, pyub. did only pyhon4 and pip4 insgall pysb

I'm on High Sierra 10.13.2 and it works perfectly. (Thank you @OkazakiTheOtaku !) It should work.... its possibly the method that you're using when entering RCM mode. I had to change my method into entering RCM mode by bending pin 9 to 10 so it can enter RCM mode more effeciently.
 
  • Like
Reactions: OkazakiTheOtaku

OkazakiTheOtaku

no thanks, I don't want a custom title
OP
Member
Joined
Jul 20, 2016
Messages
1,461
Trophies
1
Location
127.0.0.1
XP
3,114
Country
Japan
I had to change my method into entering RCM mode by bending pin 9 to 10 so it can enter RCM mode more effeciently.
I would very strongly advise against using the pin bending method--it leads to damage on the switch tablet. But I'm glad this worked for you.

@vertigosr37 I'm sorry :( I don't know what the problem is
 
  • Like
Reactions: Centergaming

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
How badly can it damage the Switch?
no way. i ordered some of the perfect fit devices to 100000% verify i'm in RCM. though all signs point to that.

@Centergaming i even tried thunderbolt cable, lol. what's that 40 GB/s cab?
nada

i have a feeling i have some krusty install of usb libs or else high sierra broke it. can anyone vouche for it working on high sierra?

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

i can get high sierra to detect, but it hands as soon as it starts to write.
doesn't matter if it's c to c or c to a-> adapater, usbd 2 cable, usb 3, ec

@Centergaming I tried pure mbp charge to now avail. maybe high sierra broke it? cozi even wiped python, libusb, pyub. did only pyhon4 and pip4 insgall pysb
so who owns the python script? java is my forte, but I'd be happy to help debug the issue since I'm the only known repro (could be system-specific bug)

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

no way. i ordered some of the perfect fit devices to 100000% verify i'm in RCM. though all signs point to that.

@Centergaming i even tried thunderbolt cable, lol. what's that 40 GB/s cab?
nada

i have a feeling i have some krusty install of usb libs or else high sierra broke it. can anyone vouche for it working on high sierra?

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


so who owns the python script? java is my forte, but I'd be happy to help debug the issue since I'm the only known repro (could be system-specific bug)
 

Centergaming

Well-Known Member
Member
Joined
Apr 17, 2016
Messages
695
Trophies
0
XP
923
Country
United States
no way. i ordered some of the perfect fit devices to 100000% verify i'm in RCM. though all signs point to that.

@Centergaming i even tried thunderbolt cable, lol. what's that 40 GB/s cab?
nada

i have a feeling i have some krusty install of usb libs or else high sierra broke it. can anyone vouche for it working on high sierra?

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


so who owns the python script? java is my forte, but I'd be happy to help debug the issue since I'm the only known repro (could be system-specific bug)

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

Want proof? Here you go!

More proof:Screen Shot 2018-05-20 at 7.32.47 PM.png
 
Last edited by Centergaming,

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
no way. i ordered some of the perfect fit devices to 100000% verify i'm in RCM. though all signs point to that.

@Centergaming i even tried thunderbolt cable, lol. what's that 40 GB/s cab?
nada

i have a feeling i have some krusty install of usb libs or else high sierra broke it. can anyone vouche for it working on high sierra?

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

hmm
i wrote a tiny script (stole) to list usb devices pyusb sees. It doesn't see the APX
plain as day. i look in the system app and it's there

upload_2018-5-20_18-8-7.png


but when i use this code to list in python:
Code:
# find USB devices
dev = usb.core.find(find_all=True)
# loop through devices, printing vendor and product ids in decimal and hex
for cfg in dev:
    sys.stdout.write('Decimal VendorID=' + str(cfg.idVendor) + ' & ProductID=' + str(cfg.idProduct) + '\n')
    sys.stdout.write('Hexadecimal VendorID=' + hex(cfg.idVendor) + ' & ProductID=' + hex(cfg.idProduct) + '\n\n')

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

would i need an option the way i get the devices? (find(find_all=True seems pretty inclusive

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

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


would i need an option the way i get the devices? (find(find_all=True seems pretty inclusive

got it listed,
now

usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
--------------------- MERGED ---------------------------


would i need an option the way i get the devices? (find(find_all=True seems pretty inclusive

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



got it listed,
now

usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
running as sudo makes no diff. these sound like perms on the write side

i looked into the pyusb src (btw, some have had the same exact issue and switched to hid as a usb wrapper--not a python programmer, no opinion)

# check a libusb function call
def _check(ret):
if hasattr(ret, 'value'):
ret = ret.value

if ret < 0:
if ret == LIBUSB_ERROR_NOT_SUPPORTED:
raise NotImplementedError(_strerror(ret))
else:
raise USBError(_strerror(ret), ret, _libusb_errno[ret])

return ret


that's telling me that the device it's connected to, which i'm certain is my switch, doesn't support a read (see full stack)

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

\vertigosr37, post: 7993129, member: 449006"]running as sudo makes no diff. these sound like perms on the write side

i looked into the pyusb src (btw, some have had the same exact issue and switched to hid as a usb wrapper--not a python programmer, no opinion)

# check a libusb function call
def _check(ret):
if hasattr(ret, 'value'):
ret = ret.value

if ret < 0:
if ret == LIBUSB_ERROR_NOT_SUPPORTED:
raise NotImplementedError(_strerror(ret))
else:
raise USBError(_strerror(ret), ret, _libusb_errno[ret])

return ret


that's telling me that the device it's connected to, which i'm certain is my switch, doesn't support a read (see full stack)
for posterity:

Welcome to Fusée Gelée launcher for macOS
Please ensure that your Switch is in RCM mode!
Available Payloads:
Identified a macOS system; setting up the appropriate backend.
Traceback (most recent call last):
File "fusee-launcher.py", line 430, in <module>
device_id = switch.read_device_id().tostring()
File "fusee-launcher.py", line 377, in read_device_id
return self.read(16)
File "fusee-launcher.py", line 334, in read
return self.dev.read(0x81, length, 1000)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 975, in read
intf, ep = self._ctx.setup_request(self, endpoint)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 216, in setup_request
self.managed_claim_interface(device, intf)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 167, in managed_claim_interface
self.backend.claim_interface(self.handle, i)
File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 811, in claim_interface
_check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 595, in _check
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
quick update: the error 13 happens when I use a thunderbolt cable!

switching back to usb A to C cable + A to C adapater gives me timeout...
i ordered diff cables to try, but I stream with this cable.

do most ppl use usb 2.0 or 3.0 cables? I mean 190 mb is something a 2.0 cable could handle so i was thinking of trying it...

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

quick update: the error 13 happens when I use a thunderbolt cable!

switching back to usb A to C cable + A to C adapater gives me timeout...
i ordered diff cables to try, but I stream with this cable.

do most ppl use usb 2.0 or 3.0 cables? I mean 190 mb is something a 2.0 cable could handle so i was thinking of trying it...
I even wrote a test app and it sees what looks like the nvidia with right vendor /product id

it gets weirder: if I run the loader and get the timeout, the device disappears from both system app and my program that lists usb devices.

this gets into the libusb / pyusb itself, should I look at those projects?
who would I put them in touch with if they have questions about the nvidia device itself? (like the device implements some standard USB API, but for some reason, the libusb + pyusb isn't working with my case)
 

vertigosr37

Member
Newcomer
Joined
May 17, 2018
Messages
13
Trophies
0
Age
46
XP
69
Country
United States
I'm on High Sierra 10.13.2 and it works perfectly. (Thank you @OkazakiTheOtaku !) It should work.... its possibly the method that you're using when entering RCM mode. I had to change my method into entering RCM mode by bending pin 9 to 10 so it can enter RCM mode more effeciently.
it's kind of interesting. for one, don't use a thunderbolt cable :P
I tried and nada

but I have a usb cable. I've usb 2 & 3 (including mixing and matching and a number of them.

I always get timeout as posted in my original post. but i also wrote the python script and python can at least see it but it's timing out.

I also ordered bent paperclips that are tested and actually short 1 & 10 (shouldn't matter as long as it's not 4 I'm told)

so this is a new method. what's interesting is it's booted up, yea. it's detected, but I concur--how do I valid RCM mode?

I tweaked the check doe to print what return value it is looking for, it's 0 (makes sense). it succeeds a number of times, then the switch sends back -9
precisely, 53 0s (success), and then a PIPE_ERROR

at least according to libusb doc, this means operation not supported....despite having done a number of write operations before.

what's weirder is after this, I get PIPE_ERROR on just doing a read when it tries to read teh device id....

it's like after some amount of writes, the switch has an error and the RCM is not fully functional. weirdest thing

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

Want proof? Here you go!

More proof:View attachment 124249

ditto, i got some too to verify RCM

but see around, it's clearly in RCM mode, returning device IDs when read, doing 10s of wirtes when trying to write the payload, but then just gives PIPE_ERROR to virtually any API call
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    AncientBoi @ AncientBoi: I just Luv having CEX :)