Freedom Slim Keyboard

From Openmoko

Revision as of 01:38, 25 June 2009 by Tim abell (Talk | contribs)

Jump to: navigation, search

Contents

Pairing Freedom Slim Keyboard with Neo Freerunner

Neo and Slim Kbd

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

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.)

  • 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)

That should be it paired.

Connecting:

mdbus -s org.bluez /org/bluez/1540/hci0/dev_00_0B_0D_8A_35_62 org.bluez.Input.Connect

For debugging:

opkg install bluez-hcidump
hcidump -V

Make sure you use your own device ids.

Note that the number 1540 appears to change between reboots. Use the following to list devices:

mdbus -s org.bluez

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

Personal tools

Pairing Freedom Slim Keyboard with Neo Freerunner

Neo and Slim Kbd

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

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.)

  • 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)

That should be it paired.

Connecting:

mdbus -s org.bluez /org/bluez/1540/hci0/dev_00_0B_0D_8A_35_62 org.bluez.Input.Connect

For debugging:

opkg install bluez-hcidump
hcidump -V

Make sure you use your own device ids.

Note that the number 1540 appears to change between reboots. Use the following to list devices:

mdbus -s org.bluez

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