OK, so I have been messing around with the sixaxis controller and have managed to get it to be recognized as being turned on and off in bluetooth but the next step eludes me. Here is a summary of my progress:
I was following the instructions on this site: http://www.pabr.org/sixlinux/sixlinux.en.html and I have downloaded compiled and installed the latest bluetooth libraries and utilities from this site: http://www.bluez.org/download.html
I compiled and installed the lib, utils, and hcidump using:
./configure --prefix=/usr
make clean
make all
make install
on each. I patched the utils with:
wget http://www.pabr.org/sixlinux/patch-hidd-3.19-pabr3
patch ./bluez-utils-3.19/hidd/main.c patch-hidd-3.19-pabr3
before I built that code.
Now, when all of that is done I can stop the bluetooth and hidd services:
su -
service bluetooth stop
service hidd stop
I edit the /etc/bluetooth/hcid.conf to ensure it contains:
iscan disable;
pscan enable;
#auth enable;
#encrypt enable;
then restart the services (order is important, hidd should start first, then stopped otherwise you'll get an error):
service hidd start
service bluetooth start
service hidd stop
then run the hidp daemon:
hidd --server --nocheck -n
So after all this when I press the PS button on the controller (not plugged in) I can see that the controller is recognized by the hidd:
# hidd --server --nocheck -n
hidd[3218]: Bluetooth HID daemon
hidd[3218]: New HID device 00:16:FE:D7:3A:E6 (Sony Computer Entertainment Wireless Controller)
but I cannot get anything else. It registers as a joystick and creates a js0 file in /dev but when I run try to test it with:
jstest /dev/js0
I get nothing. Bluetooth only seems to register it on and off (hold PS button for ~10 secs to turn off, on with PS again). Actually the bluetooth service doesn't seem to do anything here as I achieve the same results with that service completely down (using only hidd).
The step I was not able to achieve was to compile and run the sixpair.c program from those instructions. The code is here: http://www.pabr.org/sixlinux/sixpair.c
But... when I try to compile that code with the command line:
gcc -o sixpair sixpair.c -L/usr/lib -lusb
I get a bunch of errors. Has anyone been able to compile and run the sixpair program on the PS3? I see from other sites that other linux & windows users have been able to get this to work so it sucks that we cannot get our own controller working properly. Anyone have any ideas on how to get sixpair to run?
EDIT: got it to work... I didn't have the libusb-devel package installed. Now to play some more. Here's a dump:
# gcc -o sixpair sixpair.c -L/usr/lib -lusb
# sudo ./sixpair
Current Bluetooth master: 00:1a:80:39:4a:05
Setting master bd_addr to 00:1a:80:39:4a:05





