Hi all,

Ok, so I've managed to fix this issue by issuing the following command:

sudo hciconfig hci0 reset

after which the kb/mouse will reconnect. Once I issue that command, the errors in dmesg stop coming up as well. Placing this command in a startup script sorts it out completely. I am however, having an issue with the keyboard and mouse not working at the same time, but I don't think it is because of this issue.

I do suspect that this is an issue for all external usb devices on ubuntu only, since my internal laptop adapters work fine. And also, I haven't seen any reports of this issue on other dists.

I've looked around a bit and found the following bugs:

https://bugs.launchpad.net/ubuntu/+source/bluez-utils/+bug/79394
https://bugs.launchpad.net/ubuntu/+source/bluez-utils/+bug/133690
https://bugs.launchpad.net/ubuntu/+source/gnome-bluetooth/+bug/110375

I've also tested this on two different usb adapters (the Edimax EB-DGC2 and Trust BT120 usb which was on the Bluetooth Hardware support for Bluez list http://www.linuxgod.net/bluez-dev.html). Behaviour is identical.

I will investigate using hciconfig hci0 down and then up to see if that does the same as reset, and maybe triage a couple of those bugs.

Regards,
Alex



On 24/01/2008, Odysseus Flappington <deriziotis@gmail.com> wrote:
I posted this last week sometime, but here it is again in the hopes my desperation will yield results.

I can pair my bluetooth mouse and keyboard perfectly fine, but after rebooting, hidd doesn't re-establish the connections. I've tried re-connecting manually, but the only way to get them working again, is by re-pairing. I've tested other dongles which re-connect perfectly fine.

My dmesg displays the following messages whenever I move the mouse:

[  169.162683] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.173697] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.185666] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.196648] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.207684] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.218657] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.230635] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.231635] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.241628] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.252655] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.263642] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.275601] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42
[  169.286629] hci_acldata_packet: hci0 ACL packet for unknown connection handle 42

And my hcidump -X -V displays the following:

> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 03 fd 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 03 fd 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 01 00 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 02 fe 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 01 ff 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 02 ff 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 01 00 00                                 ......
> ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(d): cid 0x0041 len 6 [psm 0]
      0000: a1 02 00 01 00 00                                 ......
> HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 42 mode 0x00 interval 0
    Mode: Active
> HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 42 mode 0x02 interval 112
    Mode: Sniff

If I do a sudo hidd --connect [MAC] I get the following:

Can't get device information: Operation already in progress

I'm using an Edimax EB-DGC2 USB 2.0 bluetooth dongle running on Ubuntu 7.10 with bluez-utils 3.19-0ubuntu3.

This is a shame, since the Edimax manufacturer's website actually advertises linux compatibility ( http://www.edimax.co.uk/en/produce_detail.php?pd_id=127&pl1_id=13&pl2_id=43 ), but state they don't develop or maintain the drivers. Perhaps they can be contacted to help provide specs to solve the problem?

Many thanks,
Alex