2008-07-14 14:06:21

by Vivek Dasmohapatra

[permalink] [raw]
Subject: 2.6.24 ipw2200 driver can't be reset after firmware explodes

Hi: I have a thinkpad t43p with an ipw2200 driven piece of hardware in it.

04:02.0 Network controller [0280]:
Intel Corporation PRO/Wireless 2915ABG Network Connection [8086:4224] (rev 05)
Kernel driver in use: ipw2200
Kernel modules: ipw2200

>From time to time, the firmware flakes out, and I get messages like this:
[ I'm not sure which version of the firmware I have, I can't see anything
obvious in dmesg when the ipw2200 module loads: I have files like
ipw-2.4-bss.fw in /lib/firmware if that helps ]

Jul 14 03:42:25 neko kernel:
ipw2200: Failed to send SCAN_ABORT: Command timed out.
Jul 14 03:42:26 neko kernel:
ipw2200: Failed to send CARD_DISABLE: Command timed out.
Jul 14 03:42:32 neko kernel:
ipw2200: Failed to send SCAN_ABORT: Command timed out.
Jul 14 03:42:33 neko kernel:
ipw2200: Failed to send CARD_DISABLE: Command timed out.
Jul 14 03:42:39 neko kernel:
ipw2200: Failed to send SCAN_ABORT: Command timed out.

repeated again and again.

There's usually a "firmware error detected, restarting" message buried
somewhere in the logs before that happens.

Under kernel 2.6.16, I was able to fix this as follows:

echo -n 3 > /sys/class/net/$IFACE/device/power/state
sleep 1
echo -n 0 > /sys/class/net/$IFACE/device/power/state

( removing and reloading the module has no effect here, under
either kernel 2.6.16 or 2.6.24: taking the interface down and
bringing it up again is likewise ineffective )

However, I note that under 2.6.24 said /sys interface is no
longer present, so once the firmware dies, I am forced to either
hunt down a network cable with something useful on the other end,
or live without networking, or reboot.

Is there a new way to achieve the same effect in 2.6.24? If there's not,
is there likely to be in the future? Or should I just revert to 2.6.16
until such time as I replace my laptop and (hopefully) don't have to
struggle with the intel wifi hardware any more?

The firmware bug is covered here:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=875
if that's helpful/relevant.

[ CCd to netdev as I was told it would be of interest there too,
apologies if this is not the case ]

--
Vivek


2008-07-14 17:14:21

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.24 ipw2200 driver can't be reset after firmware explodes

(cc linux-wireless)

On Mon, 14 Jul 2008 13:27:51 +0100 (BST) Vivek Dasmohapatra <[email protected]> wrote:

> Hi: I have a thinkpad t43p with an ipw2200 driven piece of hardware in it.
>
> 04:02.0 Network controller [0280]:
> Intel Corporation PRO/Wireless 2915ABG Network Connection [8086:4224] (rev 05)
> Kernel driver in use: ipw2200
> Kernel modules: ipw2200
>
> >From time to time, the firmware flakes out, and I get messages like this:
> [ I'm not sure which version of the firmware I have, I can't see anything
> obvious in dmesg when the ipw2200 module loads: I have files like
> ipw-2.4-bss.fw in /lib/firmware if that helps ]
>
> Jul 14 03:42:25 neko kernel:
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> Jul 14 03:42:26 neko kernel:
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> Jul 14 03:42:32 neko kernel:
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> Jul 14 03:42:33 neko kernel:
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> Jul 14 03:42:39 neko kernel:
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
>
> repeated again and again.
>
> There's usually a "firmware error detected, restarting" message buried
> somewhere in the logs before that happens.
>
> Under kernel 2.6.16, I was able to fix this as follows:
>
> echo -n 3 > /sys/class/net/$IFACE/device/power/state
> sleep 1
> echo -n 0 > /sys/class/net/$IFACE/device/power/state
>
> ( removing and reloading the module has no effect here, under
> either kernel 2.6.16 or 2.6.24: taking the interface down and
> bringing it up again is likewise ineffective )
>
> However, I note that under 2.6.24 said /sys interface is no
> longer present, so once the firmware dies, I am forced to either
> hunt down a network cable with something useful on the other end,
> or live without networking, or reboot.
>
> Is there a new way to achieve the same effect in 2.6.24? If there's not,
> is there likely to be in the future? Or should I just revert to 2.6.16
> until such time as I replace my laptop and (hopefully) don't have to
> struggle with the intel wifi hardware any more?
>
> The firmware bug is covered here:
> http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=875
> if that's helpful/relevant.
>
> [ CCd to netdev as I was told it would be of interest there too,
> apologies if this is not the case ]
>