Re: [RFT] hp-wmi: improved rfkill support for wifi

From: Corentin Chary
Date: Sat Jul 18 2009 - 17:38:04 EST


On Sat, Jul 18, 2009 at 10:46 PM, Alan
Jenkins<alan-jenkins@xxxxxxxxxxxxxx> wrote:
> Maciej Rutecki wrote:
>> 2009/7/18 Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>:
>>
>>> I borrowed a HP G7000 last week.  The hp-wmi driver seemed a bit
>>> confused about hard v.s. soft blocks on the wifi, so I fixed it based on
>>> acpidump output [1].  I hope this will work on other HP model numbers,
>>> but it would benefit from testing.  Any volunteers?
>>>
>>
>> HP/Compaq nx6310
>> 2.6.31-rc3+patch
>>
>> When is enabled by button:
>> root@gumis:/sys/class/rfkill# ls
>> rfkill0  rfkill1  rfkill2  rfkill3
>> root@gumis:/sys/class/rfkill# cat rfkill*/name
>> phy0
>> hci0
>> hp-wifi
>> hp-bluetooth
>> root@gumis:/sys/class/rfkill# cat rfkill*/state
>> 1
>> 1
>> 1
>> 1
>>
>> When disabled by button:
>> root@gumis:/sys/class/rfkill# ls
>> rfkill0  rfkill2  rfkill3
>> root@gumis:/sys/class/rfkill# cat rfkill*/name
>> phy0
>> hp-wifi
>> hp-bluetooth
>> root@gumis:/sys/class/rfkill# cat rfkill*/state
>> 2
>> 1
>> 0
>>
>> I enable again by button:
>> root@gumis:/sys/class/rfkill# ls
>> rfkill0  rfkill2  rfkill3  rfkill4
>> root@gumis:/sys/class/rfkill# cat rfkill*/name
>> phy0
>> hp-wifi
>> hp-bluetooth
>> hci0
>> root@gumis:/sys/class/rfkill# cat rfkill*/state
>> 1
>> 1
>> 1
>> 1
>>
>> I disable "by software" in Windows XP (bluetooth and wireless):
>> root@gumis:/sys/class/rfkill# ls
>> rfkill0  rfkill1  rfkill2  rfkill3
>> root@gumis:/sys/class/rfkill# cat rfkill*/name
>> phy0
>> hp-wifi
>> hp-bluetooth
>> hci0
>> root@gumis:/sys/class/rfkill# cat rfkill*/state
>> 2
>> 0
>> 1
>> 1
>>
>> Bluetooth works fine when I back to Linux, it seems be enabled during
>> boot. Wireless is disabled. I cannot connect to network. So I
>> re-enable it in Windows:
>> root@gumis:/sys/class/rfkill# ls
>> rfkill0  rfkill1  rfkill2  rfkill3
>> root@gumis:/sys/class/rfkill# cat rfkill*/name
>> phy0
>> hci0
>> hp-wifi
>> hp-bluetooth
>> root@gumis:/sys/class/rfkill# cat rfkill*/state
>> 1
>> 1
>> 1
>> 1
>>
>> Regards
>>
>
> Great detail!  That all fits with what I was expecting.
>
> Linux can also do enabling "by software".  At the moment, you need to
> download and compile a utility to poke /dev/rfkill.  I wouldn't bother
> testing it, because I didn't change that bit :-).

Utility is here
http://git.sipsolutions.net/?p=rfkill.git
And a patch to restore write access to /sys/class/rfkill/*/state file is here
http://lkml.org/lkml/2009/7/10/339


> I'll try extending this to bluetooth and wwan as Matthew suggested.  If
> you have time to run "acpidump" and send me the output, that would help
> me check the details.

I have an HP 8710p, so if you want acpidump and test on another
hardware, just ask :).

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