2011-01-30 12:46:58

by Ozan Çağlayan

[permalink] [raw]
Subject: Rfkill always soft/hard blocked upon boot

Hi,

How to fix or debug the $subject? You always have to press Fn+F2 to hard
unblock the rfkill after every boot on a local brand laptop.

If the rfkill switch is really a switch which can be toggled on/off,
this makes sense. If you keep it Off, it will come as blocked. But it
seems that on this machine Fn+F2 controls the hard block state.

It should either be saved in somewhere (I've read that there is a
persistent knob for rfkill drivers in sysfs which tells whether the
state is kept in a non-volatile space across boots or not) or all soft
and this kind of Fn+Fx hard blocks should be explicitly disabled by
kernel during boots.

I don't have direct access to the machine but the owner will help if you
need any output, etc.

After booting:

0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes

After pressing Fn+F2:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless
Network Adapter (PCI-Express) (rev 01)
Subsystem: Device 1a3b:1089
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f1d00000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [60] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 00-15-17-ff-ff-24-14-12
Capabilities: [170] Power Budgeting <?>
Kernel driver in use: ath9k
Kernel modules: ath9k

This is on 2.6.37. I'm waiting for the dmesg output.

--
Pardus Linux
http://www.pardus.org.tr/eng


2011-01-31 09:03:56

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

On 31.01.2011 04:08, Joey Lee wrote:

> Does it possible share your machine's model name, dmidecode and
> acpidump?

Yes of course. I have the acpidump and dmidecode outputs but I could not
extract the tables from the acpidump output. It gave an error about the
table headers and their lengths.

This is a local (Turkish) brand laptop. The manufacturer is Casper.
Model is Nirvana i7 (Casper Nirvana i7 CNTKI-620A). It can be an exact
clone-copy of a popular laptop as it happens with these no-name stuff.

acpidump:
http://bugs.pardus.org.tr/attachment.cgi?id=6673

dmidecode:
http://bugs.pardus.org.tr/attachment.cgi?id=6674





--
Pardus Linux
http://www.pardus.org.tr/eng

2011-01-31 11:04:42

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

On 31.01.2011 12:21, Joey Lee wrote:
> Hi Oza,

>
> Sorry, I am not good for this platform, but will check your DSDT.

I dumped the _WDG block and find out that the GUIDs are exactly same
with the following driver posted on Dec'2010 but not merged to upstream yet:

http://www.spinics.net/lists/platform-driver-x86/msg01075.html

I don't know if that driver will help in anything. I've asked the user
if its other hotkeys are working or not.


--
Pardus Linux
http://www.pardus.org.tr/eng

2011-01-30 18:50:53

by Larry Finger

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

On 01/30/2011 06:46 AM, Ozan Çağlayan wrote:
> Hi,
>
> How to fix or debug the $subject? You always have to press Fn+F2 to hard
> unblock the rfkill after every boot on a local brand laptop.
>
> If the rfkill switch is really a switch which can be toggled on/off,
> this makes sense. If you keep it Off, it will come as blocked. But it
> seems that on this machine Fn+F2 controls the hard block state.
>
> It should either be saved in somewhere (I've read that there is a
> persistent knob for rfkill drivers in sysfs which tells whether the
> state is kept in a non-volatile space across boots or not) or all soft
> and this kind of Fn+Fx hard blocks should be explicitly disabled by
> kernel during boots.
>
> I don't have direct access to the machine but the owner will help if you
> need any output, etc.
>
> After booting:
>
> 0: hci0: Bluetooth
> Soft blocked: no
> Hard blocked: no
> 1: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: yes
>
> After pressing Fn+F2:
> 0: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 1: hci0: Bluetooth
> Soft blocked: no
> Hard blocked: no
>
> 03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless
> Network Adapter (PCI-Express) (rev 01)
> Subsystem: Device 1a3b:1089
> Flags: bus master, fast devsel, latency 0, IRQ 17
> Memory at f1d00000 (64-bit, non-prefetchable) [size=64K]
> Capabilities: [40] Power Management version 3
> Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
> Capabilities: [60] Express Legacy Endpoint, MSI 00
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [140] Virtual Channel
> Capabilities: [160] Device Serial Number 00-15-17-ff-ff-24-14-12
> Capabilities: [170] Power Budgeting <?>
> Kernel driver in use: ath9k
> Kernel modules: ath9k
>
> This is on 2.6.37. I'm waiting for the dmesg output.

