2009-09-10 19:31:58

by Chris Robinson

[permalink] [raw]
Subject: Fwd: HDP profile support

Hello,
Is there currently a timetable in place for adding the HDP profile to
Bluez?? I'm doing some concept work for an Android device and one of
the Bluetooth requirements is to support the HDP profile.

Thanks,
Chris Robinson


2009-09-11 20:01:04

by Gustavo F. Padovan

[permalink] [raw]
Subject: Re: Fwd: HDP profile support

Hi all,

On Fri, Sep 11, 2009 at 8:29 AM, Marcel Holtmann <[email protected]> wrot=
e:
> Hi Nathan,
>
>> > Is there currently a timetable in place for adding the HDP profile to
>> > Bluez? =A0I'm doing some concept work for an Android device and one of
>> > the Bluetooth requirements is to support the HDP profile.
>>
>> Full HDP support (especially on the Android platform) requires a few
>> supporting features that haven't quite made the mainline of development
>> yet. =A0It is possible--I did so earlier this summer--and the situation
>> has improved drastically due the efforts of various people.
>>
>> The first step is to get L2CAP enhanced retransmission and streaming
>> mode support in your kernel. =A0Gustavo Padovan worked on this over the
>> summer for a Google Summer of Code project. =A0He has done an excellent
>> job taking my initial patches, extending the functionality and cleanly
>> integrating them into the bluetooth-testing kernel.
>
> they will be in 2.6.32 btw.

The code will be merged, but it isn't completely done. I'm still
working on the last missing features for Enhanced Retransmission and
Streaming modes. See the roadmap at the end of my last blog post[1].
If you wanna test it remember to set enable_ertm param to 1 on l2cap module=
.

[1] http://padovan.org/blog/2009/08/bluez-status-update-into-the-l2cap-laye=
r/

