Difference between revisions of "PS4"

From GIMX
Jump to: navigation, search
(Setup)
Line 1: Line 1:
(work in progress)
 
 
 
==Hardware requirements==
 
==Hardware requirements==
  
Line 9: Line 7:
 
===PC===
 
===PC===
  
The only supported OS is Ubuntu 13.10 and its derivate such as Linux Mint 16.
+
The only supported OS is Ubuntu 14.04 and its derivate such as Linux Mint 17.
  
Also works with raspberry pi without gui. See below.
+
It can also work on a Raspberry Pi running Raspbian.
  
 
===Teensy 2.0===
 
===Teensy 2.0===
Line 24: Line 22:
 
In order to authenticate itself as a licensed controller, GIMX needs to be connected to real DS4 all the time.
 
In order to authenticate itself as a licensed controller, GIMX needs to be connected to real DS4 all the time.
  
==Compilation & installation==
+
==Download==
 
 
There's no installation package yet, but GIMX can be easily built from the sources.
 
 
 
Refer to the [[Development_on_Linux]] page. When typing the 'git clone' command line, replace 'master' with 'dev'.
 
 
 
==Setup==
 
 
 
The setup performs the bluetooth pairing between the PS4 and the dongle, and between the dongle and the DS4.<br />
 
It has to be run again if the DS4 is reused (i.e. paired again) with the PS4.
 
 
 
Download the helper script:
 
 
 
  wget <nowiki>https://raw.github.com/matlo/GIMX-tools/master/PS4/gimx-ps4-helper.sh</nowiki> -O gimx-ps4-helper.sh
 
 
 
Make it executable:
 
 
 
  chmod +x gimx-ps4-helper.sh
 
 
 
Run it:
 
 
 
  sudo ./gimx-ps4-helper.sh
 
 
 
Simply follow the instructions. A successful output should look like this:
 
 
 
  $ sudo ./gimx-ps4-setup.sh
 
  Unplug any Dualshock 4.
 
  Unplug any teensy.
 
  Unpug the bluetooth dongle.
 
  Then press enter.
 
 
 
  Plug the bluetooth dongle.
 
  The bluetooth dongle address is XX:XX:XX:XX:XX:XX.
 
  The bluetooth hci number is 1.
 
  Plug the DS4 with a USB cable.
 
  The DS4 address is YY:YY:YY:YY:YY:YY.
 
  Unplug the DS4.
 
  Plug the teensy.
 
  Unplug the teensy.
 
  Plug the teensy to the PS4, and wait a few seconds.
 
  Then plug the teensy back to the PC.
 
  The PS4 address is ZZ:ZZ:ZZ:ZZ:ZZ:ZZ.
 
  Everything was successful: setting dongle link keys.
 
  To run gimx, type:
 
  gimx -t DS4 -c config.xml -h 1 -b ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
 
 
 
<!--
 
==Pairing==
 
 
 
The paring is quite complex, but it only has to be done once.
 
 
 
===Dongle + DS4===
 
 
 
Plug the dongle to the PC.
 
Get the dongle bdaddr (bluetooth device address):
 
 
 
  hciconfig -a | grep "BD Address" | cut -f 3 -d ' '
 
 
 
Result example:
 
 
 
  01:02:03:04:05:06
 
 
 
Generate a link key for the DS4:
 
 
 
  date | md5sum | cut -f 1 -d ' '
 
 
 
Result example:
 
 
 
  381f87ef2a59011cb1dd29b7a67529cd
 
 
 
Plug the DS4. Set its master bdaddr:
 
 
 
  ds4tool -m <dongle bdaddr> -l <DS4 link key>
 
 
 
Example with the previous example values:
 
 
 
  ds4tool -m 01:02:03:04:05:06 -l 381f87ef2a59011cb1dd29b7a67529cd
 
 
 
Result example:
 
 
 
  Current Bluetooth master: 00:00:00:00:00:00
 
  Current Bluetooth Device Address: 07:08:09:0a:0b:0c
 
  Setting master bdaddr to 01:02:03:04:05:06
 
  Setting link key to 381f87ef2a59011cb1dd29b7a67529cd
 
 
 
The "Current Bluetooth Device Address" value is the DS4 bdaddr.
 
 
 
Unplug the DS4.
 
 
 
