2010-07-20 09:30:25

by Liang Bao

[permalink] [raw]
Subject: Virtual cable unplug not supported in BlueZ?

Hi,

I have a question on "Virtual Cable Unplug" in current BlueZ version.

Currently BlueZ doesn't expose a D-Bus method in input/device.c for
virtually unplug cable which is a mandatory requirement to pass
TC_HOS_HCR_BV_03_I. Actually the support in kernel is already there.
Can anyone give some insight to why this is not exposed at the DBUS
API level like Connect/Disconnect/GetProperties? Can I think the
reason behind this design is we only need one of "Disconnect" and
"VirtualUnplug" to allow user to disconnect?

Thanks.

Regards,
Liang Bao


2010-07-25 14:53:59

by Liang Bao

[permalink] [raw]
Subject: Re: Virtual cable unplug not supported in BlueZ?

2010/7/23 Luiz Augusto von Dentz <[email protected]>:
> Hi,
>
> On Fri, Jul 23, 2010 at 5:03 AM, Liang Bao <[email protected]> wrote:
>> Adapter.RemoveDevice() also removes the pair information according to
>> the document doc/adapter-api.txt. However, unplug a virtual cable in
>> HID spec doesn't mean unpair. Anyway, let me check the source once
>> again. Thanks.
>
> The question is, why do you want to use virtual cable unplug manually?
> There doesn't seems to be any useful use case for that, there is no
> "Virtual Cable Plug" either so if we do export virtual cable unplug
> feature how we plug it again?
Yes, I agree with that virtual plug looks like something hard to
understand to an end-user. User will be happy as long as he can
connect and disconnect. However, virtual plug is defined by the HID
spec as a mandatory requirement for HID host role.By my understanding,
this is just to gracefully to remove the 1:1 relationship between the
HID device and host. Because unplug doesn't mean unpair, the
reconnection procedure still work and then they "plug" again. Maybe we
can do a unplug using hidd in command line..?
>
> --
> Luiz Augusto von Dentz
> Computer Engineer
>

2010-07-23 07:25:59

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: Virtual cable unplug not supported in BlueZ?

Hi,

On Fri, Jul 23, 2010 at 5:03 AM, Liang Bao <[email protected]> wrote:
> Adapter.RemoveDevice() also removes the pair information according to
> the document doc/adapter-api.txt. However, unplug a virtual cable in
> HID spec doesn't mean unpair. Anyway, let me check the source once
> again. Thanks.

The question is, why do you want to use virtual cable unplug manually?
There doesn't seems to be any useful use case for that, there is no
"Virtual Cable Plug" either so if we do export virtual cable unplug
feature how we plug it again?

--
Luiz Augusto von Dentz
Computer Engineer

2010-07-23 02:03:25

by Liang Bao

[permalink] [raw]
Subject: Re: Virtual cable unplug not supported in BlueZ?

Adapter.RemoveDevice() also removes the pair information according to
the document doc/adapter-api.txt. However, unplug a virtual cable in
HID spec doesn't mean unpair. Anyway, let me check the source once
again. Thanks.

2010/7/20 Johan Hedberg <[email protected]>:
> Hi,
>
> On Tue, Jul 20, 2010, Liang Bao wrote:
>> I have a question on "Virtual Cable Unplug" in current BlueZ version.
>>
>> Currently BlueZ doesn't expose a D-Bus method in input/device.c for
>> virtually unplug cable which is a mandatory requirement to pass
>> TC_HOS_HCR_BV_03_I. Actually the support in kernel is already there.
>> Can anyone give some insight to why this is not exposed at the DBUS
>> API level like Connect/Disconnect/GetProperties? Can I think the
>> reason behind this design is we only need one of "Disconnect" and
>> "VirtualUnplug" to allow user to disconnect?
>
> AFAIK the unplug should be sent when you do Adapter.RemoveDevice()
>
> Johan
>

2010-07-20 09:37:32

by Johan Hedberg

[permalink] [raw]
Subject: Re: Virtual cable unplug not supported in BlueZ?

Hi,

On Tue, Jul 20, 2010, Liang Bao wrote:
> I have a question on "Virtual Cable Unplug" in current BlueZ version.
>
> Currently BlueZ doesn't expose a D-Bus method in input/device.c for
> virtually unplug cable which is a mandatory requirement to pass
> TC_HOS_HCR_BV_03_I. Actually the support in kernel is already there.
> Can anyone give some insight to why this is not exposed at the DBUS
> API level like Connect/Disconnect/GetProperties? Can I think the
> reason behind this design is we only need one of "Disconnect" and
> "VirtualUnplug" to allow user to disconnect?

AFAIK the unplug should be sent when you do Adapter.RemoveDevice()

Johan