Discussion:
TL-WN722N support on FreeBSD.
atar
2014-08-26 07:32:24 UTC
Permalink
Hi there!

According to what's written in the following URLs: http://forums.freebsd.org/viewtopic.php?t=41581 , https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport (under the 'Chipsets I won't be working on' section) the TL-WN722N TP-LINK wireless dongle isn't supported on freeBSD since its chipset is based on the AR9271 chipset which isn't supported by FreeBSD.

Now, my question is, since the above mentioned device is supported by Linux via a special atheros firmware module, and since FreeBSD provides a Linux virtualization, will this device work on a FreeBSD system by its Linux virtualization capability?

Regards,

Atar.
Arthur Chance
2014-08-26 10:25:47 UTC
Permalink
Post by atar
Hi there!
http://forums.freebsd.org/viewtopic.php?t=41581 ,
https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport
(under the 'Chipsets I won't be working on' section) the
TL-WN722N TP-LINK wireless dongle isn't supported on freeBSD
since its chipset is based on the AR9271 chipset which isn't
supported by FreeBSD.
Now, my question is, since the above mentioned device is supported
by Linux via a special atheros firmware module, and since FreeBSD
provides a Linux virtualization, will this device work on a FreeBSD
system by its Linux virtualization capability?
I'm not familiar with the Atheros firmware, but the likely answer is no.
Linux virtualization (probably better described as emulation) is at the
user space level, i.e. it mimics the interface of Linux syscalls. Device
drivers work in kernel space, and the FreeBSD kernel has very different
internals from Linux.
atar
2014-08-26 11:45:00 UTC
Permalink
Ok, I've understood the point. So probably there's no way to use this popular TP-LINK dongle with FreeBSD. Very alas. Disappointed.
Post by atar
Hi there!
http://forums.freebsd.org/viewtopic.php?t=41581 ,
https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport
(under the 'Chipsets I won't be working on' section) the
TL-WN722N TP-LINK wireless dongle isn't supported on freeBSD
since its chipset is based on the AR9271 chipset which isn't
supported by FreeBSD.
Now, my question is, since the above mentioned device is supported
by Linux via a special atheros firmware module, and since FreeBSD
provides a Linux virtualization, will this device work on a FreeBSD
system by its Linux virtualization capability?
I'm not familiar with the Atheros firmware, but the likely answer is no. Linux virtualization (probably better described as emulation) is at the user space level, i.e. it mimics the interface of Linux syscalls. Device drivers work in kernel space, and the FreeBSD kernel has very different internals from Linux.
Miguel Clara
2014-08-26 12:40:43 UTC
Permalink
Well the page states "The AR7010 and AR9271 NICs are not yet supported -
the USB glue needs writing for ath(4)."

So it might happen :)

Ofc only the maintainer can tell, and he was already done some many and
great work on this.


Melhores Cumprimentos // Best Regards
-----------------------------------------------
*Miguel Clara*
*IT - Sys Admin & Developer*
*E-mail: ****@gmail.com
www.linkedin.com/in/miguelmclara/
Post by atar
Ok, I've understood the point. So probably there's no way to use this
popular TP-LINK dongle with FreeBSD. Very alas. Disappointed.
Post by Arthur Chance
Post by atar
Hi there!
http://forums.freebsd.org/viewtopic.php?t=41581 ,
https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport
(under the 'Chipsets I won't be working on' section) the
TL-WN722N TP-LINK wireless dongle isn't supported on freeBSD
since its chipset is based on the AR9271 chipset which isn't
supported by FreeBSD.
Now, my question is, since the above mentioned device is supported
by Linux via a special atheros firmware module, and since FreeBSD
provides a Linux virtualization, will this device work on a FreeBSD
system by its Linux virtualization capability?
I'm not familiar with the Atheros firmware, but the likely answer is no.
Linux virtualization (probably better described as emulation) is at the
user space level, i.e. it mimics the interface of Linux syscalls. Device
drivers work in kernel space, and the FreeBSD kernel has very different
internals from Linux.
_______________________________________________
http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
"
atar
2014-08-26 14:18:10 UTC
Permalink
Maybe, but it has about above half of a year since I've saw this limitation in FreeBSD and this still wasn't fixed so I haven't too much hopes it will be fixed in the near future.
Well the page states "The AR7010 and AR9271 NICs are not yet supported - the USB glue needs writing for ath(4)."
So it might happen :)
Ofc only the maintainer can tell, and he was already done some many and great work on this.
Melhores Cumprimentos // Best Regards
-----------------------------------------------
Miguel Clara
IT - Sys Admin & Developer
<linkedin.png> www.linkedin.com/in/miguelmclara/
Post by atar
Ok, I've understood the point. So probably there's no way to use this popular TP-LINK dongle with FreeBSD. Very alas. Disappointed.
Post by atar
Hi there!
http://forums.freebsd.org/viewtopic.php?t=41581 ,
https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport
(under the 'Chipsets I won't be working on' section) the
TL-WN722N TP-LINK wireless dongle isn't supported on freeBSD
since its chipset is based on the AR9271 chipset which isn't
supported by FreeBSD.
Now, my question is, since the above mentioned device is supported
by Linux via a special atheros firmware module, and since FreeBSD
provides a Linux virtualization, will this device work on a FreeBSD
system by its Linux virtualization capability?
I'm not familiar with the Atheros firmware, but the likely answer is no. Linux virtualization (probably better described as emulation) is at the user space level, i.e. it mimics the interface of Linux syscalls. Device drivers work in kernel space, and the FreeBSD kernel has very different internals from Linux.
_______________________________________________
http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
sergio de Almeida Lenzi
2014-08-26 16:27:36 UTC
Permalink
I bought a TL-WN725N and a TL-WN723N
the model WN725N is better, and smaller
both from tplink
and both works out of the box with FreeBSD 10 stable AMD64
I use them on a sony that have a wireless chip not recognizeable by
FreeBSD.
the only "catch" is to load the driver at boot (loader.conf) and accept
the licence...
if_urtwn_load=YES
legal.realtek.license_ack=1
atar
2014-08-27 08:39:56 UTC
Permalink
So you give me additional reason to stay with Linux and not to migrate to FreeBSD since even a basic wireless adapter which came with your Sony isn't supported by FreeBSD. To be honest, I don't know if your Sony wireless adapter is supported by Linux, but in general, I think linux is more flexible and supports more devices than FreeBSD (and more than all the rest of *BSD variations).
Post by sergio de Almeida Lenzi
I bought a TL-WN725N and a TL-WN723N
the model WN725N is better, and smaller
both from tplink
and both works out of the box with FreeBSD 10 stable AMD64
I use them on a sony that have a wireless chip not recognizeable by FreeBSD.
the only "catch" is to load the driver at boot (loader.conf) and accept the licence...
if_urtwn_load=YES
legal.realtek.license_ack=1
Lars Engels
2014-08-27 11:04:04 UTC
Permalink
Post by atar
So you give me additional reason to stay with Linux and not to migrate
to FreeBSD since even a basic wireless adapter which came with your
Sony isn't supported by FreeBSD. To be honest, I don't know if your
Sony wireless adapter is supported by Linux, but in general, I think
linux is more flexible and supports more devices than FreeBSD (and
more than all the rest of *BSD variations).
Just get one of these (if_run):

Airlink101 AWLL6090
ASUS USB-N11
ASUS USB-N13 ver. A1
ASUS USB-N66
ASUS WL-160N
Belkin F5D8051 ver 3000
Belkin F5D8053
Belkin F5D8055
Belkin F6D4050 ver 1
Belkin F9L1103
Buffalo WLI-UC-AG300N
Buffalo WLI-UC-G300N
Buffalo WLI-UC-G301N
Buffalo WLI-UC-GN
Buffalo WLI-UC-GNM
Buffalo WLI-UC-GNM2
Corega CG-WLUSB2GNL
Corega CG-WLUSB2GNR
Corega CG-WLUSB300AGN
Corega CG-WLUSB300GNM
D-Link DWA-130 rev B1
D-Link DWA-140 rev B1, B2, B3, D1
D-Link DWA-160 rev B2
D-Link DWA-162
DrayTek Vigor N61
Edimax EW-7711UAn
Edimax EW-7711UTn
Edimax EW-7717Un
Edimax EW-7718Un
Edimax EW-7733UnD
Gigabyte GN-WB30N
Gigabyte GN-WB31N
Gigabyte GN-WB32L
Hawking HWDN1
Hawking HWUN1
Hawking HWUN2
Hercules HWNU-300
Linksys WUSB54GC v3
Linksys WUSB600N
Logitec LAN-W150N/U2
LogiLink WL0084B
Mvix Nubbin MS-811N
Planex GW-USMicroN
Planex GW-US300MiniS
Sitecom WL-182
Sitecom WL-188
Sitecom WL-301
SMC SMCWUSBS-N2
Sweex LW303
Sweex LW313
TP-LINK TL-WDN3200
TP-LINK TL-WN727N v3
Unex DNUR-81
Unex DNUR-82
ZyXEL NWD2705
ZyXEL NWD210N
ZyXEL NWD270N

Or (if_urwtn):
ASUS USB-N10 NANO
Belkin F7D1102 Surf Wireless Micro
D-Link DWA-125 rev
D-Link DWA-131
Edimax EW-7811Un
Netgear WNA1000M
Realtek RTL8192CU
Realtek RTL8188CUS
TP-LINK TL-WN723N v3
TP-LINK TL-WN725N v2

Or (if_urtw):
Belkin F5D7050E
Linksys WUSB54GCv2
Netgear WG111v2
Netgear WG111v3
Safehome WLG-1500SMA5
Shuttle XPC Accessory PN20
Sitecom WL168v1
Sitecom WL168v4
SureCom EP-9001-g(2A)
TRENDnet TEW-424UB V3.xR

Or (if_rsu):
ASUS USB-N10
Belkin F7D1101 v1
D-Link DWA-131 A1
EDUP EP-MS150N(W)
Hercules HWGUn-54
Hercules HWNUm-300
Planex GW-USNano
Sitecom WL-349 v1
Sitecom WL-353
Sweex LW154
TRENDnet TEW-648UB
TRENDnet TEW-649UB

Or (if_rum):
3Com Aolynk WUB320g
Abocom WUG2700 Ta
Airlink101 AWLL5025
ASUS WL-167g ver 2
Belkin F5D7050 ver 3
Belkin F5D9050 ver 3
Buffalo WLI-U2-SG54HP
Buffalo WLI-U2-SG54HG
Buffalo WLI-U2-G54HP
Buffalo WLI-UC-G
CNet CWD-854 ver F
Conceptronic C54RU ver 2
Corega CG-WLUSB2GO
D-Link DWA-110
D-Link DWA-111
D-Link DWL-G122 rev C1
D-Link WUA-1340
Digitus DN-7003GR
Edimax EW-7318USG
Gigabyte GN-WB01GS
Gigabyte GN-WI05GS
Hawking HWUG1
Hawking HWU54DM
Hercules HWGUSB2-54-LB
Hercules HWGUSB2-54V2-AP
LevelOne WNC-0301USB v3
Linksys WUSB54G rev C
Linksys WUSB54GR
Planex GW-US54HP
Planex GW-US54Mini2
Planex GW-USMM
Senao NUB-3701
Sitecom WL-113 ver 2
Sitecom WL-172
Sweex LW053
TP-LINK TL-WN321G

Or (if_uath):
Compex WLU108AG
Compex WLU108G
D-Link DWL-G132
IODATA WN-G54/US
MELCO WLI-U2-KAMG54
Netgear WG111T
Netgear WG111U
Netgear WPN111
Olitec 000544
PLANET WDL-U357
Siemens Gigaset 108
SMC SMCWUSBT-G
SMC SMCWUSBT-G2
SparkLAN WL-785A
TP-Link TL-WN620G
TRENDware International TEW-444UB
TRENDware International TEW-504UB
Unex Technology UR054ag
ZyXEL XtremeMIMO M-202

Or (if_upgt):
Belkin F5D7050 (version 1000)
Cohiba Proto Board
D-Link DWL-G120 Cohiba
FSC Connect2Air E-5400 USB D1700
Gigaset USB Adapter 54
Inventel UR045G
SMC EZ ConnectG SMC2862W-G
Sagem XG703A
Spinnaker DUT
Spinnaker Proto Board

Or (if_ural):
AMIT WL532U
ASUS WL-167g
Belkin F5D7050 v2000
Buffalo WLI-U2-KG54-AI
CNet CWD-854
Compex WLU54G 2A1100
Conceptronic C54RU
D-Link DWL-G122 b1
Dynalink WLG25USB
E-Tech WGUS02
Gigabyte GN-WBKG
Hercules HWGUSB2-54
KCORP LifeStyle KLS-685
Linksys WUSB54G v4
Linksys WUSB54GP v4
MSI MS-6861
MSI MS-6865
MSI MS-6869
NovaTech NV-902
OvisLink Evo-W54USB
SerComm UB801R
SparkLAN WL-685R
Surecom EP-9001-g
Sweex LC100060
Tonze UW-6200C
Zinwell ZWX-G261
Zonet ZEW2500P

Or (if_zyd):
3COM 3CRUSB10075
Acer WLAN-G-US1
Airlink+ AWLL3025
Airlink 101 AWLL3026
AOpen 802.11g WL54
Asus A9T integrated wireless
Asus WL-159g
Belkin F5D7050 v.4000
Billion BiPAC 3011G
Buffalo WLI-U2-KG54L
CC&C WL-2203B
DrayTek Vigor 550
Edimax EW-7317UG
Edimax EW-7317LDG
Fiberline Networks WL-43OU
iNexQ UR055g
Linksys WUSBF54G
Longshine LCS-8131G3
MSI US54SE
MyTek MWU-201 USB adapter
Philips SNU5600
Planet WL-U356
Planex GW-US54GZ
Planex GW-US54GZL
Planex GW-US54Mini
Safecom SWMULZ-5400
Sagem XG 760A
Sagem XG 76NA
Sandberg Wireless G54 USB
Sitecom WL-113
SMC SMCWUSB-G
Sweex wireless USB 54 Mbps
Tekram/Siemens USB adapter
Telegent TG54USB
Trendnet TEW-424UB rev A
Trendnet TEW-429UB
TwinMOS G240
Unicorn WL-54G
US Robotics 5423
X-Micro XWL-11GUZX
Yakumo QuickWLAN USB
Zonet ZEW2501
ZyXEL ZyAIR G-202
ZyXEL ZyAIR G-220



So there are 225 different wireless USB adaptors that are already
supported by FreeBSD. There are probably a lot more not listed here
which use the same chipset but are not added to the driver's manpage
yet.
Just grab one of these (starting from 10$) and use it. Going back or
staying with Linux because of some USB wireless stick is not a valid
reason. :)
Adrian Chadd
2014-08-27 19:16:04 UTC
Permalink
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
Adrian Chadd
2014-08-31 07:46:05 UTC
Permalink
Post by Adrian Chadd
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.
Personally, I don't do wireless. Ever.
The real issue you just brought up is that FreeBSD is a volunteer project,
and not a product. The work that gets done is either funded by someone (by
dollar, mostly by businesses) that want something specific, or out of the
kindness of someone's heart.
If someone who cared wanted to fund FreeBSD's wireless work then would you
turn down the funding? If you were willing, what's the procedure for
someone (not me) to fund the work?
I can't really take that on right now personally, but what I can
suggest is that you contact the FreeBSD foundation and let them know
that you'd like to see improved wireless and you're willing to donate
/ fund the work.



-a
Russell L. Carter
2014-08-31 23:17:28 UTC
Permalink
Post by Adrian Chadd
Post by Adrian Chadd
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.
Personally, I don't do wireless. Ever.
The real issue you just brought up is that FreeBSD is a volunteer project,
and not a product. The work that gets done is either funded by someone (by
dollar, mostly by businesses) that want something specific, or out of the
kindness of someone's heart.
If someone who cared wanted to fund FreeBSD's wireless work then would you
turn down the funding? If you were willing, what's the procedure for
someone (not me) to fund the work?
I can't really take that on right now personally, but what I can
suggest is that you contact the FreeBSD foundation and let them know
that you'd like to see improved wireless and you're willing to donate
/ fund the work.
Since (new|more) talent in the 80211++ space is evidently needed,
I would suggest trying a bounty. Maybe $5K? That's a lot
of money in many places in the world. (Adrian has done
tremendous work, but what about die bus? It happens to
all of us, eventually.)

I'm a wired-by-default guy, with a house full of CAT5, but the
future is wireless.

Russell
Post by Adrian Chadd
-a
_______________________________________________
http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
Lars Engels
2014-09-01 10:53:50 UTC
Permalink
Post by Russell L. Carter
Post by Adrian Chadd
Post by Adrian Chadd
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.
Personally, I don't do wireless. Ever.
The real issue you just brought up is that FreeBSD is a volunteer project,
and not a product. The work that gets done is either funded by someone (by
dollar, mostly by businesses) that want something specific, or out of the
kindness of someone's heart.
If someone who cared wanted to fund FreeBSD's wireless work then would you
turn down the funding? If you were willing, what's the procedure for
someone (not me) to fund the work?
I can't really take that on right now personally, but what I can
suggest is that you contact the FreeBSD foundation and let them know
that you'd like to see improved wireless and you're willing to donate
/ fund the work.
Since (new|more) talent in the 80211++ space is evidently needed,
I would suggest trying a bounty. Maybe $5K? That's a lot
of money in many places in the world. (Adrian has done
tremendous work, but what about die bus? It happens to
all of us, eventually.)
I'm a wired-by-default guy, with a house full of CAT5, but the
future is wireless.
I guess the problem is not the money but finding someone who actually
knows what to do.
Adrian Chadd
2014-09-01 18:11:20 UTC
Permalink
The problem -is- the money. The people will come when there's enough
interest and enough money.

The problem is that people think things like wifi drivers that are
debugged, perform well and get updated as new standards appear is a
few months effort - and I think the herculean efforts done in the past
by people like Sam fuel this myth.

I've spent almost two years of weekends and evenings hacking on
net80211 and the atheros driver to get it to where it is. The 11n
support for atheros chips appeared when someone (hi Hobnob!) paid me
for six months to get 11n done. I'm still debugging weird corner cases
with rate control and congestion handling even now. And this is _on
top_ of all the work done by the Atheros team to write the HAL in the
first place.

I've spent almost 18 months of weekends/evenings hacking on the intel
iwn driver to find all the little odd corner cases that make it
unusable by a lot of people. I keep saying I'm not, but since the
laptops I'm using have iwn in them, I end up getting annoyed enough to
fix it. This has all been for free.

Wireless stuff is a very complicated, very time consuming thing that's
immensely fun if you're into this kind of thing. But please understand
- it's a huge time commitment for each individual device and new
standard.

So yes, it's the money. I've jokingly said that it's $100k and 2 years
for me in (evenings, weekends) time and equipment to port and debug
one driver for a given NIC. Not just do a "oh look here's an openbsd
driver ported from linux in a month" port - that's just the beginning
(and I tend to quote something like $10k for that) - I mean, something
that ends up implementing the updated standards (11n, 11ac soon);
something that includes powersave, something that includes debugging,
something that handles a multitude of bad environments that people see
every day and complain about. Ie - the level of work that makes it "oh
it just works, I can get on with work now" level of work.

I don't want to let myself be dragged into another two years of
weekends. I kind of need some sleep here and there.



-a
Ian Smith
2014-09-03 18:39:17 UTC
Permalink
Post by Adrian Chadd
The problem -is- the money. The people will come when there's enough
interest and enough money.
The problem is that people think things like wifi drivers that are
debugged, perform well and get updated as new standards appear is a
few months effort - and I think the herculean efforts done in the past
by people like Sam fuel this myth.
I've spent almost two years of weekends and evenings hacking on
net80211 and the atheros driver to get it to where it is. The 11n
support for atheros chips appeared when someone (hi Hobnob!) paid me
for six months to get 11n done. I'm still debugging weird corner cases
with rate control and congestion handling even now. And this is _on
top_ of all the work done by the Atheros team to write the HAL in the
first place.
I've spent almost 18 months of weekends/evenings hacking on the intel
iwn driver to find all the little odd corner cases that make it
unusable by a lot of people. I keep saying I'm not, but since the
laptops I'm using have iwn in them, I end up getting annoyed enough to
fix it. This has all been for free.
Wireless stuff is a very complicated, very time consuming thing that's
immensely fun if you're into this kind of thing. But please understand
- it's a huge time commitment for each individual device and new
standard.
So yes, it's the money. I've jokingly said that it's $100k and 2 years
for me in (evenings, weekends) time and equipment to port and debug
one driver for a given NIC. Not just do a "oh look here's an openbsd
driver ported from linux in a month" port - that's just the beginning
(and I tend to quote something like $10k for that) - I mean, something
that ends up implementing the updated standards (11n, 11ac soon);
something that includes powersave, something that includes debugging,
something that handles a multitude of bad environments that people see
every day and complain about. Ie - the level of work that makes it "oh
it just works, I can get on with work now" level of work.
I don't want to let myself be dragged into another two years of
weekends. I kind of need some sleep here and there.
Thanks for this, and for all your work, Adrian. Let the M$ troll in
questions@ crow that ew're not keeping up with his multi$Bn corp ..

Volunteerism has its limits, and noone can meet the illspecified and
neverending demands for more. Get some sleep here and there, short of
starving. Someone whinging 'when are you coming to bed?' helps :)

