[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A11D4E8.1020807@dell.com>
Date: Mon, 18 May 2009 16:36:40 -0500
From: Mario Limonciello <mario_limonciello@...l.com>
To: Matthew Garrett <mjg59@...f.ucam.org>
CC: linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Explicitly disable BT radio using rfkill interface on
suspend
Hi Matthew:
Matthew Garrett wrote:
> On Mon, May 18, 2009 at 03:12:22PM -0500, Mario Limonciello wrote:
>
>> Dell BT devices need to be removed from the bus and reinserted
>> so that userspace udev rules can transition the devices into the
>> proper mode after S3 or S4.
>>
>
> This sounds wrong. What kind of reinitialisation are you talking about?
>
Dell BT adapters will startup in a HID mode. In HID mode two logical
USB devices are exposed, a mouse and a keyboard. If properly set, the
BT radio will work with pre-paired keyboards or mice in this mode. This
is useful for things like BIOS control via a BT keyboard. A command is
sent to one of the descriptors of the mouse to cause the device to
transition to HCI mode. When transitioned to HCI mode, a radio device
is exposed allowing it to pair and operate with any BT device.
Here's what the utility looks like that ships with bluez:
http://git.kernel.org/?p=bluetooth/bluez.git;a=blob;f=tools/hid2hci.c;h=11d707fd76e940b884c9078907ab1504cd7350d4;hb=HEAD
Look at the switch_dell method to see how it works.
Currently, this is implemented via a set of udev rules shipped with
bluez that match the Dell device and transition it to HCI mode.
Here's the udev rule that matches:
ACTION=="add", ENV{ID_VENDOR}=="413c", ENV{ID_CLASS}=="mouse", ATTRS{bmAttributes}=="e0", KERNEL=="mouse*", RUN+="/usr/sbin/hid2hci --method dell -v $env{ID_VENDOR} -p $env{ID_MODEL} --mode hci"
When coming out of S3 if the killswitch isn't activated, the logical USB
mouse isn't coldplugged again preventing the udev rule from being
matched upon. You can manually run hid2hci and the device will switch
modes.
--
Mario Limonciello
*Dell | Linux Engineering*
mario_limonciello@...l.com
Download attachment "signature.asc" of type "application/pgp-signature" (261 bytes)
Powered by blists - more mailing lists