Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Models: 20th Anniversary and Halo Infinite Edition #1

Open
tuxuser opened this issue Dec 27, 2021 · 11 comments
Open

New Models: 20th Anniversary and Halo Infinite Edition #1

tuxuser opened this issue Dec 27, 2021 · 11 comments

Comments

@tuxuser
Copy link
Owner

tuxuser commented Dec 27, 2021

Can somebody provide Infos about those models?

  • Output of lsusb -vvv
  • Internal photos of the controller
  • Flashdump
@DVDIsDead
Copy link

DVDIsDead commented Apr 24, 2022

I'm planning on buying one of these today, and I can provide some info if/when I do.

what I can definitely do:

  • get photos of the board or any chip that you may need
  • lsusb

what I would need guidance doing, but am willing to try:

  • using my raspberry pi to dump the flash, (if possible on this model or at all)

I'd also be willing to try soldering, possibly, but I'd be more comfortable with a less warranty-voiding solution. arent there small alligator clamps for that sort of thing? it'd take me time to sort out the specifics, and take necessary precautions, but im up for it.

@DVDIsDead
Copy link

DVDIsDead commented Apr 29, 2022

ill be a bit before i can get to my linux machine at home, so no lsusb output yet, but heres the internals:

IMG_20220429_145411.jpg

IMG_20220429_145509.jpg

IMG_20220429_145516.jpg

IMG_20220429_144950.jpg

IMG_20220429_145450.jpg

IMG_20220429_145453.jpg

IMG_20220429_145152.jpg

@DVDIsDead
Copy link

DVDIsDead commented Apr 29, 2022

this lcd board has a usb header.. possibly an interface to dump/load the video?

i will investigate when i get the proper alligator clips or find a way to connect them to a usb plug without soldering

heres another pic with best resolution i can get of the circuit, leaving out the half of the board the two connectors are on.

IMG_20220429_150454__01.jpg

edit: i have a few female usb-c 2.0 terminals, i might just solder one on. im going to hook the controller up and see if i get +5v out of that header (i dont know why it would have a usb host controller, maybe to install a video from a usb drive or something) if it does not give me five volts i will put a usb c port on it and connect to the computer and provide the usb vid/pid (if any) and see if i can get a dump if thats what it is for. this might take me a bit to prep and gather the courage lol

@DVDIsDead
Copy link

DVDIsDead commented Apr 30, 2022

update: the usb header did nothing, im realizing theres two resistors missing that should be connected to D+ and D-. also, the chip on the lcd, is the same chip on the controller thats connected to usb, so i think it was just to program that chip to lcd mode once upon a time. I typed the letters on the chip into google but nothing.

@DVDIsDead
Copy link

sudo lsusb -vvv --normal mode:
cortana_lsusb_normal.txt

sudo lsusb -vvv --plugged in while holding bottom two buttons (i dont know what theyre called now, but back+start traditionally)

cortana_lsusb_back-start.txt

@DVDIsDead
Copy link

after some research, i think id need one of these to dump/flash the chip? apparently one of the ps4s has the same chip as NOR, thats where i got the info.

https://www.amazon.com/Organizer-Socket-Adpter-Programmer-CH341A/dp/B07R5LPTYM/ref=pd_bxgy_img_sccl_2/132-3601218-2697254?pd_rd_w=xHjjS&pf_rd_p=6b3eefea-7b16-43e9-bc45-2e332cbf99da&pf_rd_r=3WWX96X3PQD5R0YBNQ5J&pd_rd_r=7d382a18-dfd1-471d-b1e2-422760148b39&pd_rd_wg=QmGVg&pd_rd_i=B07R5LPTYM&psc=1

any guidance or advice on the chip dump would be appreciated, never done that sort of thing before but willing to try it if i can confirm the process a bit so i dont break anything

@tuxuser
Copy link
Owner Author

tuxuser commented May 2, 2022

Thanks for all the info so far, good pictures :)

The usb port on the LCD daughterboard is very interesting! Indeed, the two resistors are required to be stuffed, to have the data lines active.

Could you measure FB2, FB3 resistors on the main PCB, right under the usb socket? Then you could put resistors with the same values on the daughterboard and see what happens on USB.

The main IC/MCU BP0F691 is mysterious...

PS: A friend already attempted to dump the flash of this controller... but his dump looked obfuscated.. the USB method however might yield a mass storage device..

Entropy of said dump.

Figure_1

@DVDIsDead
Copy link

DVDIsDead commented May 10, 2022

Thanks for all the info so far, good pictures :)

did my best. shot on OnePlus lol

Could you measure FB2, FB3 resistors on the main PCB, right under the usb socket? Then you could put resistors with the same values on the daughterboard and see what happens on USB.

main pcb as in the actual controller pcb, correct? I tried to at the time, but the multimeter I have available to me didn't even register them, I can look for a better one soon and try again.

The main IC/MCU BP0F691 is mysterious...

yea I spent a few hours researching it to no avail. especially curious because it seems to be the main chip for both boards.

interestingly, after reassembling my controller and testing it in windows, then plugging it into my linux server to get the lsusb output; every axis stopped working, and after pressing a button, the controller would just vibrate continuously, while reporting every axis was at max. I have no idea what caused this. the controller worked perfectly in halo on xemu before I plugged it into my server. I used the included cable, and I used rear a usb port on both computers, so i doubt it was a power draw issue. I also didn't touch any circuit with my multimeter with the controller plugged in.

the rational side of my brain says it was just a faulty controller, and a few reddit posts reported axis problems on the previous generation controllers. the other side, however is making me suspicious that putting it in that start+back mode on a linux machine made it go into a management mode or some crap I'm too stupid to even begin to reverse-engineer or even confirm the presence of, so I replaced it. just got it back yesterday.

just as a warning, the aforementioned latter side of my brain also makes me hesitant to open the replacement, because the Cortana's are on their last batch apparently. however measuring the resistors doesn't even require the removal of the main pcb iirc, so I'm pretty confident I can do that when I get a multimeter that isn't from the 70's or 90's (any newer one has broken since I bought them.) but if you dont own one of these, I'm seriously considering just paying for you to buy one yourself. no pressure to actually accomplish anything with it, but definitely seems like more of a possibility of getting these controllers modded with one in your possession.

TL;DR:
had to get a replacement, gimme a bit and I'll get those resistor measurements. also considering donating a controller to you if feasible. got a paypal i can send to if/when possible?

edit: any advice on where id go about buying resistors that size after I've measured them, if I decide to try it?

@tuxuser
Copy link
Owner Author

tuxuser commented Jul 8, 2022

Somewhere where they have no minimum order requirement ^^ If it's just a single value, ebay is quite handy sometimes.

@parkerlreed
Copy link

I need to take apart the GameStop exclusive green because the start and select and plugging it in is not triggering a bootloader interface.

@parkerlreed
Copy link

For anybody else running into this that is used to the Steam Deck...

Back in this case is not select it is the B button.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants