On Mon, Mar 2, 2009 at 6:20 AM, Johannes Hofmann <[email protected]> wrote: > Sepherosa Ziehau <[email protected]> wrote: >> On Sat, Feb 28, 2009 at 4:46 PM, Johannes Hofmann >> <[email protected]> wrote: >>> Sepherosa Ziehau <[email protected]> wrote: >>>> On Fri, Feb 27, 2009 at 10:18 PM, Johannes Hofmann >>>> <[email protected]> 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, sephe -- Live Free or Die
