Re: Can't connect a Xbox one controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2017-11-09 at 14:49 +0100, Bastien Nocera wrote:
> On Wed, 2016-08-24 at 11:02 -0300, Vinicius Costa Gomes wrote:
> > Hi,
> > 
> > Anthony Bourguignon <contact@xxxxxxxxxx> writes:
> > > > 
> > > > No. It could be a bug in the xbox controller. But I need to
> > > > take
> > > > a
> > > > closer look at the specification to be really sure.
> > > 
> > > Can I be of any help ?
> > 
> > Attached is a patch that disables negotiating Flow Control and
> > Retransmission parameters for the SDP channel only. This is a shot
> > in
> > the dark, as I could find nothing in the specification that advises
> > against the current BlueZ behaviour.
> > 
> > Could you give it a try? (but I don't have high hopes for it)
> > 
> > This is looking more like a bug in the controller.
> 
> Hi,
> 
> It's getting hit during pairing, but this isn't enough to get it
> working.
> 
> I also combined it with vudentz' patch in the "Continuing the Xbox
> One
> Bluetooth controller debugging" thread (called "Bluetooth: L2CAP:
> Ignore Unknown option error for basic mode") and that wasn't enough
> to
> get it working either.
> 
> I think that the fix would be to not try and upgrade the connection
> to
> ERTM at all on this device, but I don't know how I could pass this
> information down the stack to the l2cap code. Any ideas?

Here's the btmon output of a pairing attempt.

Cheers
btsnoop�;;�����nux version 4.14.0-0.rc8.git1.1.bt2.fc28.x86_64 (x86_64)!!�����uetooth subsystem version 2.22����Dhci0���
����D�����memcheck-amd64-�����memcheck-amd64-�����btmonAA��
��=
"bluetoothdsrc/device.c:btd_device_set_temporary() temporary 066��
��=4bluetoothdsrc/agent.c:agent_ref() 0x85db170: ref=2YY��
��="vbluetoothdsrc/device.c:bonding_request_new() Requesting bonding for C8:3F:26:80:BA:7166��
��='bluetoothdsrc/agent.c:agent_ref() 0x85db170: ref=388��
��=*bluetoothdsrc/agent.c:agent_unref() 0x85db170: ref=200��
��=/>bluetoothdsrc/adapter.c:suspend_discovery() ff��
��=2�bluetoothdsrc/adapter.c:adapter_bonding_attempt() hci0 bdaddr C8:3F:26:80:BA:71 type 0 io_cap 0x04��=;{3q��&?���=;�q��&?���=;�q��&?���=;�3q��&?�``��
��=B1bluetoothdsrc/adapter.c:add_whitelist_complete() C8:3F:26:80:BA:71 added to kernel whitelist��=D�q��&?���=EK
q��&?����=G���TB�&

��TNvq��&?���TO���TU���Ti�

��Ty!�>���{���Ty���T}��T�j#


��T��
q��&?���T�B��U0�q��&?�box Wireless Controller22��U1-q��&?�	Xbox Wireless Controller
22��U1-q��&?�	Xbox Wireless Controller
22��U1-q��&?�	Xbox Wireless Controller
��U1R��U4�cc��
��U7{bluetoothdsrc/adapter.c:connected_callback() hci0 device C8:3F:26:80:BA:71 connected eir_len 31��U8vq��&?�		��U8�q��&?���U<a
q��&?���U@?1q��&?���U@a+	q��&?���UD3
+q��&?���U�2	q��&?���Yz�
q��&?�		��Y{�,q��&?���Y~J
,q��&?�		��_�6q��&?���_�q��&?�J]�\���  ��_�	q��&?�J]�\���  ��_�	q��&?�J]�\���  ��_�	q��&?�J]�\�����_���_ϛ��_�tt��
��_Ӽbluetoothdsrc/adapter.c:new_link_key_callback() hci0 new key for C8:3F:26:80:BA:71 type 4 pin_len 0 store_hint 1��`%X��`%�//��
��`'�bluetoothdsrc/device.c:device_set_bonded() 		��`)7��`)|q��&?���`)�

