Comment 3 for bug 269264

Revision history for this message
matejcik (matejcik) wrote : Re: Intel 4965AGN wireless only works in Intrepid if hardware switch is enabled on boot

i see this on MSI PR200, and it's unrelated to the network-manager, actually the -rfkill switch- is broken.
(worked fine in 2.6.24, but i can't confirm that it works in hardy with 2.6.27, because the debs from kernel.ubuntu.com don't have the appropriate firmware with them and so the wifi doesn't work at all)

goes like this:

1. take a machine, killall NetworkManager for good measure, rmmod iwlagn and switch its killswitch to off (LED responds just fine)

2.
# modprobe iwlagn
Sep 15 14:28:07 limetka kernel: [ 2842.166586] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks
Sep 15 14:28:07 limetka kernel: [ 2842.166595] iwlagn: Copyright(c) 2003-2008 Intel Corporation
Sep 15 14:28:07 limetka kernel: [ 2842.166742] iwlagn 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Sep 15 14:28:07 limetka kernel: [ 2842.166796] iwlagn: Detected Intel Wireless WiFi Link 4965AGN REV=0x4
Sep 15 14:28:07 limetka kernel: [ 2842.205510] iwlagn: Tunable channels: 11 802.11bg, 13 802.11a channels
# ifconfig wlan0 up
Sep 15 14:28:40 limetka kernel: [ 2874.924355] iwlagn 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Sep 15 14:28:40 limetka kernel: [ 2874.924782] firmware: requesting iwlwifi-4965-2.ucode
Sep 15 14:28:40 limetka kernel: [ 2874.931693] iwlagn: Radio disabled by HW RF Kill switch
Sep 15 14:28:40 limetka kernel: [ 2874.950597] ADDRCONF(NETDEV_UP): wlan0: link is not ready
# cat /sys/class/rfkill/rfkill?/state
2

at this point, you can play with the killswitch for as long as you like, it won't matter to the card and it will stay offline. only output is along the lines of :

Sep 15 14:29:53 limetka kernel: [ 2947.914303] atkbd.c: Unknown key pressed (translated set 2, code 0xe2 on isa0060/serio0).
Sep 15 14:29:53 limetka kernel: [ 2947.914314] atkbd.c: Use 'setkeycodes e062 <keycode>' to make it known.
Sep 15 14:29:53 limetka kernel: [ 2947.915542] atkbd.c: Unknown key released (translated set 2, code 0xe2 on isa0060/serio0).
Sep 15 14:29:53 limetka kernel: [ 2947.915553] atkbd.c: Use 'setkeycodes e062 <keycode>' to make it known.
Sep 15 14:29:53 limetka kernel: [ 2947.916402] atkbd.c: Unknown key pressed (translated set 2, code 0xf6 on isa0060/serio0).
Sep 15 14:29:53 limetka kernel: [ 2947.916412] atkbd.c: Use 'setkeycodes e076 <keycode>' to make it known.
Sep 15 14:29:53 limetka kernel: [ 2947.917742] atkbd.c: Unknown key released (translated set 2, code 0xf6 on isa0060/serio0).
Sep 15 14:29:53 limetka kernel: [ 2947.917751] atkbd.c: Use 'setkeycodes e076 <keycode>' to make it known.

(yes, two different keys - the killswitch key on PR200 actually turns on bluetooth and wifi simultaneously, one of the scancodes is for wifi and the other for BT, i don't know which is which)

3. rmmod iwlagn, set killswitch to on
# modprobe iwlagn
Sep 15 14:32:28 limetka kernel: [ 3102.793984] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks
Sep 15 14:32:28 limetka kernel: [ 3102.793997] iwlagn: Copyright(c) 2003-2008 Intel Corporation
Sep 15 14:32:28 limetka kernel: [ 3102.794899] iwlagn 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Sep 15 14:32:28 limetka kernel: [ 3102.794966] iwlagn: Detected Intel Wireless WiFi Link 4965AGN REV=0x4
Sep 15 14:32:28 limetka kernel: [ 3102.834387] iwlagn: Tunable channels: 11 802.11bg, 13 802.11a channels
# ifconfig wlan0 up
Sep 15 14:32:56 limetka kernel: [ 3130.891884] iwlagn 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Sep 15 14:32:56 limetka kernel: [ 3130.892331] firmware: requesting iwlwifi-4965-2.ucode
Sep 15 14:32:56 limetka kernel: [ 3131.097931] Registered led device: iwl-phy4:radio
Sep 15 14:32:56 limetka kernel: [ 3131.099376] Registered led device: iwl-phy4:assoc
Sep 15 14:32:56 limetka kernel: [ 3131.099667] Registered led device: iwl-phy4:RX
Sep 15 14:32:56 limetka kernel: [ 3131.099929] Registered led device: iwl-phy4:TX
Sep 15 14:32:56 limetka kernel: [ 3131.124303] ADDRCONF(NETDEV_UP): wlan0: link is not ready
# cat /sys/class/rfkill/rfkill?/state
1

at this point, the card is "switched on" and appears to work just fine. but as before, you can play with the killswitch as you like and card doesn't care the slightest

echoing into the rfkill state does nothing.