Re: [PATCH] Explicitly disable BT radio using rfkill interface onsuspend

From: Matthew Garrett
Date: Tue May 19 2009 - 01:05:04 EST


On Mon, May 18, 2009 at 04:36:40PM -0500, Mario Limonciello wrote:

> 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.

Ok. I don't think the right way to implement this is forcing dell-laptop
to simulate an unplug. The HCI driver should be responsible for saving
and restoring state of the device in its suspend/resume method.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/