All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bluez-users] ps3 sixaxis & bluez 3.22: HDI issue
@ 2007-11-20 16:34 Frédéric Blain
  2007-11-20 16:01 ` Adam Strojek
  0 siblings, 1 reply; 4+ messages in thread
From: Frédéric Blain @ 2007-11-20 16:34 UTC (permalink / raw)
  To: bluez-users

[-- Attachment #1: Type: text/plain, Size: 3631 bytes --]


Hello,

I'm experiencing an issue while trying to use the Sony PS3 sixaxis under 
Linux (Gentoo). The host machine is a PS3, I use bluez 3.22 out of the
box (no patches) on a 64 bits kernel. I followed the documentation at
http://www.pabr.org/sixlinux/

This is my first bluetooth/Bluez experience, so please forgive if I use 
the wrong term or if I ask stupid questions ...


==== Problem Description ====

The sixaxis is not recognized by bluetoothd-service-input.
According hcidump, a connection is made from the device (sixaxis)
to the host controler but when trying to contact HDI on control
channel (PSM 17),  bluetoothd-service-input generate an error:
"HIDP: Control: Virtual cable unplug".

As a consequence, the device try few more times to establish the 
connection and then give up. Sixaxis is never recognized and
created on the host.


==== Investigations ====

Attaching GDB to the running hcid and bluetoothd-service-input 
processes, I've isolated the following behavior :

**** bluetoothd-service-input side ****
At startup, it setup the callback mechanism from l2cap control
(psm 17) & interrupt (psm 19) sockets to the function
connect_event(). Later, when the device ask to open the psm 17 on
l2cap, connect_event() is called. Then :

connect_event()  ==call=> input_device_set_channel() ==call==> 
find_device() ==use==> GSList *devices;

In my case, GSList *devices is NULL, so connect_event() do a /* Send 
unplug virtual cable to unknown devices */.

This point out that:
  1- The device structure for the sixaxis has not been created
  2- Having a device structure is a requirement to use HID


**** hcid side ****
Everything looks good here.
Once the device has completed the connection with hcid, the function 
conn_complete() is called.

This one will :
  + Send a dbus system signal via hcid_dbus_conn_complete() :
     signal sender=:1.3 -> dest=(null destination) path=/org/bluez/hci0; interface=org.bluez.Adapter; member=RemoteDeviceConnected
  + Read the remote name of the device



**** dbus side ****
Everytime the sixaxis tries to establish a connection with the host, the 
following messages appear :

signal sender=:1.3 -> dest=(null destination) path=/org/bluez/hci0; interface=org.bluez.Adapter; member=RemoteDeviceConnected
   string "00:19:C1:ED:21:31"
signal sender=:1.3 -> dest=(null destination) path=/org/bluez/hci0; interface=org.bluez.Adapter; member=RemoteNameUpdated
   string "00:19:C1:ED:21:31"
   string "PLAYSTATION(R)3 Controller"
signal sender=:1.3 -> dest=(null destination) path=/org/bluez/hci0; interface=org.bluez.Adapter; member=RemoteDeviceDisconnected
   string "00:19:C1:ED:21:31"



**** Other ****
Just to be sure, the pairing has been done using sixpair.c => same issue
I've tested with the CVS versions of hcid and bluetoothd-service-input => same issue.


==== Need Help :/ ====

Could someone explains me what should be the process to establish a HID 
connection via Bluez ?

I think bluetoothd-service-input should listen signals from 
/org/bluez/hci0 and create a device structure when a
RemoteDeviceConnected signal is intercepted, but it doesn't seem to
work like this.

In bluetoothd-service-input, in which step of this process should the 
create_device() function be called ?

Did I miss a something ?


Please find in attachment :
  + Output of "hcidump -w" while trying to establish a connection
  + Output of "dbus-monitor --system --monitor" while trying to establish a connection
  + Output of syslog while trying to establish a connection

# dbus-daemon --version
D-Bus Message Bus Daemon 1.0.2

Thanks in advance for your help,

-- 
creber





[-- Attachment #2: sixaxis-logs.tbz2 --]
[-- Type: application/octet-stream, Size: 7809 bytes --]

[-- Attachment #3: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

[-- Attachment #4: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-23 20:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-20 16:34 [Bluez-users] ps3 sixaxis & bluez 3.22: HDI issue Frédéric Blain
2007-11-20 16:01 ` Adam Strojek
2007-11-20 17:22   ` Frédéric Blain
     [not found]     ` <c74b6b3d0711200832p56188bc9g87060e3b69df33a@mail.gmail.com>
2007-11-23 20:13       ` Frédéric Blain

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.