DragonFly bugs List (threaded) for 2009-03
Re: "iwi0: fatal error" on boot
Sepherosa Ziehau <firstname.lastname@example.org> wrote:
> On Sat, Feb 28, 2009 at 4:46 PM, Johannes Hofmann
> <email@example.com> wrote:
>> Sepherosa Ziehau <firstname.lastname@example.org> wrote:
>>> On Fri, Feb 27, 2009 at 10:18 PM, Johannes Hofmann
>>> <email@example.com> wrote:
>>>> 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
Unfortunately even with ipw2200-fw-3.0 I get the same error when
But I noticed that setting ap_scan from 1 to 0 makes the issue go
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
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?
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?