Set the DS4 link key:
 
 
 
  sudo bash -c "echo <DS4 bdaddr> <DS4 link key> 4 0 >> /var/lib/bluetooth/<dongle bdaddr>/linkkeys"
 
 
 
Example with the previous example values:
 
 
 
  sudo bash -c "echo 07:08:09:0a:0b:0c 381f87ef2a59011cb1dd29b7a67529cd 4 0 >> /var/lib/bluetooth/01:02:03:04:05:06/linkkeys"
 
 
 
===Dongle + PS4===
 
 
 
Plug the teensy to the PC.
 
 
 
Set the device address of the teensy:
 
 
 
  ds4tool -s <dongle bdaddr>
 
 
 
Example with the previous example values:
 
 
 
  ds4tool -s 01:02:03:04:05:06
 
 
 
Result example:
 
 
 
  Current Bluetooth master: 00:00:00:00:00:00
 
  Current Bluetooth Device Address: 00:00:00:00:00:00
 
  Setting slave bdaddr to 01:02:03:04:05:06
 
 
 
Plug the teensy to the PS4 and wait a few seconds.
 
 
 
Plug the teensy back to the PC, and type:
 
 
 
  ds4tool
 
 
 
Result example:
 
 
 
Current Bluetooth master: 0a:0b:0c:0d:0e:0f
 
Current Bluetooth Device Address: 01:02:03:04:05:06
 
Current link key: 76f5ea4f6205db412f8095094e5414c3
 
 
 
The "Current Bluetooth master" value is the PS4 bdaddr, and the "Current link key" value is the PS4 link key.
 
 
 
Unplug the teensy.
 
 
 
Set the PS4 link key:
 
 
 
  sudo bash -c "echo <PS4 bdaddr> <PS4 link key> 4 0 >> /var/lib/bluetooth/<dongle bdaddr>/linkkeys"
 
 
 
Example with the previous example values:
 
 
 
  sudo bash -c "echo 0a:0b:0c:0d:0e:0f 76f5ea4f6205db412f8095094e5414c3 4 0 >> /var/lib/bluetooth/01:02:03:04:05:06/linkkeys"
 
 
 
Restart the bluetooth service (loads the link keys):
 
 
 
  sudo service bluetooth restart
 
-->
 
 
 
==Start==
 
(i have noticed that first start is only syncing after turn off ps4 after using helper --Smurfiboy)
 
 
 
1. The bluetooth service has to be stopped before starting GIMX (this allows GIMX to get incoming connections):
 
  sudo service bluetooth stop
 
  sudo hciconfig hci<hci number> up pscan
 
<hci number> is the bluetooth hci number, for example 0 if there is only one bluetooth adapter (internal or external). Run 'hciconfig' if you're not sure about this value.
 
 
 
2. Start GIMX:
 
  gimx -t DS4 -c <config file> -h <hci number> -b <PS4 bdaddr>
 
 
 
<config file> is the name of the config file to use.<br />
 
<hci number> is the bluetooth hci number, for example 0 if there is only one bluetooth adapter (internal or external). Run 'hciconfig' if you're not sure about this value.<br />
 
<PS4 bdaddr> is the address of the PS4.<br />
 
 
 
3. Start the DS4. It should connect to GIMX, which in turn should connect to the PS4.
 
  
4. Refer to the [[Command_line]] page to learn about the other command line arguments.
+
http://gimx.fr/downloads
 +
GIMX has full support for the PS4 since version 2.00. The setup is straightforward using gimx-launcher.

Revision as of 10:07, 16 July 2014

Hardware requirements

Bluetooth dongle

A bluetooth dongle is needed. The only tested bt chip is the CSR8510 chip.

PC

The only supported OS is Ubuntu 14.04 and its derivate such as Linux Mint 17.

It can also work on a Raspberry Pi running Raspbian.

Teensy 2.0

This is a temporary requirement used for pairing the bt dongle with the PS4.

The firmware to load is available at: http://gimx.fr/download/EMUPS4.7z

Dualshock 4

The PS4 only takes inputs from licensed controller.
In order to authenticate itself as a licensed controller, GIMX needs to be connected to real DS4 all the time.

Download

http://gimx.fr/downloads GIMX has full support for the PS4 since version 2.00. The setup is straightforward using gimx-launcher.