2006-11-02 03:14:45

by Ivan Matveich

[permalink] [raw]
Subject: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

hardware: ibm thinkpad t30
kernel: 2.6.18
problem:

airo(): Probing for PCI adapters
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI Interrupt 0000:02:02.0[A] -> Link [LNKC] -> GSI 11 (level,
low) -> IRQ 11
airo(eth1): Found an MPI350 card
airo(eth1): Max tries exceeded when issueing command
airo(eth1): Couldn't allocate RX FID
airo(eth1): Could not map memory
airo(): Finished probing for PCI adapters

Any ideas?

1) Firmware upgrade/downgrade? (How?)
2) Command sequence to better reset the card? Documentation?

My complete dmesg log (at loglevel=8) follows. TIA.


Attachments:
(No filename) (582.00 B)
dmesg.txt (23.46 kB)
Download all attachments

2006-11-02 16:14:00

by Dan Williams

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

On Wed, 2006-11-01 at 22:14 -0500, Ivan Matveich wrote:
> hardware: ibm thinkpad t30
> kernel: 2.6.18
> problem:
>
> airo(): Probing for PCI adapters
> ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
> ACPI: PCI Interrupt 0000:02:02.0[A] -> Link [LNKC] -> GSI 11 (level,
> low) -> IRQ 11
> airo(eth1): Found an MPI350 card
> airo(eth1): Max tries exceeded when issueing command
> airo(eth1): Couldn't allocate RX FID
> airo(eth1): Could not map memory
> airo(): Finished probing for PCI adapters

It appears that the driver cannot talk to your card; see the "max tries
exceeded when issueing command". Did this card work previously with a
kernel? Can narrow down which kernels have problems and which don't?

> Any ideas?
>
> 1) Firmware upgrade/downgrade? (How?)

It's a bit hard to figure out what firmware you have because the driver
can't talk to the card; can you boot under Windows and determine that
using the Cisco wireless utility? You also need to flash the card under
Windows, not Linux, ideally to a version of firmware greater than
5.60.08.

> 2) Command sequence to better reset the card? Documentation?

reloading the driver (rmmod airo; modprobe airo) should reset the card.

Dan


2006-11-02 18:30:45

by Ivan Matveich

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

On 11/2/06, Dan Williams <[email protected]> wrote:
> It appears that the driver cannot talk to your card; see the "max tries
> exceeded when issueing command". Did this card work previously with a
> kernel? Can narrow down which kernels have problems and which don't?

It spontaneously stopped working about a week after I bought the
laptop and installed Linux. I tried kernel 2.6.12 and it had the same
problem. (Let me know if you'd like me to try a specific version.)

I'm hoping that the card has simply got itself into some kind of
invalid state, and not failed altogether.

> It's a bit hard to figure out what firmware you have because the driver
> can't talk to the card; can you boot under Windows and determine that
> using the Cisco wireless utility? You also need to flash the card under
> Windows, not Linux, ideally to a version of firmware greater than
> 5.60.08.

I haven't run Windows in many years, so that's problematic. What's the
most straightforward way to boot into a Windows environment sufficient
to run the Cisco wireless utility?

> reloading the driver (rmmod airo; modprobe airo) should reset the card.

Yeah, it unfortunately doesn't help. (Nor does rebooting or resetting
the bios.) I noticed a suspiciously relevant commit in the airo.c git
log:

[wireless airo] reset card in init

without this patch after an rmmod, modprobe the card won't work anymore
until the next reboot.

This patch seem safe to apply for all cards as the bsd driver already do
that.

I had to add a timeout because strange things happen (issuecommand will
fail) if the card is already reseted (after a reboot).

PS : it seems there are missing reset when leaving monitor mode...

Signed-off-by: Matthieu CASTET <[email protected]>

and that makes me wonder if there might be some kind of subtle bug in
the card initialization sequence that manifests itself with my
particular card/firmware.

I think I'll burn a freebsd livecd today and see if their kernel works.

2006-11-02 19:12:27

by Dan Williams

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

On Thu, 2006-11-02 at 13:30 -0500, Ivan Matveich wrote:
> On 11/2/06, Dan Williams <[email protected]> wrote:
> > It appears that the driver cannot talk to your card; see the "max tries
> > exceeded when issueing command". Did this card work previously with a
> > kernel? Can narrow down which kernels have problems and which don't?
>
> It spontaneously stopped working about a week after I bought the

That does not bode well for the card itself.

> laptop and installed Linux. I tried kernel 2.6.12 and it had the same
> problem. (Let me know if you'd like me to try a specific version.)

2.6.12 should be old enough, but maybe if you could try 2.6.9 that would
definitely be old enough to rule out recent airo changes.

> I'm hoping that the card has simply got itself into some kind of
> invalid state, and not failed altogether.
>
> > It's a bit hard to figure out what firmware you have because the driver
> > can't talk to the card; can you boot under Windows and determine that
> > using the Cisco wireless utility? You also need to flash the card under
> > Windows, not Linux, ideally to a version of firmware greater than
> > 5.60.08.
>
> I haven't run Windows in many years, so that's problematic. What's the
> most straightforward way to boot into a Windows environment sufficient
> to run the Cisco wireless utility?

You get to either install windows on your laptop, or pull the card
(pcmcia or minipci, either way) and put it into a windows computer.

> > reloading the driver (rmmod airo; modprobe airo) should reset the card.
>
> Yeah, it unfortunately doesn't help. (Nor does rebooting or resetting
> the bios.) I noticed a suspiciously relevant commit in the airo.c git
> log:
>
> [wireless airo] reset card in init
>
> without this patch after an rmmod, modprobe the card won't work anymore
> until the next reboot.
>
> This patch seem safe to apply for all cards as the bsd driver already do
> that.
>
> I had to add a timeout because strange things happen (issuecommand will
> fail) if the card is already reseted (after a reboot).
>
> PS : it seems there are missing reset when leaving monitor mode...
>
> Signed-off-by: Matthieu CASTET <[email protected]>

Do you know which kernel version that patch first appeared in?

> and that makes me wonder if there might be some kind of subtle bug in
> the card initialization sequence that manifests itself with my
> particular card/firmware.

Could be, it would be quite helpful to get the version of firmware you
are using. Versions earlier than 5.30.17 are known not be flaky or even
not work with newer Linux kernel drivers since Cisco changed the
firmware interface in that version. That said, I've seen cards in the
5.00.xx range work with the latest drivers, but not well. These older
firmware versions sometimes lock up sponaneously and require a reboot,
updating to later firmware post-5.30.17 fixes that problem.

> I think I'll burn a freebsd livecd today and see if their kernel works.

That would be a great idea, let us know what the results are, especially
if you cna figure out which firmware version you have, or if the card
itself is really just dead.

Thanks,
Dan

2006-11-02 21:21:19

by Ivan Matveich

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

On 11/2/06, Dan Williams <[email protected]> wrote:
> Do you know which kernel version that patch first appeared in?

It was committed on 1 Dec 2005, and 2.6.15 was released on 3 Jan 2006.

> That would be a great idea, let us know what the results are, especially
> if you cna figure out which firmware version you have, or if the card
> itself is really just dead.

No luck with freebsd: error resetting card.

I'll try my luck with Cisco's Windows utility---probably
tomorrow---but I'd now wager that my card has simply croaked. (I've
even taken it out and re-seated it in its slot, just in case that
helped.) In any case, thanks for the help.

2006-11-02 21:27:18

by Jean Tourrilhes

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

On Thu, Nov 02, 2006 at 04:21:16PM -0500, Ivan Matveich wrote:
> On 11/2/06, Dan Williams <[email protected]> wrote:
> >Do you know which kernel version that patch first appeared in?
>
> It was committed on 1 Dec 2005, and 2.6.15 was released on 3 Jan 2006.
>
> >That would be a great idea, let us know what the results are, especially
> >if you cna figure out which firmware version you have, or if the card
> >itself is really just dead.
>
> No luck with freebsd: error resetting card.
>
> I'll try my luck with Cisco's Windows utility---probably
> tomorrow---but I'd now wager that my card has simply croaked. (I've
> even taken it out and re-seated it in its slot, just in case that
> helped.) In any case, thanks for the help.

Just remembered... Check the IRQ allocation. I remmeber having
issues with the BIOS not doing the right stuff.

Jean

2006-11-03 17:08:11

by Benjamin Reed

[permalink] [raw]
Subject: Re: [airo.c bug] Couldn't allocate RX FID / Max tries exceeded when issueing command

You might find this thread useful if it is just a case
of messed up firmware:
http://sourceforge.net/mailarchive/message.php?msg_id=2970511

The gist of it is that sometimes DOS utilities work
when all else fails.

ben

--- Ivan Matveich <[email protected]> wrote:

> On 11/2/06, Dan Williams <[email protected]> wrote:
> > Do you know which kernel version that patch first
> appeared in?
>
> It was committed on 1 Dec 2005, and 2.6.15 was
> released on 3 Jan 2006.
>
> > That would be a great idea, let us know what the
> results are, especially
> > if you cna figure out which firmware version you
> have, or if the card
> > itself is really just dead.
>
> No luck with freebsd: error resetting card.
>
> I'll try my luck with Cisco's Windows
> utility---probably
> tomorrow---but I'd now wager that my card has simply
> croaked. (I've
> even taken it out and re-seated it in its slot, just
> in case that
> helped.) In any case, thanks for the help.
>