Sony Sisxaxis device, pairing without pairing, and bluetooth HID connection timeouts
Sony Sisxaxis device, pairing without pairing, and bluetooth HID connection timeouts
- Subject: Sony Sisxaxis device, pairing without pairing, and bluetooth HID connection timeouts
- From: Blueberry <email@hidden>
- Date: Mon, 28 May 2007 09:29:28 +1000
Hi, I am writing a set of user space tools to make use of Sony's
Sixaxis controller's from Tiger.
This device has a few quirks. It doesn't accept incoming connections,
it doesn't send valid hid reports until issued a hid feature request
asking it to change to its "operational" mode, and it doesn't support
the normal bluetooth pairing procedure.
Pairing is done like this: The Sixaxis is connected to host via USB
cord. Host detects Sixaxis device and sends a get_report feature type
request over USB with a report id of 0xF2, sixaxis returns data we do
not know the meaning of but is never the less in operational mode now
and can be used as a USB HID device after pushing the PS button on
the controller. Host then issues a set_report feature type request,
with a report id of 0xF5, and a buffer containing the following
bytes: 0x01, 0x00, and then six bytes representing the BD_ADDR of the
host computer/playstation.
This is all implemented and working, the trouble is when trying to
turn on the device. The sixaxis will connect to the mac host and
seems to go through all the procedures for connecting and
initializing. Then one minute and two seconds (on my macbook) after
the sixaxis first started the connection, the mac will tell it to
disconnect, it obeys, the bluetooth chip in the mac change to idle,
and the lights on the Sixaxis go dark, apparently completely shut
off. Note that the initial connection takes about two seconds, so it
appears to disconnect after precisely one minute of inactivity.
This timeout is problematic because we want the device to stay
connected so applications and games will be able to connect with it
and receive reports. How would this be avoided? If a user space
application were to open a hid interface to the sixaxis might that be
enough to keep it from being disconnected by inactivity? Would that
tool also need to actively request reports every 50 seconds or so to
keep it from timing out or merely have a reference to the device in
its memory?
Also, is it at all an issue that the mac seems to not consider the
sixaxis device paired, as its never gone through a traditional
passkey based pairing procedure. Would it be worthwhile to try to
mess with blued's configuration plist's to convince it that the
device is paired, and then kill it to get the daemon to restart and
reread those files? I would rather avoid this if its not likely to
bring any benefits as requiring a root password and messing with
things like that will make me and surely my users squeamish.
---
Jenna Fox
Way prettier than that Colin Munro guy
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden