meetanshu gupta wrote: > Hi friends! > > I am a student of third year computer engineering! I want to take up the > task for adding the wifi stack to the OS. Can some of the mentore please > give me some more details of where to start from, as very little is given > on Ideas page. > > i really want to take up this project as i have hands on experience on > building a wifi netework and hence know details about the wifi techniques > and protocols since my college campus was wi-fi ed few months back and i > was one of the active supervisors of the task. This sounds pretty exciting! Before I start to describe any of my thoughts here, I do not see myself qualified at all to mentor this project. That said, I would approach it the following way: First of all you probably need a working network driver for a wireless device that you can test with. There is already a driver in the repository for a certain Centrino generation and a few more are available on BeBits. These drivers are all configured via settings files, so that makes me think the drivers themself do not need specific support in the network stack itself to work at all. Anyways, maybe you need to port another driver for your hardware, hopefully there is a modern FreeBSD driver for it, then this might turn out to be easy because of the FreeBSD compatibility layer we have for network drivers. The next step would be to look for the missing infrastructure in our network stack. Personally, I don't even have an idea of what could be missing / should be there. But I guess there needs to be a way to dynamically reconfigure the device for changing conditions, like networks becoming unavailable and new ones becoming avaialble. The driver would have to notify the stack that it needs a new configurtion. I guess userland applications, most importantly the Network preflet and status monitoring apps, will want to communicate with wireless specific features of the network stack. I imagine this is the infrastructure which is missing and an API will need to be defined. I would define a common ioctl protocol for drivers, or perhaps reuse the one from FreeBSD if is has a common one for Wireless drivers, and build this into the net_server. Then design a messaging API for communicating with the net_server for other apps which exposes this functionality in a more accessible way. Anyways, I guess Axel will have a lot more to add or correct. :-) Best regards, -Stephan