Questions about 802.11n support

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Questions about 802.11n support

T. Jameson Little
From what I've been able to gather, there is no 802.11n support in
OpenBSD because more work is needed in ieee80211(9). I would greatly
appreciate it if someone could answer a few questions for me:

* Is anyone working on this?
  * If so, is there any way that I could help?
  * If not, who would be the best to ask about where to get started?
* How much work is required? Is the work required in the order of days,
  weeks, months?
* Would parts of FreeBSD's implementation be useful, or are the two
  network stacks different enough that a new implementation is
  required?

I'm a relatively competent C programmer, but I have very little
experience with kernel code, much less network protocols. I would
like to use OpenBSD as an access point, but I need wireless-n @ 5GHz in
order to do so, so I'm motivated enough to allocate some time for
testing and even writing code. I could probably also supply some basic
hardware if that would help, though I don't have a big budget.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Mark Kettenis
> From: "T. Jameson Little" <[hidden email]>
> Date: Tue, 3 Mar 2015 23:44:44 -0700
>
> >From what I've been able to gather, there is no 802.11n support in
> OpenBSD because more work is needed in ieee80211(9). I would greatly
> appreciate it if someone could answer a few questions for me:
>
> * Is anyone working on this?
>   * If so, is there any way that I could help?
>   * If not, who would be the best to ask about where to get started?

Nobody is really working on this.  For most developers 11a/11g seems
to be good enough.

> * How much work is required? Is the work required in the order of days,
>   weeks, months?

Depends.  11n station support is probably something of the order of
days to a couple of -weeks. AP support is likely to be significantly
more work.

> * Would parts of FreeBSD's implementation be useful, or are the two
>   network stacks different enough that a new implementation is
>   required?

The OpenBSD 802.11 stack already has 11n bits in it.  They have not
really been tested though, so more fixes will be necessay.  I don't
think the FreeBSD code is going to help much.

I expect most of the work to be in driver code.

> I'm a relatively competent C programmer, but I have very little
> experience with kernel code, much less network protocols. I would
> like to use OpenBSD as an access point, but I need wireless-n @ 5GHz in
> order to do so, so I'm motivated enough to allocate some time for
> testing and even writing code. I could probably also supply some basic
> hardware if that would help, though I don't have a big budget.

I don't want to discourage you, but AP support for 11n will be quite
an effort.  Even if somebody gets 11n to work, I think it will be hard
work to make it work well.  Some people here will claim that OpenBSD
11a/11g APs don't really work very well.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Stefan Sperling-5
On Wed, Mar 04, 2015 at 08:52:34AM +0100, Mark Kettenis wrote:
> > * How much work is required? Is the work required in the order of days,
> >   weeks, months?
>
> Depends.  11n station support is probably something of the order of
> days to a couple of -weeks. AP support is likely to be significantly
> more work.

The actual amount of work depends on when you consider support complete.
11n has such a large feature set and optional parts that you can't
simply say "this is an 11n device" to explain what your device can do.

Are you done when one driver supports 11n? When all drivers capable of
11n support it? Out of the 77 modulation and coding schemes, which ones
do you want? For stations the minimum is 8 out of those, which leaves
you with a maximum 72Mbit/s (single-channel at 2Ghz). APs need at least
16 of them (maximum 144Mbit/s). Do you want 150Mbit/s (single antenna
maximum)?

Or do you require MIMO (multiple antennas), with a maximum of 300Mbit/s
with 2 antennas? 450 Mbit/s with 3 antennas? 600Mbit/s with 4 antennas?

> > * Would parts of FreeBSD's implementation be useful, or are the two
> >   network stacks different enough that a new implementation is
> >   required?
>
> The OpenBSD 802.11 stack already has 11n bits in it.  They have not
> really been tested though, so more fixes will be necessay.  I don't
> think the FreeBSD code is going to help much.
>
> I expect most of the work to be in driver code.

Based on code and literature I've read so far, I would agree here.

