OBEX integration in 0xdroid

126 views
Skip to first unread message

Jim Huang

unread,
Sep 3, 2009, 2:19:56 AM9/3/09
to 0xlab...@googlegroups.com, er...@0xlab.org
Hello Erin and list,

As expected, 0xdroid[1] is the effort from 0xlab[2] to aggregate the
open source resources into several hardware platforms like
Beagleboard.
While OBEX[3] is a communications protocol that facilitates the
exchange of binary objects between devices. We would like to see OBEX
support in Android to improve the usability of handheld devices, so
Erin started a new project, android-obex[4], to extend Android-based
devices to leverage OBEX-FTP or some functionality around OBEX.
Please check Erin's tutorials for details:
http://i-miss-erin.blogspot.com/2009/07/how-to-build-obex-in-android.html
http://i-miss-erin.blogspot.com/2009/06/obex-introduction.html

Eventually, OBEX will be merged into 0xdroid, and there is known to be
an implementation provided by Code Aurora Forum:
https://www.codeaurora.org/wiki/QAEP_Patch_Releases

PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz July
3, 2009 Updated FTP/OPP BT profiles.

It seems that OBEX/FTP is implemented in Code Aurora tree, but it
doesn't appear in official Android tree (korg). Erin, could you take
a look
over the detailed implementation about the above? And, it is nice if
Erin could clarify the development plans about android-obex and think
of the possibility to reuse the existing software (such as Java FTP UI
frontend implemented in
PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz package).

I am glad to see that the famous CyanogenMod (CM) ROM image[5]
includes Erin's work as well. :)

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

[1] http://gitorious.org/0xdroid
[2] http://0xlab.org/
[3] http://en.wikipedia.org/wiki/OBject_EXchange
[4] http://gitorious.org/android-obex
[5] http://forum.xda-developers.com/showthread.php?t=537204

Erin Yueh

unread,
Sep 3, 2009, 4:34:10 AM9/3/09
to Jim Huang, 0xlab...@googlegroups.com
Hi,

On Thu, Sep 3, 2009 at 14:19, Jim Huang<js...@0xlab.org> wrote:
> Hello Erin and list,
>
> As expected, 0xdroid[1] is the effort from 0xlab[2] to aggregate the
> open source resources into several hardware platforms like
> Beagleboard.

[...]


>
> Eventually, OBEX will be merged into 0xdroid, and there is known to be
> an implementation provided by Code Aurora Forum:
>    https://www.codeaurora.org/wiki/QAEP_Patch_Releases
>
> PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz   July
> 3, 2009          Updated FTP/OPP BT profiles.
>
> It seems that OBEX/FTP is implemented in Code Aurora tree, but it
> doesn't appear in official Android tree (korg).  Erin, could you take
> a look
> over the detailed implementation about the above?  And, it is nice if
> Erin could clarify the development plans about android-obex and think
> of the possibility to reuse the existing software (such as Java FTP UI
> frontend implemented in
> PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz package).
>

OK! I will check this BIG patch and it seems like they implemented
bluetooth UI application. I will try to make it work in G1 first.

> I am glad to see that the famous CyanogenMod (CM) ROM image[5]
> includes Erin's work as well. :)
>

yup! thanks! I am very happy to see someone use my work.

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

Erin Yueh

unread,
Sep 23, 2009, 11:42:47 PM9/23/09
to Jim Huang, 0xlab...@googlegroups.com
Hi,

On Thu, Sep 3, 2009 at 14:19, Jim Huang <js...@0xlab.org> wrote:

[...]


> Eventually, OBEX will be merged into 0xdroid, and there is known to be
> an implementation provided by Code Aurora Forum:
>    https://www.codeaurora.org/wiki/QAEP_Patch_Releases
>
> PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz   July
> 3, 2009          Updated FTP/OPP BT profiles.
>
> It seems that OBEX/FTP is implemented in Code Aurora tree, but it
> doesn't appear in official Android tree (korg).  Erin, could you take
> a look
> over the detailed implementation about the above?  And, it is nice if
> Erin could clarify the development plans about android-obex and think
> of the possibility to reuse the existing software (such as Java FTP UI
> frontend implemented in
> PATCH_M7201JSDBALYM6380_1179_Bluetooth_OPP_FTP_20090702.tar.gz package).
>

