ath(4) failing with ath_reset for AR9285
Matthew Dillon
dillon at apollo.backplane.com
Thu Mar 8 21:56:02 PST 2012
:stuff that Sam removed from FreeBSD's net80211. I'd like to see this
:portable to multiple operating systems rather than directly fondling
:some FreeBSD stuff.
:
:We can talk more about this at bsdcan if you/I are going.
:
:FWIW - 802.11ac is > 1GBit/sec PHY rate wireless and people are
:already thinking of embedded devices with multiple 11ac NICs in them.
:Scary stuff. :)
:
:Adrian
I don't know if I'll be at BSDCAN yet or not.
The biggest problem the 802.11 infrastructure has is that its complexity
winds up crashing the system, and I don't see that complexity ever
being reduced.
One thing that struck me while looking at the code is that all of the
complexity of the 802.11 device infrastructure that implements the
'wlan' pseudo-interface could be moved to userland... everything except
the actual transmission and reception of a packet, which would use
existing direct paths inside the kernel. It might also be possible to
do away with the wlan pseudo-interface as well, or perhaps operate it
similarly to TAP/TUN (where the userland infrastructure code would
sit between the WLAN pseudo-interface and a physical interface like
'ath'). With a bypass for bulk packet rx and tx, of course.
The API at the physical device (aka 'ath') layer could then be
implemented via ioctls instead of kernel<->kernel API function calls,
leading to more straight-forward locking.
This would also greatly reduce the memory footprint of the implementation
since the system can release the text userland pages, most of which
won't be accessed once the wifi connection is setup (except for the
beacon code, of course).
It would be a lot of work but might also be the only way to make the
infrastructure reliable. It would certainly make it a lot easier to
maintain the infrastructure. In anycase, that could well be a pipe
dream. I can only speak from the armchair when it comes to wifi,
100% of my focus this year is on HAMMER2.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Kernel
mailing list