> > I'm a relatively competent C programmer, but I have very little
> > experience with kernel code, much less network protocols. I would
> > like to use OpenBSD as an access point, but I need wireless-n @ 5GHz in
> > order to do so, so I'm motivated enough to allocate some time for
> > testing and even writing code. I could probably also supply some basic
> > hardware if that would help, though I don't have a big budget.
>
> I don't want to discourage you, but AP support for 11n will be quite
> an effort.  Even if somebody gets 11n to work, I think it will be hard
> work to make it work well.  Some people here will claim that OpenBSD
> 11a/11g APs don't really work very well.

My 11a athn(4) AP is working quite well.
Apart from the fact that the soekris hardware won't really keep up
when I pump data from cable to antenna at 54Mbit/s. 11n support would
definitely require slightly more modern hardware ;-)

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

T. Jameson Little
On Wed, Mar 04, 2015 at 09:28:42AM +0100, Stefan Sperling wrote:

> The actual amount of work depends on when you consider support complete.
> 11n has such a large feature set and optional parts that you can't
> simply say "this is an 11n device" to explain what your device can do.
>
> Are you done when one driver supports 11n? When all drivers capable of
> 11n support it? Out of the 77 modulation and coding schemes, which ones
> do you want? For stations the minimum is 8 out of those, which leaves
> you with a maximum 72Mbit/s (single-channel at 2Ghz). APs need at least
> 16 of them (maximum 144Mbit/s). Do you want 150Mbit/s (single antenna
> maximum)?
>
> Or do you require MIMO (multiple antennas), with a maximum of 300Mbit/s
> with 2 antennas? 450 Mbit/s with 3 antennas? 600Mbit/s with 4 antennas?

I honestly just want 5GHz to work at minimum speeds in AP mode on a usb
wireless dongle. I run into interference on 2.4GHz because it's far too
common. I imagine that once this works, adding additional modulation
and coding schemes would be much easier.

Since USB 2.0 has a maximum throughput of 480Mbit/s, anything higher
than 300Mbit/s is not particularly important, and many consumer devices
only support 150Mbit/s anyway. 72Mbit/s is completely fine for an
initial implementation.

> > I don't want to discourage you, but AP support for 11n will be quite
> > an effort.  Even if somebody gets 11n to work, I think it will be hard
> > work to make it work well.  Some people here will claim that OpenBSD
> > 11a/11g APs don't really work very well.
>
> My 11a athn(4) AP is working quite well.
> Apart from the fact that the soekris hardware won't really keep up
> when I pump data from cable to antenna at 54Mbit/s. 11n support would
> definitely require slightly more modern hardware ;-)

Well, I'm much more capable of fixing existing drivers to make it work
well than building something from scratch, and I imagine the same is
true for many developers, because you work on whatever affects you.

So, last question, where exactly does 11n support sit in the list of
features to be added to OpenBSD?

I understand that there are many worthy projects that require ongoing
work (e.g. LibreSSL, OpenNTPD, OpenSSH, etc), and I also understand
that many people don't need 11n support. If 11n really isn't a
priority, then I'll probably use FreeBSD as my AP until it becomes a
larger priority (I'd really prefer OpenBSD, but I can still use it as
a router). I'm moving my home network to 5GHz only because of
interference issues, and I may do the same soon at work if it works
out well.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Adam Van Ymeren
On Thu, Mar 5, 2015 at 1:05 PM, T. Jameson Little <[hidden email]> wrote:

> On Wed, Mar 04, 2015 at 09:28:42AM +0100, Stefan Sperling wrote:
>> The actual amount of work depends on when you consider support complete.
>> 11n has such a large feature set and optional parts that you can't
>> simply say "this is an 11n device" to explain what your device can do.
>>
>> Are you done when one driver supports 11n? When all drivers capable of
>> 11n support it? Out of the 77 modulation and coding schemes, which ones
>> do you want? For stations the minimum is 8 out of those, which leaves
>> you with a maximum 72Mbit/s (single-channel at 2Ghz). APs need at least
>> 16 of them (maximum 144Mbit/s). Do you want 150Mbit/s (single antenna
>> maximum)?
>>
>> Or do you require MIMO (multiple antennas), with a maximum of 300Mbit/s
>> with 2 antennas? 450 Mbit/s with 3 antennas? 600Mbit/s with 4 antennas?
>
> I honestly just want 5GHz to work at minimum speeds in AP mode on a usb
> wireless dongle. I run into interference on 2.4GHz because it's far too
> common. I imagine that once this works, adding additional modulation
> and coding schemes would be much easier.