cheers, Ian
Kevin Lo
2014-09-09 05:53:10 UTC
Permalink
Post by Adrian Chadd
The problem -is- the money. The people will come when there's enough
interest and enough money.
The problem is that people think things like wifi drivers that are
debugged, perform well and get updated as new standards appear is a
few months effort - and I think the herculean efforts done in the past
by people like Sam fuel this myth.
I've spent almost two years of weekends and evenings hacking on
net80211 and the atheros driver to get it to where it is. The 11n
support for atheros chips appeared when someone (hi Hobnob!) paid me
for six months to get 11n done. I'm still debugging weird corner cases
with rate control and congestion handling even now. And this is _on
top_ of all the work done by the Atheros team to write the HAL in the
first place.
I've spent almost 18 months of weekends/evenings hacking on the intel
iwn driver to find all the little odd corner cases that make it
unusable by a lot of people. I keep saying I'm not, but since the
laptops I'm using have iwn in them, I end up getting annoyed enough to
fix it. This has all been for free.
Wireless stuff is a very complicated, very time consuming thing that's
immensely fun if you're into this kind of thing. But please understand
- it's a huge time commitment for each individual device and new
standard.
So yes, it's the money. I've jokingly said that it's $100k and 2 years
for me in (evenings, weekends) time and equipment to port and debug
one driver for a given NIC. Not just do a "oh look here's an openbsd
driver ported from linux in a month" port - that's just the beginning
(and I tend to quote something like $10k for that) - I mean, something
that ends up implementing the updated standards (11n, 11ac soon);
something that includes powersave, something that includes debugging,
something that handles a multitude of bad environments that people see
every day and complain about. Ie - the level of work that makes it "oh
it just works, I can get on with work now" level of work.
I don't want to let myself be dragged into another two years of
weekends. I kind of need some sleep here and there.
I can't find a reason why I disagree with you.
I have almost forgotten that wifi hacking can be fun if it results
in something working...
Post by Adrian Chadd
-a
Kevin
Adrian Chadd
2014-09-09 06:33:31 UTC
Permalink
Oh it is fun. :)

