Re: [2.6.31-rc2] Writing to /sys/class/rfkill/*/state fails

From: Corentin Chary
Date: Fri Jul 10 2009 - 15:34:43 EST


On Fri, Jul 10, 2009 at 8:57 PM, Darren
Salt<linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> [full quoting for linux-{kernel,wireless} & the perpetrator]
>
> I demand that Thiemo Nagel may or may not have written...
>
>> Corentin Chary wrote:
>>> On Fri, Jul 10, 2009 at 3:35 PM, Thiemo Nagel<thiemo.nagel@xxxxxxxxx>
>>> wrote:
>>>> Corentin Chary wrote:
>>>>> On Fri, Jul 10, 2009 at 12:23 PM, Thiemo
>>>>> Nagel<thiemo.nagel@xxxxxxxxx> wrote:
>>>>>> I just tested the new GSM rfkill in 2.6.31-rc2 and I get the following
>>>>>> on my EeePC 1000HGO:
>>>>>>   eee:/# cat /sys/class/rfkill/rfkill2/name
>>>>>>   eeepc-wwan3g
>>>>>>   eee:/# echo 0 > /sys/class/rfkill/rfkill2/state
>>>>>>   bash: echo: write error: Operation not permitted
>>>>>> What could be the reason for that?
>>>>> Reading the kernel source I can find:
>>>>>         /*
>>>>>          * The intention was that userspace can only take control over
>>>>>          * a given device when/if rfkill-input doesn't control it due
>>>>>          * to user_claim. Since user_claim is currently unsupported,
>>>>>          * we never support changing the state from userspace -- this
>>>>>          * can be implemented again later.
>>>>>          */
>>>>> It seems that rfkill should be controlled by /dev/rfkill (cf
>>>>> Documentation/rfkill.txt).
>>>>> Maybe network-manager can control that .. But I'm not sure.
>>>>> Maybe you should CC the wireless mailing list.
>>>> Thanks for the quick reply.  The interesting thing is, that the direct
>>>> access works well for eeepc-wlan and eeepc-bluetooth rfkills.  I've CC'd
>>>> debian-eeepc-devel, maybe they know something.
>>> Are you sure that it works with newer kernels ?
>>> This commit should have broken it for all rfkill.
>>>   commit 19d337dff95cbf76edd3ad95c0cee2732c3e1ec5
>>>   Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
>>>   Date:   Tue Jun 2 13:01:37 2009 +0200
>
>> You're right, all rfkills work with 2.6.30, but none works with 2.6.31-rc2.
>
> This is the first that I've heard of this. I'd not noticed since I've not
> needed Bluetooth on my 901 recently.
>
>> For the debian-eeepc folks:  2.6.31-rc2 breaks bluetooth toggling using
>> eeepc-acpi-scripts, but WLAN toggling still works.
>
> FSVO "works" (http://bugzilla.kernel.org/show_bug.cgi?id=13390), but that's a
> different problem.
>
> I consider this a regression. It breaks an interface which, though flawed, is
> ideally suited for scripting use and which eeepc-acpi-scripts uses in shell
> scripts.
>
> /dev/rfkill is not useful in shell scripts.

Maybe it would be possible with an rfkill command line tool (in C) ?
Is there such a tool somewhere ?


--
Corentin Chary
http://xf.iksaif.net - http://uffs.org
--
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/