use GIMX on PS4 after factory reset (DS4 on usb and ps button)

General Chat, Feel Free To talk about anything here.
m121
Posts: 16
Joined: Fri Oct 05, 2018 12:37 pm

use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by m121 »

Hi,
I recently bought a cheap ps4 (because it is banned) but without ds4. It has been factory reset by the seller and now when I power it on, it is asking to plug a ds4 controller with usb cable and press the ps button (it seems to be the normal procedure after factory reset).
Right now, I just want to check if the ps4 is working well before buying a ds4 or equivalent. I have read that you can use a usb keyboard to navigate in the ps4 menus but keyboard does not work for this first time initialization.
So I am wondering if with GIMX I could simulate the USB plugged DS4 and ps button press to go to the next step (choosing language I think) and use a usb keyboard to accomplish the initial setup.
I am aware that GIMX needs a real DS4 plugged on computer for authentication, but as I said I do not have this DS4...
I have read the emups4pairing firmware code and there is no need for authentication; so do you think I could use it for my problem? Maybe the PS4 is asking to plug a DS4 with USB only to accomplish this pairing...

Note that I also don't have a GIMX adapter, but I use a linux board with USB OTG, where I am porting GIMX firmware code. This setup is more and less working with a PS3. I have made a quick attempt for the PS4 but it still not working (ps4 is asking a 0x0381 report but I don't know what it is). But this is another problem, firstly I would like to know if I can emulate this ps button without real DS4.

Thanks for your help!
Regards
User avatar
GoDlike
Posts: 1317
Joined: Thu Apr 28, 2016 12:47 pm
Location: Poland

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by GoDlike »

No you can't. You need genuine DS4 to use any of firmwares, emups4pairing and EMUPS4. DS4 needs to send authentication data.
My hardware: PS3 Slim CFW 4.80 | PS4 Pro 500 Million LE | PS5 | Xbox Series X
Steam: Godlike_RU | PSN: GoDlike_RU | XBL: GoDlike
m121
Posts: 16
Joined: Fri Oct 05, 2018 12:37 pm

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by m121 »

Hi, thanks for your answer.
Where do you see this in emups4pairing firmware? There is no serial connection at all with gimx pc software and no spoofing.
User avatar
GoDlike
Posts: 1317
Joined: Thu Apr 28, 2016 12:47 pm
Location: Poland

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by GoDlike »

It's not on main wiki page as it's not used often, we recommend connecting using usb cable.

http://gimx.fr/wiki/index.php?title=Quick_Start
In the "Output" drop-down menu, select "Bluetooth / PS4".
If no previous pairing was defined, you will be asked to create a new pairing. Click on "Yes".
As requested, connect a compatible bluetooth dongle, and click on "Yes".
As requested, connect a Dualshock 4 with a micro USB cable, and click on "Yes".
Select the pairing to use and click on "Validate".
Connect the AVR USB board (e.g. Teensy 2.0) and click on "Yes".
As requested, connect the AVR USB board to the PS4, and wait a few seconds.
Connect the AVR USB board back to the computer, and click on "Yes".
A new pairing should appear in the "Pairing" drop-down menu.
Unplug the Dualshock 4.
In the "Config" drop-down menu, select the configuration file to use.
Click on "Start".
Press on the PS button of the Dualshock 4.
Play.
Press Left Shift + Escape to quit.
My hardware: PS3 Slim CFW 4.80 | PS4 Pro 500 Million LE | PS5 | Xbox Series X
Steam: Godlike_RU | PSN: GoDlike_RU | XBL: GoDlike
User avatar
Matlo
Posts: 5768
Joined: Wed Jul 06, 2011 7:01 am
Location: France
Contact:

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by Matlo »

Moved to the discussion section. You'll go nowhere without a DS4. It is required due to authentication.
GIMX creator
m121
Posts: 16
Joined: Fri Oct 05, 2018 12:37 pm

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by m121 »

Thanks Matlo and GoDlike.
I know and understand we need a DS4 for authentication and normal use.
My question is just regarding the very first step when PS4 has been factory reseted and ask for a USB DS4 (maybe for pairing).
If I read emups4pairing, there is no need of authentication for pairing: (or maybe I do not understand the code :oops: )
https://github.com/matlo/GIMX-firmwares ... RING/emu.c

please confirm me this.

There is also in emups4pairing a static uint8_t report[] defined and used in SendNextReport(); is it used (without authentication) or is it dead code from a copy/paste?
User avatar
Matlo
Posts: 5768
Joined: Wed Jul 06, 2011 7:01 am
Location: France
Contact:

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by Matlo »

