Freedom Slim Keyboard
From Openmoko
Pairing Freedom Slim Keyboard with Neo Freerunner
Use
hcitool scan hcitool dev
to know the ID of your remote and local devices
Bluez 4 method
Turn bluetooth on
mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy "Bluetooth" "enabled"
simple-agent can be found at http://git.kernel.org/?p=bluetooth/bluez.git;a=blob_plain;f=test/simple-agent;hb=HEAD" remember to chmod +x simple-agent
simple-agent hci0 $REMOTE_BT_DEVICE_ID
Enter the pin code in console Enter the pin code in device simple agent will return the route to new device paired change /org/bluez/3207/hci0/dev_00_18_00_00_C2_37 with yours
mdbus -s org.bluez /org/bluez/3207/hci0/dev_00_18_00_00_C2_37 org.bluez.Input.Connect
Bluez 3 method
echo "$REMOTE_BT_DEVICE_ID $PINCODE" > /var/lib/bluetooth/$LOCAL_BT_DEVICE_ID/pincodes dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.CreateBonding string:$REMOTE_BT_DEVICE_ID
put the pincode in the keyboard
hidd --connect $REMOTE_BT_DEVICE_ID
Test on Distributions
OM2008.12 (works)
bluez dbus totally broken, unable to pair using passkey-agent or CreateBonding method see https://docs.openmoko.org/trac/ticket/2218 workaround install bluez4
opkg install python-pygobject opkg install -force-depends -force-overwrite http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/bluez4_4.31-r3.1_armv4t.ipk /etc/init.d/dbus-1 stop /etc/init.d/bluethooth stop /etc/init.d/dbus-1 start /etc/init.d/bluetooth start hciconfig hci0 up
proceed with bluez4 method but last line will be
dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/789/hci0/dev_00_18_00_00_C2_37 org.bluez.Input.Connect
tested on openmoko-terminal2 and Message app. keyboard works fine but with issue #1
FSO 5.1 (does not work)
Use bluez 4 method The bonding is created succesfully but on X seems to not recive anything but if you shutdown X
/etc/init.d/xserver-nodm stop
the console is receiving the keystrokes but is printing garbage old https://docs.openmoko.org/trac/ticket/1796 bug????
SHR testing (works)
Use bluez 4 method tested on teminal keyboard works fine but with issue1
Troubleshooting
get hcidump
opkg install http://shr.bearstech.com/shr-unstable/ipk/armv4t/bluez-hcidump_1.42-r0_armv4t.ipk hcidump -V
ref: http://lists.openmoko.org/nabble.html#nabble-td3058408
Hackable1 (works)
Use bluez 3 method tested on openmoko-terminal2 and Abiword keyboard works fine but with issue1
FYP 3.01 (works)
Downloaded from http://opensvn.csie.org/fyp/releases/3.01/ apt-get update apt-get install bluez-utils Use bluez 3 method tested on terminal keyboard works fine but with issue1
Android Koolu beta-3 (does not work)
Bluethoth scan detects the keyboard and starts the pin dialog but the software keyboard is unable to reach meanwhile the dialog is open so unable to put the pin code
Android Michael Trimarchi uImagev13+freerunnerV14.6 (does not work)
Downladed from http://www.fragcom.de/android Bluethoth scan doesn't detect anything seems to be affected by the dialog issue too
QT extended 4.3.3 (does not work)
Use bluez 3 method Download from http://dashi-x02.karadog.net/~lihouyu/qtextended/4.4.3/ Paired successfully trough gui and shh console using bluez 3 method GUI doesn't respond to keystrokes but if you shutdown qtextended you can see the typed chars in the black screen below
Debian (not tested)
has not been tested but I supose the result will be the same as Hackable1/FYP
Om2009
(actually using freedom universal but probably the same, please add a note if you try this with the slim.)
notes
Make sure you replace the device ids with your own.
The number 1540 appears to change between connections. Use the following to find out the current number:
mdbus -s org.bluez
pairing
- switch keyboard to hid (for the universal)
- press bluetooth button
- copy simple agent (above) into simple-agent.py
chmod +x simple-agent.py mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy "Bluetooth" "enabled" /etc/init.d/bluetooth start Starting Bluetooth subsystem: bluetoothd hid2hci. hcitool scan Scanning ... 00:0B:0D:8A:35:62 FREEDOM KEYBOARD ./simple-agent.py hci0 00:0B:0D:8A:35:62 RequestPinCode (/org/bluez/1540/hci0/dev_00_0B_0D_8A_35_62) Enter PIN Code: 1111
- Type 1111 and press enter on the freedom keyboard
Release New device (/org/bluez/1540/hci0/dev_00_0B_0D_8A_35_62)
Connecting
mdbus -s org.bluez /org/bluez/1540/hci0/dev_00_0B_0D_8A_35_62 org.bluez.Input.Connect
Troubleshooting
To see the bluetooth communications:
opkg install bluez-hcidump hcidump -V
See also this thread: http://www.mail-archive.com/community@lists.openmoko.org/msg48084.html
Issues
issue 1
Just the fn+number_keys simbols don't work or prints "~" simbol but keystrokes are detected so maybe a good keyboard remap will do. Help on this will be appreciated