I am stuck now. I built a donut based image with this patch. Bluetooth
is working normally, but OBEX is not working from Bluetooth UI
application. I found it would start a dbus_bt service from a shell
script, but I cannot find this file from aurora git server at all. I
just sent an email to aurora forum, since I found the email address
from its git log. Hope I can get the response soon, then continue my
work...

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

perelet

unread,
Sep 24, 2009, 11:51:12 AM9/24/09
to 0xlab-devel
Jim, Erin.

That patch is experimental Obex API's implementation on Android
(Donut). It has Java/JNI support for OPP and FTP client and server
profiles and UI to send/receive Pics/Sounds/Contacts from
corresponding Android applications and also browse generic files on
sdcard. UI/Java runs at top of early obexd-0.?9? like interfaces (see
http://www.bluez.org/page/4/) refered as dbus_bt . Obexd is part NOT
of that source tree - get it from BlueZ site.

Patch that you're looking at is maybe not easiest way to look at
source. You better off picking up things from gits (see bellow). I
do not see big of deal making it run on G1, but I never done that.

You need to get obexd in to Android build system. When doing that
you'll face few glib functions/#defines missing here and there - you
may add missing pieces to bluez/eglib placeholder in Android tree.
Also, you may have to deal with couple of SDP functions - that's cause
Donut is using BlueZ 3.x. When Google will move on BlueZ 4.x things
should be easier.

Here's brief overview of related Git url's (takes time to load). I
suggest selective picking file by file.Good luck. Drop me your patches
if you make it work.

frameworks/base: https://www.codeaurora.org/gitweb/quic/la/?p=platform/frameworks/base.git;a=shortlog;h=refs/heads/donut

- Java APIs, Java services, JNI

- This is the meat of the non-application bits (calls
OpenOBEX APIs via D-Bus)



packages/apps/Bluetooth:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/packages/apps/Bluetooth.git;a=shortlog;h=donut

- Common Bluetooth GUI code (rx object processing, BT device
browser)

- FTP GUI



packages/apps/Camera:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/packages/apps/Camera.git;a=shortlog;h=refs/heads/donut

- Some changes to allow Camera to send images via OPP



packages/apps/Contacts:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/packages/apps/Contacts.git;a=shortlog;h=refs/heads/donut

- Changes to Contacts (phonebook) to send contacts via OPP

- Hook to pull vcards via OPP

packages/apps/Music:
https://www.codeaurora.org/gitweb/quic/la/?p=platform/packages/apps/Music.git;a=shortlog;h=refs/heads/donut

- Changes to Music to send media via OPP

Oleg Perelet. Qualcomm Innovation Center, Inc

Erin Yueh

unread,
Sep 24, 2009, 10:24:34 PM9/24/09
to 0xlab...@googlegroups.com
Hi Oleg,

Thanks a lot for clarifying OBEX problems!

On Thu, Sep 24, 2009 at 23:51, perelet <oper...@quicinc.com> wrote:
>
> Jim, Erin.
>
> That patch is experimental Obex API's implementation on Android
> (Donut). It has Java/JNI support for OPP and FTP client and server
> profiles and UI to send/receive Pics/Sounds/Contacts from
> corresponding Android applications and also browse generic files on
> sdcard. UI/Java runs at top of early obexd-0.?9? like interfaces (see
> http://www.bluez.org/page/4/) refered as dbus_bt . Obexd is part NOT
> of that source tree - get it from BlueZ site.
>

Cool! I will check it out!

> Patch that you're looking at is maybe not easiest way to look at
> source. You better off picking up things from gits (see bellow).   I
> do not see big of deal making it run on G1, but I never done that.
>
> You need to get obexd in to Android build system. When doing that
> you'll face few glib functions/#defines missing here and there - you
> may add missing pieces to bluez/eglib placeholder in Android tree.
> Also, you may have to deal with couple of SDP functions - that's cause
> Donut is using BlueZ 3.x. When Google will move on BlueZ 4.x things
> should be easier.
>
> Here's brief overview of related Git url's (takes time to load). I
> suggest selective picking file by file.Good luck. Drop me your patches
> if you make it work.
>

mmh... I merged the code from different project repository, not from
that giant patch. I will let you know if i make it work in G1.

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

Erin Yueh

unread,
Oct 23, 2009, 6:56:55 AM10/23/09
to 0xlab...@googlegroups.com, oper...@quicinc.com
Hi,

Finally, I make aurora Bluetooth UI application work in Android Dev
phone. Now, it can use Bluetooth OPP and FTP profile. I am going to
merge the code to 0xdroid beagle-donut branch soon.

I ported obexd in Android and also made few patches for Bluetooth
OPP/FTP profile based on donut_glazed tree in aurora. Below it's a
list for this feature:

(1) frameworks patch (based on aurora /frameworks/base repository)
http://androidobex.googlecode.com/files/0001-apply-Bluetooth-FTP-OPP-patch-from-aurora.patch

(2) Blueooth UI application patch (based on aurora
/package/apps/Bluetooth repository)
http://androidobex.googlecode.com/files/0001-Modify-OBEX-received-file-path-to-sdcard-and-set-de.patch

(3) init.rc script patch (based on android /system/core repository)
http://androidobex.googlecode.com/files/0001-Add-obexd-and-obex-client-service.patch

(4) bluedroid patch (based on android /system/bluetooth repository)
http://androidobex.googlecode.com/files/0001-add-obexd-obex-client-service-start-and-stop.patch

(5) obexd (i use obexd-0.10 version)
http://gitorious.org/android-obex/obexd

(6) glib (i use glib-2.13.0 version)
http://gitorious.org/android-obex/glib

(7) bluez patch ( patch from aurora /external/bluez repository)
https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/bluez.git;a=commit;h=c2fdca9be6ac9625c229728d83c9ca3b26b64bba

(8) openobex (i use openobex version 1.5 )
http://gitorious.org/android-obex/openobex

Jim Huang

unread,
Oct 26, 2009, 12:07:38 AM10/26/09
to 0xlab...@googlegroups.com
2009/10/23 Erin Yueh <erin...@gmail.com>:

> Finally, I make aurora Bluetooth UI application work in Android Dev
> phone. Now, it can use Bluetooth OPP and FTP profile. I am going to
> merge the code to 0xdroid beagle-donut branch soon.
>

Great! Look forward to future work.

So, does Android UI work right now?

> I ported obexd in Android and also made few patches for Bluetooth
> OPP/FTP profile based on donut_glazed tree in aurora. Below it's a
> list for this feature:

[...]


> (5) obexd (i use obexd-0.10 version)
> http://gitorious.org/android-obex/obexd
> (6) glib (i use glib-2.13.0 version)
> http://gitorious.org/android-obex/glib
>

I just wonder the exact size inflation while linked to (static) glib.
Maybe we could take the routines directly from
glib source instead if there are few dependencies.

cheers,

Erin Yueh

unread,
Oct 26, 2009, 1:31:42 AM10/26/09
to 0xlab...@googlegroups.com
On Mon, Oct 26, 2009 at 12:07, Jim Huang <js...@0xlab.org> wrote:
>
> 2009/10/23 Erin Yueh <erin...@gmail.com>:
>> Finally, I make aurora Bluetooth UI application work in Android Dev
>> phone. Now, it can use Bluetooth OPP and FTP profile. I am going to
>> merge the code to 0xdroid beagle-donut branch soon.
>>
>
> Great!  Look forward to future work.
>
> So, does Android UI work right now?
>
yes, we can use bluetooth UI application normally.

>> I ported obexd in Android and also made few patches for Bluetooth
>> OPP/FTP profile based on donut_glazed tree in aurora. Below it's a
>> list for this feature:
> [...]
>> (5) obexd (i use obexd-0.10 version)
>> http://gitorious.org/android-obex/obexd
>> (6) glib (i use glib-2.13.0 version)
>> http://gitorious.org/android-obex/glib
>>
>
> I just wonder the exact size inflation while linked to (static) glib.
> Maybe we could take the routines directly from
> glib source instead if there are few dependencies.
>

mmh...obexd is about 375.8 kb and obex-client is about 356.1 kb.

Reply all
Reply to author
Forward
0 new messages