Re: [PATCH 0/8] [Resend] ideapad: using EC command to control rf/camerapower

From: Ike Panhc
Date: Fri Sep 10 2010 - 02:44:46 EST


On 09/10/2010 02:17 AM, Mario 'BitKoenig' Holbe wrote:
> On Fri, Sep 03, 2010 at 05:06:09PM +0800, Ike Panhc wrote:
>> I look at the DSDT again and again but unfortunately can not find anything
>> may cause the bluetooth device initial failed. BTEN looks like the switch
>> for EC to turn on/off bluetooth, BTST records the status of BTEN and BTPS
>> means bluetooth present. But no idea why initial failed after BTEN=1
>
> Is there some way to trace ACPI calls under Windows (XP Home)?
> I could then have a look at what happens when I Fn-F5 BT off.
>

I heard that we can install the driver in virtual machine for study its behavior.
But dont know the detail - it means we need to have a pseudo device there.

Sorry, I do not know much about Windows.

>> So I fall back to your suggestion. Have a module parameter to tell module
>> not to register rfkill for bluetooth.
>> I prepare the driver and please spend some time testing. Driver is at
>> http://kernel.ubuntu.com/git?p=ikepanhc/ideapad-laptop.git;a=blob;f=drivers/platform/x86/ideapad-laptop.c;h=c4cf46a363f3f72d6db5339ec326d282d7e58183;hb=26a58948693b7d25960299a8025e569e68f28937
>> and you may use "insmod ideapad-laptop.ko no_bt_rfkill=1" for your S12.
>
> Hmmm, with this version and no_bt_rfkill=1 I run into the same problem
> as without the ideapad module: If I switch BT off in Windows and reboot
> to Linux, the device remains invisible and I have no chance to switch it
> back on again :/

The no_bt_rfkill is a stopgap for dual OS user. when BT is default on, user
still have the BT sw rfkill registered as hci0. when BT is defualt off, user
can re-insert module with no_bt_rfkill=0.

> I guess this is because the initial device activation does currently
> only happen in ideapad_register_rfkill() via rfkill_init_sw_state()
> which is not called if no_bt_rfkill=1.
> A manual call to ideapad_rfk_set() (or ideapad_sync_rfk_state()?) in the
> no_bt_rfkill=1 case would very likely solve this, but I don't know how
> to provide this call with the correct arguments.

Sorry I do not get the point of a manual call. Could you explain more on this?

ideapad_rfk_set is called when user update /sys/class/rfkill/rfkill?/state and
ideapad_sync_rfk_state is called when user touch the hw rfkill switch.

>
>
> regards
> Mario

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