If you're just trying to avoid 2.4GHz noise, you could use 802.11a

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Stefan Sperling-5
In reply to this post by T. Jameson Little
On Thu, Mar 05, 2015 at 11:05:26AM -0700, T. Jameson Little wrote:
> I honestly just want 5GHz to work at minimum speeds in AP mode on a usb
> wireless dongle. I run into interference on 2.4GHz because it's far too
> common. I imagine that once this works, adding additional modulation
> and coding schemes would be much easier.

And 11a is really not good enough for now?

> Since USB 2.0 has a maximum throughput of 480Mbit/s, anything higher
> than 300Mbit/s is not particularly important, and many consumer devices
> only support 150Mbit/s anyway. 72Mbit/s is completely fine for an
> initial implementation.

Yes, it would be a good first step forward.

> Well, I'm much more capable of fixing existing drivers to make it work
> well than building something from scratch, and I imagine the same is
> true for many developers, because you work on whatever affects you.

FreeBSD and Linux wireless drivers could serve as source of inspiration,
and given licence compatibility perhaps even some code.

> So, last question, where exactly does 11n support sit in the list of
> features to be added to OpenBSD?

Well, it is a huge project no matter which way you look at it.
Huge projects need a different kind of commitment than small ones.
It's all about someone able to do the work making that commmitment.

Most active OpenBSD wireless hackers (which you can count on one hand)
are working on this in their spare time and are also busy with other
important parts of the code base. They work on it for their own personal
needs (as was the case with e.g. iwm(4) found in several machines used by
developers) or because it's a fun learning experience (at least in my case).

I started making small improvements to net80211 in 2012 to fix stability
issues with my home AP. Since then I've been focusing on improving support
for new wifi devices or existing drivers in a/b/g mode because that kind
of work can be done in small chunks on weekends. Nobody cares if I drop it
for a while and pick it up again later.
At a given time I have about 3 to 4 driver projects to work on and nobody
demands more of my time than I can give, ignoring the occasional nagging
request for this or that wifi device I get in private mail, mostly from
users with unsupported built-in cards who are somehow unable or unwilling
to obtain a supported device. I can ignore them with no consequences.

Every release has since seen small incremental improvements in wifi drivers,
but no revolutionary changes.

