Problems (#1) - Connection to control socket fails although Wiimote is discovered (#109) - Message List

Connection to control socket fails although Wiimote is discovered
 unsolved

Hi there,

I'm beginning to get desperate after hours of figuring out a strange problem that apparently nobody but me has ;). I have an MSI Star Key 3.0 dongle (lsusb says 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter) and I'm running Linux 2.6.27.

hcitool scan lists my Wiimote, lswm also report that it's there, but with wmgui I can't connect to it, even if I explicitly supply the BD address.

What happens is:

1. I run wmgui and choose connect from the file menu

2. I press 1+2 on the Wiimote and click OK

3. "hcitool con" now lists a connection to that BD address (< ACL 00:19:1D:91:59:DA handle 0 state 5 lm MASTER). That connection was not there before I clicked OK.

4. After a while (wmgui is still trying to connect) the lights on my Wiimote stop flashing

5. After even more time I get an error: "Socket connect error (control channel)"

6. Strangely, "hcitool con" still lists the "connection" to the Wiimote.

6. I don't know if it means anything, but as soon as I get this error, dmesg shows: hci_cmd_task: hci0 command tx timeout

I have tried the latest svn version of CWiid and compiled it with debugging symbols. I then loaded it in GDB. It seems the call to connect() in connect.c at line 116 fails.

Do you have any idea what's wrong and how to fix this? Oh, and if the problem lies in BlueZ, please tell me what the problem could be so I can bother them with it ;). Unfortunately, I don't have any other Bluetooth devices for testing.

I tried wmgui with the same Wiimote on my laptop, which has another integrated Bluetooth chip. There it's working. But I can't imagine my dongle is broken or unsupported by Linux if the Wiimote is actually discovered by it. Also, my device is listed on various lists of supported hardware.

By the way, when I use wminput, dmesg shows:

input: Nintendo Wiimote as /devices/virtual/input/input14 (of course the number varies.)

Thanks for your time and an otherwise nice program (as far as I can tell ;))

  • Message #24420

    Sounds like a BlueZ problem, but I don't have any idea what it is, specifically. The control channel is the first of two L2CAP channels opened, so neither are connecting successfully.

  • Message #24425

    Does it do the same thing with wminput? I think I've seen that error msg on my machine when I run wminput without -d.

    i.e. sudo wminput -c /etc/wminput.conf

    and right as it tries to establish the connection I get the following:

    Socket connect error (control channel)

    Alex

  • Message #24429

    I have exactly the same problem, I'm searching for a solution since one week... I tried two different Bluetooth USB-Sticks (at least one of them is able to connect to a Wiimote on Windows) but its not working on my Ubuntu. Any ideas? thanks willnix

    • Message #24433

      I had the same problem (lswm shows wiimote, but wmgui/wminput won't connect) until I switched the Linux kernel to the "old" USB Bluetooth HCI module (I'm using a Bluetooth USB dongle). Running Linux 2.6.28, bluez-libs (from Debian sid) 3.36. Could the other reporters check which kernel module they are using:

      $ zcat /proc/config.gz

      and then look for CONFIG_BT_HCIUSB ("old" module, works for me) or CONFIG_BT_HCIBTUSB ("new" module, doesn't work).

      • Message #24439

        I'm using the default Ubuntu kernel. As of 2.6.27-10 CONFIG_BT_HCIBTUSB is set. I might try compiling a kernel with the other module one of these days. Thanks for your hint!

        Edit: I just tried this on the Arch Linux installation on my notebook with the same dongle. The default Arch kernel that I'm using (2.6.27) has CONFIG_BT_HCIUSB and the Wiimote works without problems. I'm confident that it would work on my Ubuntu box as well after changing the module. Seems like we have found the culprit. A thousand thanks for the help, sgt rod :)

        Edit 2: It works with Ubuntu and a modified kernel as well. However, since btusb is apparently about to replace hci_usb, this bug should be fixed, otherwise we could end up in an even worse situation.

        • Message #24445

          I just ran into a similar problem, a thorough search of the bluez and some other mailing lists shows that it may be a kernel regression. Upgrading to 2.6.28.6 fixed the problem for me.

Attachments

No attachments created.