The nature of that Fn-F2 key depends on how the motherboard manufacturer coded
their BIOS. Most do it as a toggle and use some WMI (Windows Management
Interface) code to initialize it on boot up. As this no-name laptop is unlikely
to have a WMI driver the way that name brands do, it probably generates a
keystroke. That is easy to check - Use CTRL-ALT-F1 to switch to a console, log
in, and issue the command "showkey". Is a keycode returned when Fn-F2 is pressed?

If the button does generate a key event, then adding a command to generate this
key in a script that is executed after bootup should solve the problem. I don't
know the command you need, but I'm sure someone will. Where to put that command
will depend on your distro.

Larry

2011-01-31 10:21:37

by Joey Lee

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

Hi Oza,

於 一,2011-01-31 於 11:03 +0200,Ozan Çağlayan 提到:
> On 31.01.2011 04:08, Joey Lee wrote:
>
> > Does it possible share your machine's model name, dmidecode and
> > acpidump?
>
> Yes of course. I have the acpidump and dmidecode outputs but I could not
> extract the tables from the acpidump output. It gave an error about the
> table headers and their lengths.
>

No, I CAN dump the tables from your acpidump result, you need:

(assume you save the dump result to acpidump-test.dat)
acpixtract acpidump-test.dat
iasl -d DSDT.dsl

> This is a local (Turkish) brand laptop. The manufacturer is Casper.
> Model is Nirvana i7 (Casper Nirvana i7 CNTKI-620A). It can be an exact
> clone-copy of a popular laptop as it happens with these no-name stuff.
>
> acpidump:
> http://bugs.pardus.org.tr/attachment.cgi?id=6673
>
> dmidecode:
> http://bugs.pardus.org.tr/attachment.cgi?id=6674
>
>

Sorry, I am not good for this platform, but will check your DSDT.


Thank's
Joey Lee
>
>
>



2011-01-30 19:09:44

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

On 30.01.2011 20:51, Larry Finger wrote:

> The nature of that Fn-F2 key depends on how the motherboard manufacturer coded
> their BIOS. Most do it as a toggle and use some WMI (Windows Management
> Interface) code to initialize it on boot up. As this no-name laptop is unlikely
> to have a WMI driver the way that name brands do, it probably generates a
> keystroke. That is easy to check - Use CTRL-ALT-F1 to switch to a console, log
> in, and issue the command "showkey". Is a keycode returned when Fn-F2 is pressed?

Hmm I've got it. So maybe taking look at the ACPI tables/WMI block can
reveal a way to initialize the toggle? I'm not really experienced in
these things but I'll take a look out of curiosity.

Thanks!


--
Pardus Linux
http://www.pardus.org.tr/eng

2011-01-31 02:08:04

by Joey Lee

[permalink] [raw]
Subject: Re: Rfkill always soft/hard blocked upon boot

Hi Ozan,

於 日,2011-01-30 於 21:09 +0200,Ozan Çağlayan 提到:
> On 30.01.2011 20:51, Larry Finger wrote:
>
> > The nature of that Fn-F2 key depends on how the motherboard manufacturer coded
> > their BIOS. Most do it as a toggle and use some WMI (Windows Management
> > Interface) code to initialize it on boot up. As this no-name laptop is unlikely
> > to have a WMI driver the way that name brands do, it probably generates a
> > keystroke. That is easy to check - Use CTRL-ALT-F1 to switch to a console, log
> > in, and issue the command "showkey". Is a keycode returned when Fn-F2 is pressed?
>
> Hmm I've got it. So maybe taking look at the ACPI tables/WMI block can
> reveal a way to initialize the toggle? I'm not really experienced in
> these things but I'll take a look out of curiosity.
>
> Thanks!
>
>

Does it possible share your machine's model name, dmidecode and
acpidump?


Thank's
Joey Lee