>
>> >From there, HDP depends upon the Bluetooth Multi-Channel Adaptation
>> Protocol. =A0This provides an additional control channel layered on top =
of
>> L2CAP sockets. =A0Additionally, some simple SDP work is required (which
>> can use BlueZ's existing SDP services).
>
> The part of MCAP and HDP needs to be done similar to how we did AVDTP
> and AVRCP and thus as a plugin for bluetoothd. Mainly because I assume
> it mostly interact with other system components. So a concept similar to
> obexd is not feasible.
>
>> As for implementation upon Android, there's a bit more work. =A0The
>> Android kernel (on the Cupcake/Donut branches at least) already includes
>> basic L2CAP statically linked into the kernel. =A0This causes conflicts
>> when attempting to load a module with Enhanced L2CAP support built in.
>> In order to do so, I've had to build my own kernel and system images,
>> and then flash them to a development phone. =A0If you go this way, you'l=
l
>> have to backport the applicable patches onto the 2.6.29 kernel used in
>> Donut. =A0I've never even tried to backport to the 2.6.27 kernel in
>> Cupcake.
>
> Backporting them to 2.6.29 is kinda hard and also a pretty stupid
> endeavorer. I would have to check, but most likely we are talking about
> 100 or more patches that would need backporting. If Google would finally
> get their act together and polish and merge patches upstream there would
> have been no problem in just taking a newer upstream kernel.
>
> Regards
>
> Marcel
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth=
" in
> the body of a message to [email protected]
> More majordomo info at =A0http://vger.kernel.org/majordomo-info.html
>



--=20
Gustavo F. Padovan
http://padovan.org

2009-09-11 11:29:46

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Fwd: HDP profile support

Hi Nathan,

> > Is there currently a timetable in place for adding the HDP profile to
> > Bluez? I'm doing some concept work for an Android device and one of
> > the Bluetooth requirements is to support the HDP profile.
>
> Full HDP support (especially on the Android platform) requires a few
> supporting features that haven't quite made the mainline of development
> yet. It is possible--I did so earlier this summer--and the situation
> has improved drastically due the efforts of various people.
>
> The first step is to get L2CAP enhanced retransmission and streaming
> mode support in your kernel. Gustavo Padovan worked on this over the
> summer for a Google Summer of Code project. He has done an excellent
> job taking my initial patches, extending the functionality and cleanly
> integrating them into the bluetooth-testing kernel.

they will be in 2.6.32 btw.

> >From there, HDP depends upon the Bluetooth Multi-Channel Adaptation
> Protocol. This provides an additional control channel layered on top of
> L2CAP sockets. Additionally, some simple SDP work is required (which
> can use BlueZ's existing SDP services).

The part of MCAP and HDP needs to be done similar to how we did AVDTP
and AVRCP and thus as a plugin for bluetoothd. Mainly because I assume
it mostly interact with other system components. So a concept similar to
obexd is not feasible.

> As for implementation upon Android, there's a bit more work. The
> Android kernel (on the Cupcake/Donut branches at least) already includes
> basic L2CAP statically linked into the kernel. This causes conflicts
> when attempting to load a module with Enhanced L2CAP support built in.
> In order to do so, I've had to build my own kernel and system images,
> and then flash them to a development phone. If you go this way, you'll
> have to backport the applicable patches onto the 2.6.29 kernel used in
> Donut. I've never even tried to backport to the 2.6.27 kernel in
> Cupcake.

Backporting them to 2.6.29 is kinda hard and also a pretty stupid
endeavorer. I would have to check, but most likely we are talking about
100 or more patches that would need backporting. If Google would finally
get their act together and polish and merge patches upstream there would
have been no problem in just taking a newer upstream kernel.

Regards

Marcel



2009-09-11 07:37:33

by Santiago Carot

[permalink] [raw]
Subject: Re: Fwd: HDP profile support

Hi all,
My name is Santiago and i'm interested in to provide a full free/open
eHealth framework to linux and android platform. I'm working in MCAP
implementation in my free time, and i have implemented a partial
iso/ieee 11073-20601 manager for android too. I started my MCAP
implementation for BlueZ few weeks ago, of course it is in a early state
yet but there are some people that work with me to integrate MCAP with
HDP and DI in BlueZ.
You can get more info in http://openhealth.morfeo-project.org/
Note that this work is free but advices and collaborations are welcome.

Best regards!

Nathan Holstein escribi?:
> On Thu, 2009-09-10 at 14:31 -0500, Chris Robinson wrote:
>
>> Hello,
>> Is there currently a timetable in place for adding the HDP profile to
>> Bluez? I'm doing some concept work for an Android device and one of
>> the Bluetooth requirements is to support the HDP profile.
>>
>
> Full HDP support (especially on the Android platform) requires a few
> supporting features that haven't quite made the mainline of development
> yet. It is possible--I did so earlier this summer--and the situation
> has improved drastically due the efforts of various people.
>
> The first step is to get L2CAP enhanced retransmission and streaming
> mode support in your kernel. Gustavo Padovan worked on this over the
> summer for a Google Summer of Code project. He has done an excellent
> job taking my initial patches, extending the functionality and cleanly
> integrating them into the bluetooth-testing kernel.
>
> >From there, HDP depends upon the Bluetooth Multi-Channel Adaptation
> Protocol. This provides an additional control channel layered on top of
> L2CAP sockets. Additionally, some simple SDP work is required (which
> can use BlueZ's existing SDP services).
>
> As for implementation upon Android, there's a bit more work. The
> Android kernel (on the Cupcake/Donut branches at least) already includes
> basic L2CAP statically linked into the kernel. This causes conflicts
> when attempting to load a module with Enhanced L2CAP support built in.
> In order to do so, I've had to build my own kernel and system images,
> and then flash them to a development phone. If you go this way, you'll
> have to backport the applicable patches onto the 2.6.29 kernel used in
> Donut. I've never even tried to backport to the 2.6.27 kernel in
> Cupcake.
>
>
>
>
> --nathan holstein
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2009-09-10 19:57:46

by Nathan Holstein

[permalink] [raw]
Subject: Re: Fwd: HDP profile support

On Thu, 2009-09-10 at 14:31 -0500, Chris Robinson wrote:
> Hello,
> Is there currently a timetable in place for adding the HDP profile to
> Bluez? I'm doing some concept work for an Android device and one of
> the Bluetooth requirements is to support the HDP profile.

Full HDP support (especially on the Android platform) requires a few
supporting features that haven't quite made the mainline of development
yet. It is possible--I did so earlier this summer--and the situation
has improved drastically due the efforts of various people.

The first step is to get L2CAP enhanced retransmission and streaming
mode support in your kernel. Gustavo Padovan worked on this over the
summer for a Google Summer of Code project. He has done an excellent
job taking my initial patches, extending the functionality and cleanly
integrating them into the bluetooth-testing kernel.

>>From there, HDP depends upon the Bluetooth Multi-Channel Adaptation
Protocol. This provides an additional control channel layered on top of
L2CAP sockets. Additionally, some simple SDP work is required (which
can use BlueZ's existing SDP services).

As for implementation upon Android, there's a bit more work. The
Android kernel (on the Cupcake/Donut branches at least) already includes
basic L2CAP statically linked into the kernel. This causes conflicts
when attempting to load a module with Enhanced L2CAP support built in.
In order to do so, I've had to build my own kernel and system images,
and then flash them to a development phone. If you go this way, you'll
have to backport the applicable patches onto the 2.6.29 kernel used in
Donut. I've never even tried to backport to the 2.6.27 kernel in
Cupcake.




--nathan holstein