I'm trying to setup my Harmony Smart Control as a PS3 Bluetooth Remote Control (it pretends to be this remote) under Ubuntu 13.10 (latest kernel and updates installed). My bluetooth dongle wouldn't work out of the box, so I had to do the following:
modprobe btusb
echo "050d 065a" >> /sys/bus/usb/drivers/btusb/new_id
After that I can pair the remote fine using Bluetooth Manager from the GUI. It's registered looking like a normal PS3 remote, according to bt-device:
root@server:/dev/input# bt-device -i "BD Remote Contol"
[00:04:20:E8:B4:B4]
Name: BD Remote Contol
Alias: BD Remote Contol [rw]
Address: 00:04:20:E8:B4:B4
Icon: undefined
Class: 0x250c
Paired: 1
Trusted: 1 [rw]
Blocked: 0 [rw]
Connected: 1
UUIDs: [HumanInterfaceDevice, PnPInformation, 00001800-0000-1000-8000-00805f9b34fb]
I can see packages coming from bluetooth for every key press like this:
root@server:/dev/input# hcidump -x -i hci0
HCI sniffer - Bluetooth packet analyzer ver 2.5
device: hci0 snap_len: 1500 filter: 0xffffffffffffffff
> ACL data: handle 11 flags 0x02 dlen 17
L2CAP(d): cid 0x0041 len 13 [psm 0]
A1 01 00 00 00 00 FF FF FF FF FF 01 05
> ACL data: handle 11 flags 0x02 dlen 17
L2CAP(d): cid 0x0041 len 13 [psm 0]
A1 01 00 00 00 FF FF FF FF FF FF 00 05
So the pairing is definitely ok and key presses are received. The device is recognised as an input device per syslog:
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
input: Bluetooth HID Boot Protocol Device as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/bluetooth/hci0/hci0:11/input14
But when I do a evtest on the device, I only get this:
root@server:/dev/input# evtest /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x46d product 0xc129 version 0x0
Input device name: "Bluetooth HID Boot Protocol Device"
Supported events:
Event type 0 (EV_SYN)
Properties:
Testing ... (interrupt to exit)
It looks to me like there is only one event type for this remote and no key press triggers it. Additional output from lsusb for my dongle below [1]. My questions:
- Is btusb the right kernel module to use?
- Why do I have to use the echo command for my dongle to be recognised by the module?
- Is there an additional configuration I need for the input layer to recognise the additional event types?
[1] lsusb output for bluetooth dongle: http://pastebin.com/xHM5YZXB