RR��
��`-&bluetoothdsrc/device.c:device_bonding_complete() bonding 0x8db8c90 status 0x00VV��
��`1?bluetoothdsrc/device.c:device_bonding_complete() Proceeding with service discovery��`4�88��
��`M6bluetoothdsrc/agent.c:agent_unref() 0x85db170: ref=1//��
��`O�uetoothdsrc/adapter.c:resume_discovery() AA��
��`U6bluetoothdsrc/adapter.c:pair_device_complete() Success (0x00)ff��
��`Y�bluetoothdsrc/adapter.c:bonding_attempt_complete() hci0 bdaddr C8:3F:26:80:BA:71 type 0 status 0x0NN��
��`_;bluetoothdsrc/device.c:device_bonding_complete() bonding (nil) status 0x00//��
��``�bluetoothdsrc/adapter.c:resume_discovery() ��`����`�<@��`ю��a��@@��a�Y@��a�u!@���a��
@���a���a�!
@��a����a�@5��5
����a�����b!��@{w6�5�	
	5	
	5
5	5	5	5		en	j			55		%	%	%				^		���b�@5��5
����bg�����b��!��@{w			(		67	
	5$	
	5
5	5	5	5		en	j			55$		
55
5	5	��b��@5��5
����b�����b��!��@{w%Xbox Bluetooth Gamepad	%Gamepad	%Microsoft Corporation					@	!	(	(	6:67"&2	����b��@5��5
����b������b�j!��@{w	�	0	1'���u���	3	4'���u��	2&��u
�%u��	5&��u
�%u��	9%5F;fu��Bu���b¡@5��5
����b�����b�!��@{w%5Ee�	)
%u�
�%u��	���	�%�u�%u���	!��	�%u��%u��	p%du��	PfU��bۃ@5��5
����b�~~��b�zv@qn&�u��	�&�u��eU	|&�u���	 &�u���55				(		(	
(				�	
(	(��c�@5��5
����d_f����d��!��@{w5�5�	
	5	
	5
5	5	5	5		en	j			55		%	%	%				^		���d�[@5��5
����d���d�!@			(		``��
��e,5bluetoothdsrc/device.c:device_probe_profiles() Probing profiles for device C8:3F:26:80:BA:71cc��
��e2ubluetoothdprofiles/input/device.c:input_device_register() /org/bluez/hci0/dev_C8_3F_26_80_BA_71>>��
��e4|bluetoothdsrc/service.c:btd_service_ref() 0x8e88a50: ref=2����
��e6�bluetoothdsrc/service.c:change_state() 0x8e88a50: device C8:3F:26:80:BA:71 profile input-hid state changed: unavailable -> disconnected (0)\\��
��eDObluetoothdsrc/device.c:device_svc_resolved() /org/bluez/hci0/dev_C8_3F_26_80_BA_71 err 0����@@����\����!@@���X����_>�������Ɖq��&?����Ɖq��&?����Ɖq��&?�

���Ƨq��&?�

���Ƨq��&?�

���Ƨq��&?����ƺ����q��&?�^^��
����bluetoothdsrc/adapter.c:dev_disconnected() Device C8:3F:26:80:BA:71 disconnected, reason 288��
����bluetoothdsrc/adapter.c:adapter_remove_connection() 77��
����bluetoothdplugins/policy.c:disconnect_cb() reason 2ff��
����bluetoothdsrc/adapter.c:bonding_attempt_complete() hci0 bdaddr C8:3F:26:80:BA:71 type 0 status 0xeNN��
����bluetoothdsrc/device.c:device_bonding_complete() bonding (nil) status 0x0e<<��
����bluetoothdsrc/device.c:device_bonding_failed() status 14//��
����luetoothdsrc/adapter.c:resume_discovery() KK��
����bluetoothdsrc/adapter.c:unpaired_callback() hci0 addr C8:3F:26:80:BA:71AA��
���Y�bluetoothdsrc/device.c:btd_device_set_temporary() temporary 1``��
���d�bluetoothdsrc/device.c:device_remove() Removing device /org/bluez/hci0/dev_C8_3F_26_80_BA_71����
���i�bluetoothdsrc/service.c:change_state() 0x8e88a50: device C8:3F:26:80:BA:71 profile input-hid state changed: disconnected -> unavailable (0)ee��
���n�bluetoothdprofiles/input/device.c:input_device_unregister() /org/bluez/hci0/dev_C8_3F_26_80_BA_71@@��
���wsbluetoothdsrc/service.c:btd_service_unref() 0x8e88a50: ref=1@@��
���|bluetoothdsrc/service.c:btd_service_unref() 0x8e88a50: ref=0bb��
�����bluetoothdsrc/device.c:btd_device_unref() Freeing device /org/bluez/hci0/dev_C8_3F_26_80_BA_7122��
����bluetoothdsrc/device.c:device_free() 0x8d4c8e0

����4q��&?�

����q��&?�

����q��&?�����4q��&?�gg��
���	bluetoothdsrc/adapter.c:remove_whitelist_complete() C8:3F:26:80:BA:71 removed from kernel whitelist���fq��&?����qq��&?�

���tq��&?�

���tq��&?�

[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux