"iwi0: fatal error" on boot

Sepherosa Ziehau sepherosa at gmail.com
Mon Mar 2 05:17:59 PST 2009

On Mon, Mar 2, 2009 at 6:20 AM, Johannes Hofmann
<johannes.hofmann at gmx.de> wrote:
> Sepherosa Ziehau <sepherosa at gmail.com> wrote:
>> On Sat, Feb 28, 2009 at 4:46 PM, Johannes Hofmann
>> <johannes.hofmann at gmx.de> wrote:
>>> Sepherosa Ziehau <sepherosa at gmail.com> wrote:
>>>> On Fri, Feb 27, 2009 at 10:18 PM, Johannes Hofmann
>>>> <johannes.hofmann at gmx.de> wrote:
>>>>> Hi,
>>>>> I'm using the iwi driver with wpa successfully on my Thinkpad T42p for
>>>>> quite while now with WPA enabled.
>>>>> During but I'm always seeing:
>>>>> iwi0: fatal error
>>>>> iwi0: wake firmware monitor
>>>>> iwi0: reset firmware
>>>>> And then things work fine. Is this expected?
>>>>> Also in some cases (about 1 of 50 boots) the iwi0 device seems to
>>>>> hang (no network traffic going through. A reboot helps.
>>>>> All this is not urgent of course, but I thought I should mention it.
>>>>> Are there any plans to update the iwi driver? I could try to help.
>>>> I wanted to rewrite it for a long time, but never find enough time
>>>> after I whacked ipw(4) :P
>>>> Would you be interested? :)
>>> Interested yes, but it seems that you have rewritten iwl from scratch.
>>> I could try to port something over from another BSD, but a complete
>>> rewrite is a bit too much for me I guess :)
>> OK :).  You could take a look at FreeBSD's iwi.  They did a great job
>> to improve the driver's state.
> I converted iwi to use the firmware(9) API and adapted it to the
> layout of newer firmware versions in the hope that this would fix the
> problem:
> http://leaf.dragonflybsd.org/~hofmann/iwi_firmware.diff

Cool, I will commit it tomorrow.

> Unfortunately even with ipw2200-fw-3.0 I get the same error when
> starting wpa_supplicant.
> But I noticed that setting ap_scan from 1 to 0 makes the issue go
> away.

Intel's firmware is always oversmart.  I think this error is kinda
bogus, maybe you could consider removing the loud warning :)

> Anyway, I think the firmware(9) conversion and update to newer firmware
> version is generally a good thing as it would allow to nuke iwicontrol.
> To test you need to put the firmware files from
> http://ipw2200.sourceforge.net/firmware.php?fid=7
> in a directory /etc/firmware/iwi/2200/3.0/
> In the current form it only supports firmware version 3.0 and higher.
> Do we need compatibility code for older firmware versions?

Nope, I don't think we need to add compat code.

> Cheers,
> Johannes
> PS: It is not yet using the generic dma stuff from firmware(9) as I
> did not know what to use as parent_tag. Any ideas?

parent_tag should be a child busdma tag of driver's top level busdma
tag (iwi does not have a top level busdma tag).  Driver's top level
busdma tag usually puts limit on the lowaddr, while its children
usually put limits on alignment and/or boundary.  I plan to rearrange
firmware(9)'s busdma related bits, so we will not need to create a
busdma tag just to inherit alignment/boundary parameters.

Best Regards,

Live Free or Die

More information about the Bugs mailing list