+a
Post by Kevin Lo
Post by Adrian Chadd
The problem -is- the money. The people will come when there's enough
interest and enough money.
The problem is that people think things like wifi drivers that are
debugged, perform well and get updated as new standards appear is a
few months effort - and I think the herculean efforts done in the past
by people like Sam fuel this myth.
I've spent almost two years of weekends and evenings hacking on
net80211 and the atheros driver to get it to where it is. The 11n
support for atheros chips appeared when someone (hi Hobnob!) paid me
for six months to get 11n done. I'm still debugging weird corner cases
with rate control and congestion handling even now. And this is _on
top_ of all the work done by the Atheros team to write the HAL in the
first place.
I've spent almost 18 months of weekends/evenings hacking on the intel
iwn driver to find all the little odd corner cases that make it
unusable by a lot of people. I keep saying I'm not, but since the
laptops I'm using have iwn in them, I end up getting annoyed enough to
fix it. This has all been for free.
Wireless stuff is a very complicated, very time consuming thing that's
immensely fun if you're into this kind of thing. But please understand
- it's a huge time commitment for each individual device and new
standard.
So yes, it's the money. I've jokingly said that it's $100k and 2 years
for me in (evenings, weekends) time and equipment to port and debug
one driver for a given NIC. Not just do a "oh look here's an openbsd
driver ported from linux in a month" port - that's just the beginning
(and I tend to quote something like $10k for that) - I mean, something
that ends up implementing the updated standards (11n, 11ac soon);
something that includes powersave, something that includes debugging,
something that handles a multitude of bad environments that people see
every day and complain about. Ie - the level of work that makes it "oh
it just works, I can get on with work now" level of work.
I don't want to let myself be dragged into another two years of
weekends. I kind of need some sleep here and there.
I can't find a reason why I disagree with you.
I have almost forgotten that wifi hacking can be fun if it results
in something working...
Post by Adrian Chadd
-a
Kevin
Kevin Lo
2014-09-10 02:32:01 UTC
Permalink
That's because you are "a wireless guy" :-)
Post by Adrian Chadd
Oh it is fun. :)
+a
Post by Kevin Lo
Post by Adrian Chadd
The problem -is- the money. The people will come when there's enough
interest and enough money.
The problem is that people think things like wifi drivers that are
debugged, perform well and get updated as new standards appear is a
few months effort - and I think the herculean efforts done in the past
by people like Sam fuel this myth.
I've spent almost two years of weekends and evenings hacking on
net80211 and the atheros driver to get it to where it is. The 11n
support for atheros chips appeared when someone (hi Hobnob!) paid me
for six months to get 11n done. I'm still debugging weird corner cases
with rate control and congestion handling even now. And this is _on
top_ of all the work done by the Atheros team to write the HAL in the
first place.
I've spent almost 18 months of weekends/evenings hacking on the intel
iwn driver to find all the little odd corner cases that make it
unusable by a lot of people. I keep saying I'm not, but since the
laptops I'm using have iwn in them, I end up getting annoyed enough to
fix it. This has all been for free.
Wireless stuff is a very complicated, very time consuming thing that's
immensely fun if you're into this kind of thing. But please understand
- it's a huge time commitment for each individual device and new
standard.
So yes, it's the money. I've jokingly said that it's $100k and 2 years
for me in (evenings, weekends) time and equipment to port and debug
one driver for a given NIC. Not just do a "oh look here's an openbsd
driver ported from linux in a month" port - that's just the beginning
(and I tend to quote something like $10k for that) - I mean, something
that ends up implementing the updated standards (11n, 11ac soon);
something that includes powersave, something that includes debugging,
something that handles a multitude of bad environments that people see
every day and complain about. Ie - the level of work that makes it "oh
it just works, I can get on with work now" level of work.
I don't want to let myself be dragged into another two years of
weekends. I kind of need some sleep here and there.
I can't find a reason why I disagree with you.
I have almost forgotten that wifi hacking can be fun if it results
in something working...
Post by Adrian Chadd
-a
Kevin
_______________________________________________
http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
atar
2014-08-31 02:40:48 UTC
Permalink
Here's additional place where FreeBSD has lack of support: USB based printers.
USB interfaces, named for the Universal Serial Bus, can run at even faster speeds than parallel or RS-232 serial interfaces. Cables are simple and cheap. USB is superior to RS-232 Serial and to Parallel for printing, but it is not as well supported under UNIX systems. A way to avoid this problem is to purchase a printer that has both a USB interface and a Parallel interface, as many printers do.
Post by Adrian Chadd
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
Adam Vande More
2014-08-31 12:20:57 UTC
Permalink
Post by atar
Here's additional place where FreeBSD has lack of support: USB based printers.
Why don't you try citing a non-ancient version the handbook? Like here:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/printing-connections.html

which states exactly the opposite. And USB printing has worked quite well
for a long long time on FreeBSD.
--
Adam
Warren Block
2014-08-31 13:42:06 UTC
Permalink
Post by atar
Here's additional place where FreeBSD has lack of support: USB based printers.
USB interfaces, named for the Universal Serial Bus, can run at even
faster speeds than parallel or RS-232 serial interfaces. Cables are
simple and cheap. USB is superior to RS-232 Serial and to Parallel
for printing, but it is not as well supported under UNIX systems. A
way to avoid this problem is to purchase a printer that has both a
USB interface and a Parallel interface, as many printers do.
That appears to be an old version of the Handbook. The current printing
chapter covers all four common connection types:
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/printing-connections.html
Loading...