看板 DFBSD_submit 關於我們 聯絡資訊
Folks, I've ported Damien Bergamini's iwi (Intel(R) PRO/Wireless 2200BG MiniPCI) to DragonFly. BSS, and IBSS mode are working and appear to be quite robust. I haven't done much WEP testing, but I'm not anticipating any problems. Performance is similar to ndis, but on my laptop at least, iwi appears to be a lot more robust (ndis works fine when it's up, but it may only be brought up on a 'quiet' system) - I can't, for instance, load the modules and up the interface while any X apps are busy. kldunloading ndis/if_ndis often panics the system, and kldloading/unloading ndis/if_ndis is not always a safe thing to do. In my playing with iwi I think some of the ndis panics could have to do with sysctl tree felling while apps (like gkrellm) are walking the tree, but I think it also has problems in that it enables interrupts way too early - way before it's ready to handle them. On my system interrupts are shared and so I think what may be happening is that ndis_intr() is getting an interrupt intended for another device and then is reacting before all of its softc data structures have been completely initialised. This is just a guess, but it *looks* like that. And then there are the one-per-day lockups, usually at bad times - that appear to be triggered by dhclient's habit of regularly downing/uping the ndis interface. I'm always in X when they happen and so have no clue as to their cause. :( So I was pretty happy to discover Damien's driver, and had a lot of fun porting it to DragonFly. This is my first serious network driver work, and represents about 2-3 weeks of effort (mostly focussed on getting the IBSS piece working). As with most other wireless drivers the firmware piece is separate and has it's own license. I'd be very appreciative if someone could review / accept this work for inclusion ... let me know where I should upload it. The compressed tarball is around 28k. Andrew.