2008-10-31 07:40:06

by Rafael Almeida

[permalink] [raw]
Subject: Weird behaviour on iwl3945 module

Hello,

I'm using Debian lenny (linux 2.6.26) and I have a iwl3945 wireless
card. My laptop is a lenovo r61i. I've notice that, when I turn off
the wireles/bluetooth switch the wireless module isn't removed, the
kernel even displays a few warnings:

% dmesg | tail -n11
[ 1219.735652] iwl3945: Radio Frequency Kill Switch is On:
[ 1219.735652] Kill switch must be turned off for wireless networking to work.
[ 1219.787767] usb 1-1: USB disconnect, address 2
[ 1221.291865] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
[ 1221.294246] iwl3945: MAC is in deep sleep!
[ 1221.341983] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
[ 1221.345953] iwl3945: MAC is in deep sleep!
[ 1221.405968] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
[ 1221.450835] iwl3945: MAC is in deep sleep!
[ 1221.612230] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
[ 1221.632612] ACPI: PCI interrupt for device 0000:03:00.0 disabled

So, when I turn the switch back on, my wireless card is not
operational. I have to manually remove and then reinstall the iwl3945
module in order to the device to resume working. The bluetooth device
doesn't have that issue.

Is that an expected behaviour? Would it be impossible or undesirable
to the kernel to behave differently? Is it already fixed in the newest
kernel version (or on the -mm branch)? I am willing to hack into the
kernel code in order to fix that problem, if someone would give me
pointers of where to start.

[]'s
Rafael


2008-10-31 11:01:21

by Carsten Niehaus

[permalink] [raw]
Subject: RE: Weird behaviour on iwl3945 module

Moin

Is that the same issue as the one I reported agains 2.6.27 on Ubuntu 8.10?

https://bugs.launchpad.net/ubuntu/+source/wireless-tools/+bug/290820

Carsten

--
"Never make any mistaeks."
(Anonymous, in a mail discussion about to a kernel bug report.)

2008-10-31 14:48:53

by Iain Paton

[permalink] [raw]
Subject: Re: Weird behaviour on iwl3945 module

Carsten Niehaus wrote:
> Moin
>
> Is that the same issue as the one I reported agains 2.6.27 on Ubuntu 8.10?
>
> https://bugs.launchpad.net/ubuntu/+source/wireless-tools/+bug/290820
>
> Carsten
>

The rfkill messages in dmesg are probably meaningless. I see them too and they don't stop the card from working.

What do you get if you type 'ip link' in a shell ?
I think you'll see something like:
wlan0: <NO-CARRIER,BROADCAST,MULTICAST>

You want
wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP>

to have any hope of getting any further.

On my HP laptop, it's impossible to bring the card up with 'ip link set up dev wlan0' when the hardware button is set to disable the
wireless interfaces during boot, on at least 2.6.[25,26,27]. However once you press the button and enable the interface you can then
bring the card up and it'll stay up when you press the button again.

The real problem for me with this is that normally the button is turned off during boot, so the startup scripts can't bring the card
up and everything else falls apart from there.

Previously I've just been doing 'ip link set up dev wlan0' in an xterm after enabling via the button first time I need to use it,
having done that, everything works fine.

With 2.6.27 the hp-wmi driver means that I get rfkill uevents over netlink and can use those to bring the card up automatically when
the button is pressed. Perhaps there's a similar option on your laptops.

FWIW, I'm not using Debian/Ubuntu, or hal/dbus/NetworkManager, but it was fairly trivial to find lots of discussion of this
elsewhere, seemingly mostly related to Debian/Ubuntu:
<https://bugs.launchpad.net/ubuntu/intrepid/+source/linux/+bug/193970>
<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/267875>
<https://wiki.ubuntu.com/IntrepidReleaseNotes#Cannot%20reactivate%20Intel%203945/4965%20wireless%20if%20booting%20with%20killswitch%20enabled>

Iain

2008-11-01 22:57:35

by Rafael Almeida

[permalink] [raw]
Subject: Re: Weird behaviour on iwl3945 module

On Fri, Oct 31, 2008 at 5:39 AM, Rafael Cunha de Almeida
<[email protected]> wrote:
> Hello,
>
> I'm using Debian lenny (linux 2.6.26) and I have a iwl3945 wireless
> card. My laptop is a lenovo r61i. I've notice that, when I turn off
> the wireles/bluetooth switch the wireless module isn't removed, the
> kernel even displays a few warnings:
>
> % dmesg | tail -n11
> [ 1219.735652] iwl3945: Radio Frequency Kill Switch is On:
> [ 1219.735652] Kill switch must be turned off for wireless networking to work.
> [ 1219.787767] usb 1-1: USB disconnect, address 2
> [ 1221.291865] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
> [ 1221.294246] iwl3945: MAC is in deep sleep!
> [ 1221.341983] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
> [ 1221.345953] iwl3945: MAC is in deep sleep!
> [ 1221.405968] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
> [ 1221.450835] iwl3945: MAC is in deep sleep!
> [ 1221.612230] iwl3945: WARNING: Requesting MAC access during RFKILL wakes up NIC
> [ 1221.632612] ACPI: PCI interrupt for device 0000:03:00.0 disabled
>
> So, when I turn the switch back on, my wireless card is not
> operational. I have to manually remove and then reinstall the iwl3945
> module in order to the device to resume working. The bluetooth device
> doesn't have that issue.
>
> Is that an expected behaviour? Would it be impossible or undesirable
> to the kernel to behave differently? Is it already fixed in the newest
> kernel version (or on the -mm branch)? I am willing to hack into the
> kernel code in order to fix that problem, if someone would give me
> pointers of where to start.
>
> []'s
> Rafael
>

In order to give the issue some closure, I've recently had the chance
of running linux 2.6.28-rc2. The kill switch works fine on the new
version :-). I suggest anyone that's having problems with this
wireless card to upgrade their kernels, as things seems to have
changed recently.