tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Are we there yet? (or: what happened to the wifi renewal)



Hey folks,

it has been a bit silent after my initial post about the continuation
of the wifi renewal (https://blog.NetBSD.org/tnf/entry/wifi_renewal_restarted),
and I am sorry about this.

I would have prefered to post another entry on the blog with success
and calls for others to start converting drivers for hardware I do not have
easy access to -- but we are not there yet.

After starting with the old cvs branch (and making some cvs mistakes) I got
mad at cvs and decided to use this project as a stress test for our new
mercurial setup. Great idea, it showed a bit of issues and helped improve
the hg setup.

There is a guide how to access the "topic" on hg here:

	https://wiki.NetBSD.org/Wifi_renewal_on_hg/

If you check commits on that topic you will notice they stopped ~1
month ago - that is when I went on a yak shaving experience removing
all hacks used to bring up the new code with minimal changes to NetBSD
outside of the sys/net80211 directory. This was great for its time, but
now we want to make the full leap. So to get full support for mulitple
virtual access points (VAP) for single radio hardware we needed more
userland and kernel changes.

Unfortunately this is an all-or-nothing change, and as long as I have not
proven the new things to work I did not commit the local changes to the hg
topic (maybe should have created a separate topic/branch for that - not yet
familiar with hg that much so didn't consider it when I started).

Right now I am pretty close to have at least two drivers known to work with
the new world order. When those are verified/fixed (and two open issues
in the generic stack solved) I will:

 - commit all changes to the hg topic
 - sync to NetBSD head (currently at 9.9.69)
 - maybe sync to FreeBSD head (we are now 2-3 months back)
 - make amd64 GENERIC build (currently using a special test kernel config)
 - document build settings for a full build.sh (or temporarily adjust the
   build to skip not yet converted drivers/modules)
 - polish driver conversion documentation
 - start a wiki page with driver status, capabilities and test coverage
 - write a guide how to test / use wifi in the new world order

... and then there will be a "we are nearly there!" blog post.

As a side note: this work in progress has received a very warm 
welcome from the FreeBSD wifi developers, we are talking about some open
issues, generic locking improvements, and especialy ways to reduces #ifdef
mess in our version by abstracting NetBSD/FreeBSD specific differences
properly (e.g. our kauth based privilege handling).

Special thanks to nat@ who helped with lots of debugging and driver 
enhancements, and to phil@ who did all the initial work.

Martin


Home | Main Index | Thread Index | Old Index