ANN: Bluetooth HID profile for Android is implemented in 0xdroid

199 views
Skip to first unread message

Jim Huang

unread,
Jun 21, 2010, 11:05:10 PM6/21/10
to 0xlab-devel
Hello list,

As you might notice, Erin at 0xlab is working on Bluetooth HID (Human
Interface Device) profile for Android, and the implementation is
already checked into GIT repository. Please follow the activity in gitorious:
http://gitorious.org/0xdroid

Right now, Bluetooth HID devices, such Apple Wireless Keyboard and
usual Bluetooth mouse, are supported through Android's bluetooth
stack powered by BlueZ. The work was based on the contributions in
OESF (Open Embedded Software Foundation)'s EM1, which is dedicated
to Donut. Erin continues working on the reworked version for Eclair.
We have already verified on Beagleboard and Qualcomm MSM72xx
platform.

However, we suffer from incoming issues about input method flexibility
and potential Android framework designs. Feel free to submit issues
to us or directly discuss with us.

If you are interested in other Bluetooth profiles like SPP(Serial Port
Profile) and DUN(Dial-Up Network Profile), please track this issue as
well:
http://code.google.com/p/0xdroid/issues/detail?id=102

Sincerely,
Jim Huang (jserv)
http://0xlab.org/

Erin Yueh

unread,
Jun 22, 2010, 3:26:40 AM6/22/10
to 0xlab...@googlegroups.com
Hi all,

I also wrote a post in my blog. If you have interest, you may read for
reference. Thanks!
http://i-miss-erin.blogspot.com/2010/06/add-bluetooth-hid-profile-in-android.html

Regards,
Erin Yueh
http://0xlab.org

bgbg bgbg

unread,
Jun 29, 2010, 4:21:52 AM6/29/10
to 0xlab...@googlegroups.com
Hi Erin,

We think it needs to config input mouse in Kernel to support Bluetooth
mouse via HID profile.

CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

BRs,
Terry

2010/6/22 Erin Yueh <erin...@gmail.com>:

> --
> You received this message because you are subscribed to the Google Groups "0xlab-devel" group.
> To post to this group, send email to 0xlab...@googlegroups.com.
> To unsubscribe from this group, send email to 0xlab-devel...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/0xlab-devel?hl=en.
>
>

Erin Yueh

unread,
Jun 30, 2010, 1:25:49 AM6/30/10
to 0xlab...@googlegroups.com
Hi Terry,

Yes, we set these config in 0xlab-kernel for beagle board.
http://gitorious.org/0xlab-kernel/kernel/blobs/master/arch/arm/configs/omap3_beagle_defconfig

Regards,
Erin Yueh
http://0xlab.org

Tim

unread,
Jul 5, 2010, 4:05:52 AM7/5/10
to 0xlab-devel
Nice work!
Did you port DUN to Eclair from OESF? Now, I want to port DUN to
Eclair.

About unabling to create HID input device issue, you can find -
DSTORAGEDIR=\"/data/misc/bluetoothd\" in Android.mk of input.so and -
DSTORAGEDIR=\"/tmp\" in Android.mk of hidd.
Because the STORAGEDIR path (=/tmp) of hidd is read-only, BlueZ will
enable HID boot protocol which supports keyboard and mice basic
operation.
If the STORAGEDIR path can be written, the device info from SDP will
be stored in this path.
Then, BlueZ will enable HID report protocol and Linux kernel HID
driver will try to find the matched input device driver according to
HID device info report.
That's why the device can't work until you compile the related input
device drivers in.

B.R.
Tim

On 6月22日, 下午3時26分, Erin Yueh <eriny...@gmail.com> wrote:
> Hi all,
>
> I also wrote a post in my blog. If you have interest, you may read for
> reference. Thanks!http://i-miss-erin.blogspot.com/2010/06/add-bluetooth-hid-profile-in-...
>
> Regards,
> Erin Yuehhttp://0xlab.org

Erin Yueh

unread,
Jul 5, 2010, 4:33:35 AM7/5/10
to 0xlab...@googlegroups.com
Hi Tim,

Nope, I didn't port DUN to Eclair yet. Are you working on it? If you
finish it, it would be great to send us your patches. :)

Thanks for your post! Finally, I know why I can only connect with a
HID Boot Protocol Device with hidd command, not an Apple keyboard.
Actually, both of them can work normally.

DSTORAGEDIR=\"/tmp\" in Android.mk of hidd

# hidd --show
00:1D:4F:A7:9A:49 Bluetooth HID Boot Protocol Device [0000:0000]
connected [boot-protocol]

DSTORAGEDIR=\"/data/misc/bluetoothd\" in Android.mk of hidd
# hidd --show
00:1D:4F:A7:9A:49 Apple Inc. Keyboard [05ac:022c] connected


Regards,
Erin Yueh
http://0xlab.org

skchen

unread,
Jul 15, 2010, 4:42:05 AM7/15/10
to 0xlab-devel
Hi Erin:

Do you ever tried to connect Microsoft mouse 5000 and 8000?
We have problems connecting both of them after we implemented the HID
profile on Android Eclair, but for ASUS N554 and Logitech travel laser
it runs well.
We see below link and found this kind of issue even happens in Ubuntu
Jaunty,
https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/343727
However, their conclusion is to use hidd -- search but as you know
it's not valid if we want to connect the mouse from UI in Android.
Someone found they can use 2.6.28 kernal with 4.45 and 4.46 BlueZ to
solve the problem in Ubuntu but we can only use 2.6.29 kernal for
Android Eclair.
So we'd like to know if you also meet this problem which might be
kernal or BlueZ version related.

Best Regards.
skchen

On 7月5日, 下午4時33分, Erin Yueh <eriny...@gmail.com> wrote:
> Hi Tim,
>
> Nope, I didn't port DUN to Eclair yet. Are you working on it? If you
> finish it, it would be great to send us your patches. :)
>
> Thanks for your post! Finally, I know why I can only connect with a
> HID Boot Protocol Device with hidd command, not an Apple keyboard.
> Actually, both of them can work normally.
>
> DSTORAGEDIR=\"/tmp\" in Android.mk of hidd
> # hidd --show
> 00:1D:4F:A7:9A:49 Bluetooth HID Boot Protocol Device [0000:0000]
> connected [boot-protocol]
>
> DSTORAGEDIR=\"/data/misc/bluetoothd\" in Android.mk of hidd
> # hidd --show
> 00:1D:4F:A7:9A:49 Apple Inc. Keyboard [05ac:022c] connected
>
> Regards,
> Erin Yuehhttp://0xlab.org

Erin Yueh

unread,
Jul 15, 2010, 5:26:55 AM7/15/10
to 0xlab...@googlegroups.com
Hi skchen,

No, I don't have any microsoft bluetooth mice here and not sure about
its status in Android or Ubuntu. I've tried Genius Naviigator 905BT
mouse, Logitech BT Laser travel mouse, and Apple Wireless Keyboard in
Qualcomm platform without problem. I am using 0xlab kernel version
2.6.32 and bluez version 4.47.


Regards,
Erin Yueh
http://0xlab.org

skchen

unread,
Jul 15, 2010, 5:59:16 AM7/15/10
to 0xlab-devel
Hi Erin:

So you are actually porting Froyo, right? Since both Eclair BSP we
have on hands are 2.6.29 kernal.

Best Regards.
skchen

On 7月15日, 下午5時26分, Erin Yueh <eriny...@gmail.com> wrote:
> Hi skchen,
>
> No, I don't have any microsoft bluetooth mice here and not sure about
> its status in Android or Ubuntu. I've tried Genius Naviigator 905BT
> mouse, Logitech BT Laser travel mouse, and Apple Wireless Keyboard in
> Qualcomm platform without problem. I am using 0xlab kernel version
> 2.6.32 and bluez version 4.47.
>
> Regards,
> Erin Yuehhttp://0xlab.org

Erin Yueh

unread,
Jul 15, 2010, 6:07:54 AM7/15/10
to 0xlab...@googlegroups.com
Hi skchen,

This work about adding Bluetooth HID profile can work in both Eclair
and Froyo. I committed my code to beagle-eclair branch in 0xdroid
project and Cyanogen also accepted my patch in their Froyo branch.

0xlab kernel code is here:
http://gitorious.org/0xlab-kernel

Regards,
Erin Yueh
http://0xlab.org

Reply all
Reply to author
Forward
0 new messages