Skip to contentSkip to conversation

Rfkill always soft/hard blocked upon boot

DISCUSSION Ozan Çağlayan 3 participants 7 messages Jan 30, 2011 – Jan 31, 2011 x86 platform drivers

lore
Share & tools
lore
#0 lore raw

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.

Signature · 2 lines
Pardus Linux
http://www.pardus.org.tr/eng
#1 lore raw
Quoted 50 lines · Ozan Çağlayan

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

Quoted 1 line

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

#2 lore raw
Quoted 6 lines · Larry Finger

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!

Signature · 2 lines
Pardus Linux
http://www.pardus.org.tr/eng
#3 lore raw

Hi Ozan,

於 日,2011-01-30 於 21:09 +0200,Ozan Çağlayan 提到:

Quoted 9 lines · Larry Finger
Quoted 7 lines

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?

Quoted 7 lines

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

#4 lore raw
Quoted 2 lines · Joey Lee

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

Signature · 2 lines
Pardus Linux
http://www.pardus.org.tr/eng
#5 lore raw

Hi Oza,

於 一,2011-01-31 於 11:03 +0200,Ozan Çağlayan 提到:

Quoted 9 lines · Joey Lee
Quoted 3 lines

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

Quoted 11 lines

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

Quoted 3 lines
#6 lore raw
Quoted 4 lines · Joey Lee

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.

Signature · 2 lines
Pardus Linux
http://www.pardus.org.tr/eng