Re: connecting to a Motion 2in1 wiimote clone

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

 



Hi Kameron,

On Fri, Aug 29, 2014 at 1:47 AM, Kameron Larsen <kroylar@xxxxxxxxx> wrote:
> Hello all,
>
> I'm having some difficulty in scanning and connecting to a device
> using bluetoothctl. The device in question is a Motion 2in1 Wiimote.
> Its basically a cheap chinese wiimote clone.
>
> When I try to scan using bluetoothctl the device never shows up. When
> I try to scan using "hcitool scan --iac=liac", the device shows up as:
>
> 2A:04:84:80:13:41 Nintendo RVL-CNT-01

That is strange bluetoothctl should see the device as well.

> The device cannot be connected to in bluetoothctl but I can connect
> using "hcitool cc 2A:04:84:80:13:41". If I connect using hctitool and
> then immediately use "pair 2A:04:84:80:13:41" in bluetoothctl. It
> looks like the device pairs but the wiimote disconnects before
> finishing the process. If I then run "trust 2A:04:84:80:13:41",
> bluetoothctl will show that the device connects anytime I press any
> button, and then shortly disconnects.
>
> hcidump reveals that the something is wating for additional data but
> it is not receiving what it expects.  Because this data was never
> received the pairing process is left incomplete. However I can
> reconnect by pressing any button on the remote. Whenever I do, it will
> automatically disconnect after several seconds.

Have to register an agent to do the pairing? You should be able to do
that with bluetoothctl:

agent on
default-agent

> Scouring the code, I've come to realize that this remote is not
> responding to sdp queries and therefore bluez does not know what
> services it supports. My logs show this error:
>
> 2A:04:84:80:13:41: error updating services: Input/output error (5)
>
> Without knowing the services (ie, HID) it fails in connect_event_cb
> with the following error:
>
> Refusing input device connect: No such file or directory (2)

It seems some, or perhaps most, gaming controllers do not have SDP
working properly but first check if you are really able to pair
properly because if you don't we wont be able to discover what service
the remote device support.

In case the pairing actually works but we still fail to resolve the
services you can create a custom plugin that upon detecting it is this
specific device generates a proper SDP record and add HID UUID via
btd_device_add_uuid.


-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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