Hi,
yesterday I made a few tests with a Logitech Bluetooth keyboard on my ET10000 and OpenPli 4.
My Bluetooth stick is from Ultron (don't know the exact type) and I connected it to one of the rear USB ports.
I just wanted to let you know my findings here.
First I had to install the Bluetooth drivers and testtools from the repository:
root@et10000:~# opkg install packagegroup-base-bluetooth Installing packagegroup-base-bluetooth (1.0-r83) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/et10000/packagegroup-base-bluetooth_1.0-r83_et10000.ipk. packagegroup-base-bluetooth: unsatisfied recommendation for kernel-module-bluetooth packagegroup-base-bluetooth: unsatisfied recommendation for kernel-module-sco packagegroup-base-bluetooth: unsatisfied recommendation for kernel-module-hidp packagegroup-base-bluetooth: unsatisfied recommendation for kernel-module-l2cap Installing bluez4 (4.101-r6) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/bluez4_4.101-r6_mips32el.ipk. Installing libusb-1.0-0 (1.0.9-r1) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/libusb-1.0-0_1.0.9-r1_mips32el.ipk. Installing libusb-0.1-4 (1:0.1.5-r0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/libusb-0.1-4_0.1.5-r0_mips32el.ipk. Installing libasound-module-bluez (4.101-r6) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/libasound-module-bluez_4.101-r6_mips32el.ipk. Installing kernel-module-bnep (3.13.8-r0.0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/et10000/kernel-module-bnep_3.13.8-r0.0_et10000.ipk. Installing kernel-module-rfcomm (3.13.8-r0.0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/et10000/kernel-module-rfcomm_3.13.8-r0.0_et10000.ipk. Installing kernel-module-hci-uart (3.13.8-r0.0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/et10000/kernel-module-hci-uart_3.13.8-r0.0_et10000.ipk. Installing kernel-module-hci-vhci (3.13.8-r0.0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/et10000/kernel-module-hci-vhci_3.13.8-r0.0_et10000.ipk. Configuring kernel-module-rfcomm. Configuring libusb-1.0-0. Configuring libusb-0.1-4. Configuring libasound-module-bluez. Configuring kernel-module-hci-uart. Configuring kernel-module-hci-vhci. Configuring kernel-module-bnep. Configuring bluez4. Configuring packagegroup-base-bluetooth. depmod: ERROR: Module 'hci_vhci' has devname (vhci) but lacks major and minor information. Ignoring.
root@et10000:~# opkg install bluez4-testtools Installing bluez4-testtools (4.101-r6) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/bluez4-testtools_4.101-r6_mips32el.ipk. Installing python-dbus (1.2.0-r0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/python-dbus_1.2.0-r0_mips32el.ipk. Installing libdbus-glib-1-2 (0.100.2-r0) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/libdbus-glib-1-2_0.100.2-r0_mips32el.ipk. Installing python-pygobject (2.27.91-r6) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/python-pygobject_2.27.91-r6_mips32el.ipk. Installing libpyglib-2.0-python0 (2.27.91-r6) to root... Downloading http://downloads.pli-images.org/feeds/openpli-4/mips32el/libpyglib-2.0-python0_2.27.91-r6_mips32el.ipk. Configuring libdbus-glib-1-2. Configuring python-dbus. Configuring libpyglib-2.0-python0. Configuring python-pygobject. Configuring bluez4-testtools. root@et10000:~# opkg files bluez4-testtools Package bluez4-testtools (4.101-r6) is installed on root and has the following files: /usr/lib/bluez4/test/hsplay /usr/lib/bluez4/test/test-serial-proxy /usr/lib/bluez4/test/simple-agent /usr/lib/bluez4/test/test-oob /usr/lib/bluez4/test/ /usr/lib/bluez4/test/test-proximity /usr/lib/bluez4/test/test-network /usr/lib/bluez4/test/test-serial /usr/lib/bluez4/test/test-input /usr/lib/bluez4/test/test-attrib /usr/lib/bluez4/test/test-device /usr/lib/bluez4/test/test-telephony /usr/lib/bluez4/test/sap-client /usr/lib/bluez4/test/test-adapter /usr/lib/bluez4/test/test-thermometer /usr/lib/bluez4/test/list-devices /usr/lib/bluez4/test/test-nap /usr/lib/bluez4/test/hsmicro /usr/lib/bluez4/test/test-sap-server /usr/lib/bluez4/test/test-manager /usr/lib/bluez4/ /usr/lib/bluez4/test/test-health-sink /usr/lib/bluez4/test/monitor-bluetooth /usr/lib/bluez4/test/test-health /usr/lib/bluez4/test/test-audio /usr/lib/bluez4/test/test-discovery /usr/lib/bluez4/test/test-service /usr/lib/bluez4/test/simple-player /usr/lib/bluez4/test/simple-endpoint /usr/lib/bluez4/test/simple-service
After a reboot start the Bluetooth daemon:
root@et10000:~# bluetoothd
Make the keyboard discoverable by pressing the reset button and scan for it:
root@et10000:~# hcitool scan Scanning ... 00:07:61:9C:E2:27 Logitech Cordless MediaBoard Pro(TM)
Then pair the device:
root@et10000:~# /usr/lib/bluez4/test/simple-agent hci0 00:07:61:9C:E2:27 RequestPinCode (/org/bluez/603/hci0/dev_00_07_61_9C_E2_27) Enter PIN Code: 0000 < also enter 0000 on the keyboard and press Return > Release New device (/org/bluez/603/hci0/dev_00_07_61_9C_E2_27)
Some of the testtools are not working out of the box so i had to modify them.
In the files test-device, test-discovery and test-manager
replace
from gi.repository import GObject
with
import gobject as GObject
Now we are able to mark the device as "trusted" so it could connect automatically next time:
/usr/lib/bluez4/test/test-device trusted 00:07:61:9C:E2:27 yes
Use the monitor tool to see if the device connects properly:
root@et10000:~# /usr/lib/bluez4/test/monitor-bluetooth {Device.PropertyChanged} [/org/bluez/578/hci0/dev_00_07_61_9C_E2_27] Connected = 1 {Input.PropertyChanged} [/org/bluez/578/hci0/dev_00_07_61_9C_E2_27] Connected = 1
View summary:
root@et10000:~# /usr/lib/bluez4/test/list-devices [ /org/bluez/578/hci0 ] Name = et10000 Powered = 1 Devices = dev_00_07_61_9C_E2_27 DiscoverableTimeout = 0 PairableTimeout = 0 Discoverable = 0 Address = 00:02:72:DC:49:B4 Discovering = 0 Pairable = 1 Class = 0 UUIDs = 0x1000 0x1001 0x1112 0x111f 0x110c 0x110e [ /org/bluez/578/hci0/dev_00_07_61_9C_E2_27 ] Product = 0xb30a Vendor = 0x046d Name = Logitech Cordless MediaBoard Pro(TM) Paired = 1 Adapter = /org/bluez/578/hci0 Alias = Logitech Cordless MediaBoard Pro(TM) Version = 0x011b Connected = 1 UUIDs = 0x1124 0x1200 Address = 00:07:61:9C:E2:27 Services = dbus.Array([], signature=dbus.Signature('o'), variant_level=1) Blocked = 0 Class = 0x002540 Trusted = 1 Icon = input-keyboard
Here is the output of /var/log/messages while doing this:
Jul 1 22:48:19 et10000 daemon.notice dbus[457]: [system] Activating service name='org.bluez' (using servicehelper) Jul 1 22:48:19 et10000 daemon.notice dbus[457]: [system] Activated service 'org.bluez' failed: Launch helper exited with unknown return code 1 Jul 1 22:48:29 et10000 daemon.info bluetoothd[578]: Bluetooth daemon 4.101 Jul 1 22:48:29 et10000 daemon.info bluetoothd[578]: Starting SDP server Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: BNEP filters: protocol Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: BNEP socket layer initialized Jul 1 22:48:30 et10000 daemon.info bluetoothd[578]: Bluetooth Management interface initialized Jul 1 22:48:30 et10000 daemon.err bluetoothd[578]: Parsing /etc/bluetooth/serial.conf failed: No such file or directory Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: RFCOMM TTY layer initialized Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: RFCOMM socket layer initialized Jul 1 22:48:30 et10000 user.info kernel: Bluetooth: RFCOMM ver 1.11 Jul 1 22:48:30 et10000 daemon.err bluetoothd[578]: Could not get the contents of DMI chassis type Jul 1 22:48:30 et10000 daemon.err bluetoothd[578]: Unknown command complete for opcode 19 Jul 1 22:48:30 et10000 daemon.info bluetoothd[578]: Adapter /org/bluez/578/hci0 has been enabled Jul 1 23:12:12 et10000 user.err kernel: hid-generic 0005:046D:B30A.0001: unknown main item tag 0x0 Jul 1 23:12:12 et10000 user.info kernel: input: Logitech Cordless MediaBoard Pro(TM) as /devices/platform/ehci-brcm.2/usb3/3-1/3-1.4/3-1.4:1.0/bluetooth/hci0/hci0:12/input3 Jul 1 23:12:12 et10000 user.info kernel: hid-generic 0005:046D:B30A.0001: input,hidraw0: BLUETOOTH HID v1.1b Mouse [Logitech Cordless MediaBoard Pro(TM)] on 00:02:72:dc:49:b4
I could use the keyboard without problems. Even after switching off and on it connected automatically.
Controlling the box only with the keyboard doesn't make very much sense because of the missing color buttons (red, green, blue, yellow) but i helps a lot when you have to enter much text.
One problem is that there is no start script in /etc/init.d for the bluetoothd. After a reboot you have to start it manually again.
If someone has a startup script or is able to write one, please let me know.
The integrated touchpad mouse did not work. I don't know what the problem is exactly:
Jul 1 23:12:12 et10000 user.err kernel: hid-generic 0005:046D:B30A.0001: unknown main item tag 0x0
I will try to connect a separate Bluetooth mouse next weekend. Looks like a mouse is only useful with the browser/HbbTV anyway, correct?
Regards,
socks
Edited by socks, 2 July 2014 - 12:24.