GIMX for PS4

On this post, I’ll try to summarize how i try to install GIMX to ubuntu 13.10.

Ubuntu About Screen
Ubuntu Screen

Check if build tools installed

koray@koray-ubuntu:~/gimx/GIMX$ sudo apt-get install git g++ libwxgtk2.8-dev libbluetooth-dev libglib2.0-dev libxml2-dev libusb-dev libusb-1.0-0-dev libncursesw5-dev gettext xterm xdg-utils libmhash-dev
[sudo] password for koray: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
g++ is already the newest version.
gettext is already the newest version.
git is already the newest version.
libbluetooth-dev is already the newest version.
libmhash-dev is already the newest version.
libncursesw5-dev is already the newest version.
libusb-1.0-0-dev is already the newest version.
libusb-dev is already the newest version.
libxml2-dev is already the newest version.
xdg-utils is already the newest version.
xterm is already the newest version.
libglib2.0-dev is already the newest version.
libwxgtk2.8-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Get the latest version from github.

koray@koray-ubuntu:~/gimx/GIMX$ git pull
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 1 (delta 0)
Unpacking objects: 100% (5/5), done.
From https://github.com/matlo/GIMX
   0678f8a..8ca68b1  dev        -> origin/dev
Updating 0678f8a..8ca68b1
Fast-forward
 core/connectors/btds4.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Build and install GIMX

koray@koray-ubuntu:~/gimx/GIMX$ make -j 2
->completed without errors
......
koray@koray-ubuntu:~/gimx/GIMX$ sudo make install
->installed without errors

Setting input device permissions

sudo su

groupadd -f input

echo "KERNEL==\"event*\", NAME=\"input/%k\", MODE:=\"660\", GROUP=\"input\"" > /etc/udev/rules.d/99-gimx-input.rules
echo "KERNEL==\"js*\", NAME=\"input/%k\", MODE:=\"664\", GROUP=\"input\"" >> /etc/udev/rules.d/99-gimx-input.rules
chgrp -f input /dev/input/event* /dev/input/js*

chgrp input /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial
chmod g+s /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial

exit

and from now on, it’s all described at gimx wiki

root@koray-ubuntu:~/.emuclient#  hciconfig -a | grep "BD Address" | cut -f 3 -d ' '
00:1A:7D:DA:71:0F
00:1A:7D:DA:71:12


root@koray-ubuntu:~/.emuclient#  date | md5sum | cut -f 1 -d ' '
03e4320baf14e08283a151e8ec6d2804

root@koray-ubuntu:~/.emuclient# ds4tool -m 00:1A:7D:DA:71:0F -l 03e4320baf14e08283a151e8ec6d2804
Current Bluetooth master: 00:1A:7D:DA:71:0F
Current Bluetooth Device Address: A4:15:66:C7:05:2C
Setting master bdaddr to 00:1A:7D:DA:71:0F
Setting link key to 03e4320baf14e08283a151e8ec6d2804

root@koray-ubuntu:~/.emuclient# sudo bash -c "echo A4:15:66:C7:05:2C 03e4320baf14e08283a151e8ec6d2804 4 0 >> /var/lib/bluetooth/00:1A:7D:DA:71:0F/linkkeys"

root@koray-ubuntu:~/.emuclient# ds4tool -s 00:1A:7D:DA:71:0F
Current Bluetooth master: B0:05:94:7D:53:76
Current Bluetooth Device Address: 00:1A:7D:DA:71:0F
Current link key: 081831B58A6F82543C5D9BC90C7C553F
Setting slave bdaddr to 00:1A:7D:DA:71:0F

root@koray-ubuntu:~/.emuclient# ds4tool
Current Bluetooth master: B0:05:94:7D:53:76
Current Bluetooth Device Address: 00:1A:7D:DA:71:0F
Current link key: 081831B58A6F82543C5D9BC90C7C553F

root@koray-ubuntu:~/.emuclient# sudo bash -c "echo B0:05:94:7D:53:76 081831B58A6F82543C5D9BC90C7C553F 4 0 >> /var/lib/bluetooth/00:1A:7D:DA:71:0F/linkkeys"

root@koray-ubuntu:~/.emuclient# sudo service bluetooth restart
stop: Unknown instance: 
bluetooth start/running, process 15161

root@koray-ubuntu:~/.emuclient# sudo service bluetooth stop
bluetooth stop/waiting

root@koray-ubuntu:~/.emuclient# sudo hciconfig hci0 up pscan

root@koray-ubuntu:~/.emuclient# gimx -t DS4 -c Battlefield3-PS3.xml -b B0:05:94:7D:53:76
option -t with value `DS4'
option -c with value `Battlefield3-PS3.xml'
option -b with value `B0:05:94:7D:53:76'
using default refresh period: 10.00ms

This is what happens if i try to turn on DS4:

ioctl HCIGETCONNINFO: No such file or directory
error writing ps4 sdp

it is the same teensy which i used succesfully for ps3.
photo

Actual Atmel controller of teensy
grab2014-03-08_22-52-40_587