I believe the dynamics and drain on my (or anyone's) time would be a very
different if the goal was 11n. Shipping a new and popular feature like
11n in a half-broken state for release is obviously not acceptable.
There would also be fairly wide disappointment if it gets delayed (relative
to a single driver that stays in a broken state it has always been in).
I cannot afford to let that interfere with my dayjob, and my sanity.
I also have other hobbies and a girlfriend and family to spend time with.

This is my personal take on it. I don't speak for others or the project
as a whole.

> I understand that there are many worthy projects that require ongoing
> work (e.g. LibreSSL, OpenNTPD, OpenSSH, etc), and I also understand
> that many people don't need 11n support. If 11n really isn't a
> priority, then I'll probably use FreeBSD as my AP until it becomes a
> larger priority (I'd really prefer OpenBSD, but I can still use it as
> a router). I'm moving my home network to 5GHz only because of
> interference issues, and I may do the same soon at work if it works
> out well.

Of course, if you really need 11n now, FreeBSD is an option.
Note that their wireless developers work (or used to work?) for Atheros.
That makes a crucial difference. And Linux has in-house developers writing
drivers at every major wifi vendor by now. So no surprise you have 11n there.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Alexey Suslikov
In reply to this post by T. Jameson Little
T. Jameson Little <beatgammit <at> gmail.com> writes:
> Well, I'm much more capable of fixing existing drivers to make it work
> well than building something from scratch, and I imagine the same is
> true for many developers, because you work on whatever affects you.

IMO, "fixing existing drivers" should take popularity into account.

I asked sthen@ some time ago (in early 2013) about 802.11 drivers
usage (according to dmesg logs), and he replied:

we already have information about chips from dmesglog. since may 2009:

   2 an
   2 malo
   2 urtwn
   4 atu
   4 zyd
   7 acx
   7 otus
   7 ural
  13 rsu
  13 uath
  16 ipw
  33 wi
  43 iwi
  44 run
  50 rum
  67 bwi
 105 urtw
 107 ral
 114 wpi
 171 ath
 199 athn
 547 iwn

(end of quote).

So, IMO, "fixing" Intel's drivers maybe be kinda preferred way to go
because of higher usage and better quality/documentation.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Stefan Sperling-5
On Thu, Mar 05, 2015 at 09:22:51PM +0000, Alexey Suslikov wrote:

> T. Jameson Little <beatgammit <at> gmail.com> writes:
> > Well, I'm much more capable of fixing existing drivers to make it work
> > well than building something from scratch, and I imagine the same is
> > true for many developers, because you work on whatever affects you.
>
> IMO, "fixing existing drivers" should take popularity into account.
>
> I asked sthen@ some time ago (in early 2013) about 802.11 drivers
> usage (according to dmesg logs), and he replied:
>
> we already have information about chips from dmesglog. since may 2009:
>
>    2 an
>    2 malo
>    2 urtwn
>    4 atu
>    4 zyd
>    7 acx
>    7 otus
>    7 ural
>   13 rsu
>   13 uath
>   16 ipw
>   33 wi
>   43 iwi
>   44 run
>   50 rum
>   67 bwi
>  105 urtw
>  107 ral
>  114 wpi
>  171 ath
>  199 athn
>  547 iwn
>
> (end of quote).
>
> So, IMO, "fixing" Intel's drivers maybe be kinda preferred way to go
> because of higher usage and better quality/documentation.

This list doesn't count unsupported devices. It is skewed towards built-in
devices, e.g. urtwn is quite common but it is at the bottom of this list.
I think these numbers just mean that most laptop installs happen on thinkpads.

People working in their free time tend to work on what they want to work on,
not what other people would like them to work on.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Alexey Suslikov
On Thu, Mar 5, 2015 at 11:45 PM, Stefan Sperling <[hidden email]> wrote:

> On Thu, Mar 05, 2015 at 09:22:51PM +0000, Alexey Suslikov wrote:
>> T. Jameson Little <beatgammit <at> gmail.com> writes:
>> > Well, I'm much more capable of fixing existing drivers to make it work
>> > well than building something from scratch, and I imagine the same is
>> > true for many developers, because you work on whatever affects you.
>>
>> IMO, "fixing existing drivers" should take popularity into account.
>>
>> I asked sthen@ some time ago (in early 2013) about 802.11 drivers
>> usage (according to dmesg logs), and he replied:
>>
>> we already have information about chips from dmesglog. since may 2009:
>>
>>    2 an
>>    2 malo
>>    2 urtwn
>>    4 atu
>>    4 zyd
>>    7 acx
>>    7 otus
>>    7 ural
>>   13 rsu
>>   13 uath
>>   16 ipw
>>   33 wi
>>   43 iwi
>>   44 run
>>   50 rum
>>   67 bwi
>>  105 urtw
>>  107 ral
>>  114 wpi
>>  171 ath
>>  199 athn
>>  547 iwn
>>
>> (end of quote).
>>
>> So, IMO, "fixing" Intel's drivers maybe be kinda preferred way to go
>> because of higher usage and better quality/documentation.
>
> This list doesn't count unsupported devices. It is skewed towards built-in
> devices, e.g. urtwn is quite common but it is at the bottom of this list.
> I think these numbers just mean that most laptop installs happen on thinkpads.

Yes. I understand. I have urtwn too, because of built-in

"Ralink RT3290" rev 0x00 at pci2 dev 0 function 0 not configured

is not supported (I tried to hack on top of linux driver with no success).

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a89534edaaa7008992b878680490e9b02a665563

My point was, development should start around something widespread
so people can test easily. This maybe urtwn, iwn and iwm, for instance.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Alexey Suslikov
In reply to this post by T. Jameson Little
T. Jameson Little <beatgammit <at> gmail.com> writes:

> Since USB 2.0 has a maximum throughput of 480Mbit/s, anything higher
> than 300Mbit/s is not particularly important, and many consumer devices
> only support 150Mbit/s anyway. 72Mbit/s is completely fine for an
> initial implementation.

I slightly disagree here because newer PCIe connected chips can do more.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Stefan Sperling-5
In reply to this post by Alexey Suslikov
On Fri, Mar 06, 2015 at 12:22:09AM +0200, Alexey Suslikov wrote:
> My point was, development should start around something widespread
> so people can test easily. This maybe urtwn, iwn and iwm, for instance.

Yes, as far as 11n is concerned, starting with a focus on a single
popular device driver would be a good idea.

I mistook your statement as referring to the fixing of general kinds
of bugs in any of the wifi drivers, outside the context of 11n.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Theo de Raadt
In reply to this post by T. Jameson Little
>My point was, development should start around something widespread
>so people can test easily. This maybe urtwn, iwn and iwm, for instance.

You deleted Stefan's last paragraph in his previous mail --
SPECIFICALLY -- because it refutes what you state.

He (and others) will work on what they want to work on.  Not what you
want.  Unless those events coincide.  That coincidence lands in his
(and his girlfriend/wife's) pervue, not in yours.

The problem is you don't pay it backwards.  You don't pay it forward.
You don't pay at all.  You just beg.  In fact, your mails don't beg,
they insist -- hang on -- your mails demand specific paths of effort.
You try to argue for your needs, providing nothing to allow that to
happen, except defacto insults against the people who would try to
improve the general issues.  You don't try to understand their view on
what you write.

So I'll ask in a general fashion: Are you stupid? Or do you just
believe expression of "my needs!  our needs!  that is what we need"
will result in the right effects?  Or is your mail placed to create a
response like mine, which will try to make us look unfriendly because
we don't give you what you demand?

You don't provide any encouragement except for "me me!  think of me!".

Somehow you don't understand you are just like the people who run
Windows because "it just works, Microsoft is obviously listening to my
list of needs".  So why not just go run Windows?


I fully recognize OpenBSD is a strange fringe development community.
You should recognize that too, or walk away.


But instead you are engaging on the list, behaving like a
value-add-nothing user, and yet demanding specific featuresets
without any understanding of the effort, actually since this is a
thread you are going further and doubling down to expose it as demand.

You are out of touch.  Can at least learn to behave properly in a
space when you get things for nothing?

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Theo de Raadt
In reply to this post by T. Jameson Little
>T. Jameson Little <beatgammit <at> gmail.com> writes:
>
>> Since USB 2.0 has a maximum throughput of 480Mbit/s, anything higher
>> than 300Mbit/s is not particularly important, and many consumer devices
>> only support 150Mbit/s anyway. 72Mbit/s is completely fine for an
>> initial implementation.
>
>I slightly disagree here because newer PCIe connected chips can do more.

Prove it with source code ready for our tree.  Else, bah, loser.

Reply | Threaded
Open this post in threaded view
|

Re: Questions about 802.11n support

Theo de Raadt
In reply to this post by T. Jameson Little
>On Fri, Mar 06, 2015 at 12:22:09AM +0200, Alexey Suslikov wrote:
>> My point was, development should start around something widespread
>> so people can test easily. This maybe urtwn, iwn and iwm, for instance.
>
>Yes, as far as 11n is concerned, starting with a focus on a single
>popular device driver would be a good idea.
>
>I mistook your statement as referring to the fixing of general kinds
>of bugs in any of the wifi drivers, outside the context of 11n.

Right, but wrong.

As Stefan knows, there are two kinds of wifi drivers.  Raw management
and firmware assist.  Any work not paying attention to both will create
more trouble.

But he knows this.  Stefan is being too nice.