EMUPS4PAIRING is for pairing a bluetooth address with a PS4.

https://gimx.fr/wiki/index.php?title=Gu ... device=Pad
GIMX creator
m121
Posts: 16
Joined: Fri Oct 05, 2018 12:37 pm

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by m121 »

ok maybe we are not understanding each other, or maybe I do not understand very well how gimx works with ps4 in bluetooth, or my english is bad...

I will try to sum up my questions and findings. Please let me know at which steps I am wrong

1- I bought a PS4 which has been factory reseted; I do not have a DS4

2- when I turn it on, it is asking to plug a DS4 with an USB cable and press the PS button.

3- I assume this is for pairing PS4 and DS4 because I think they do not come factory paired, and user has to do it by itself the first time the PS4 is turned on. Moreover, the offcial procedure for pairing is exactly the same:
https://www.playstation.com/en-gb/get-h ... ntroller-/

4- I assume that after pressing the PS button, I will be able to finish the initial setup (choose language etc) with an USB keyboard.

5- Then I will be able to navigate in PS4 menus with the keyboard (documentation says it is possible).

6- I understand that gimx for PS4 needs a real DS4 for authentication in normal use cases

7- I think that emups4pairing is used to retrieve linkkey (needed for authentication) and give the dongle's bt address to PS4 in this way:

7a- plug gimx adapter usb otg port to PC.

7b- gimx software sends a message to the adapter with dongle's bt address. It uses a REQ_SetReport with USB_ControlRequest.wValue == 0x0312. Dongle's bt address is stored in eeprom

7c- plug gimx adapter usb otg port to PS4.

7d- ps4 asks to the adapter its bt address. It uses a REQ_GetReport with USB_ControlRequest.wValue == 0x0312. Adapter uses the value from 7b stored in eeprom. This control request also includes bt host address of the DS4. At this point the host address is a dummy one, as the adapter does not know it.

7e- ps4 gives its bt address and the linkkey. It uses a REQ_SetReport with USB_ControlRequest.wValue == 0x0313. PS4 bt address and linkkey are stored in eeprom.

7f- plug gimx adapter usb otg port to PC.

7g- gimx software asks the linkey. It uses a REQ_GetReport with USB_ControlRequest.wValue == 0x0313. Adapter uses the value from 7e stored in eeprom.

7h- maybe gimx software asks the ps4 bt address. It uses a REQ_GetReport with USB_ControlRequest.wValue == 0x0312. Adapter uses the value from 7e stored in eeprom.

7i- next steps and how DS4, bt dongle and PS4 communicates in normal use cases are unclear to me. Everything is done in bluetooth? Os DS4 is USB plugged to computer? I do not know if the bt dongle can handle 2 communications at the same time. Anyway this step needs authentication

8- steps 7c, 7d and 7e do not need authentication and are achieved without communicating with a real DS4.

9- According to this site https://www.psdevwiki.com/ps4/DS4-USB, in 7e, the control request should be 0x0314 and not 0x0313. So someone is wrong.

10- official pairing procedure asks to press PS button. In emups4pairing, the report is never modified and its value does not include a PS button pressed information. Maybe pressing PS button is only to turn on DS4, not to send a report to PS4 including information about PS button being pressed

11- steps 7c, 7d and 7e are exactly what I want to do: let the PS4 think it has paired with a DS4 (without any real DS4) and go to step 4.

So my main concern is to achieve step 2 without official DS4. I know that step 4 is pure speculation.
But please comment any of my step to help my understand what is happening and where I am wrong!

Thanks a lot
User avatar
GoDlike
Posts: 1317
Joined: Thu Apr 28, 2016 12:47 pm
Location: Poland

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by GoDlike »

You can't do anything without genuine DS4. Console is protected from normal access, it won't accept anything until you pass authentication packet from controller.
My hardware: PS3 Slim CFW 4.80 | PS4 Pro 500 Million LE | PS5 | Xbox Series X
Steam: Godlike_RU | PSN: GoDlike_RU | XBL: GoDlike
m121
Posts: 16
Joined: Fri Oct 05, 2018 12:37 pm

Re: use GIMX on PS4 after factory reset (DS4 on usb and ps button)

Post by m121 »

Hi Godlike and thanks for your answer.
As I said maybe we do not understand each other.
Could you please argue your answer? It seems to refer to my step 8, where I think that there is no need for authentication for pairing.
I am saying that because I read emups4pairing code (have you read it?) and as I understand there is nothing here about authentication. But maybe I am wrong so please tell me where in this code authentication is used.
Post Reply