[haiku-development] Re: Integrating WLAN stack into Haiku - What to do?

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 28 Sep 2009 11:52:04 +0200

Hi Colin,

On 2009-09-26 at 21:03:39 [+0200], Colin Günther <coling@xxxxxx> wrote:
> After making wifi for Haiku a reality I'm seeking for getting the sources 
> into Haiku's repository. I'm aware of, that this will require additional 
> work on my part, but I'm willing to do what is required. I believe that 
> there are some Haiku developers unpleasent to see in which manner the 
> stack was created. Mainly the fact of making a port will polarize I can 
> imagine. Two arguments directed me to go the port-way first:
>     1. A usable wifi is achievable faster.
>     2. Experience with the port made in the field and during porting can 
> be applied to the design of the haiku-specific one.

Re-using as much code as possible was definitely the way to go.

> I'm suggesting following 4 stages for integrating the stack (every phase 
> entitles a list of my todos):
>     1. Integrating the enhanced FreeBSD compatibility layer
>           - Implement conditional variables layer by make use of Haiku's 
> kernel cond var API
>           - Coding style cleanup (mainly regarding copyright notations)
>           - Compatibility test with existing drivers
>          
>           sources: 
> http://dev.osdrawer.net/repositories/browse/haiku-wifi/trunk/wifi/libs/freebsd_network2

I can see no issue with integrating an updated compatibility layer, except 
if it breaks all existing drivers, which I presume it doesn't. :-) So this 
step of your plan could take place without any design discussions.


>     2. Integrating WLAN stack port
>           - Enable dynamic driver un-/reloading
>           - Update to RTM version of FreeBSD 8 (currently Beta 3 is 
> used) as soon as it is published (~ end of November)
>           - General cleanup (file names, remove unused sources)
> 
>           sources: 
> http://dev.osdrawer.net/repositories/browse/haiku-wifi/trunk/wifi/libs/freebsd_wlan

Again, I don't see why there would be discussions necessary. Re-using the 
code made sense, IMHO.


>     3. Integrating drivers
>           - Update to RTM version of FreeBSD 8 (see above)
> 
>           sources: 
> http://dev.osdrawer.net/repositories/browse/haiku-wifi/trunk/wifi/drivers

That's a no-brainer. But every driver must be tested to make sure it works 
correctly.


>     4. Integrating userland API
>           - Complete design (add show current network functionality)
>           - Complete implementation of API (join selected network, show 
> current network)
> 
>           sources: 
> http://dev.osdrawer.net/repositories/browse/haiku-wifi/trunk/wifi/libs/bosii
>                        
> http://dev.osdrawer.net/repositories/browse/haiku-wifi/trunk/wifi/headers

That's the part where some discussion could and should take place. I am 
looking forward to that. Is someone already working on the integration with 
(one of) the network preflet(s)?

Best regards,
-Stephan

Other related posts: