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 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. 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? 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?
