Hi, The main issue is this: I really don't like the USB driver stuff in the kernel.
When I last checked, there was no clean example of a wifi or ethernet driver which handles all of the odd corner cases of things correctly. So you'd end up with things like taskqueues still running whilst the NIC had been pulled out, all sleeping on a wakeup that'll never come, or the ioctl path not really being locked the right way with the rest of the USB driver. I started tinkering with a driver for the AR9170, but I still couldn't get the command handling side of things right. It's tricky because USB is effectively a network protocol, but all the drivers are written assuming register accesses are synchronous. So you end up having to craft some kind of command structure that handles sleeping for commands that it expects a response on from another USB endpoint (eg register reads), but not sleeping for commands that are asynchronous. I gave up because it became "non-fun." So yeah. Almost all of the work is done in the atheros driver side of things. Heck, the AR9271 bits for the HAL are likely just an evenings worth of work for me. I just don't want to deal with the USB side of it. I'm not being paid to do any of the wireless stuff in FreeBSD, so it has to clear the "is it fun" threshold. -a _______________________________________________ freebsd-wireless@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-wireless To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"