Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Aug 2014 05:40:48 +0300
From:      atar <atar.yosef@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>, "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Subject:   Re: TL-WN722N support on FreeBSD.
Message-ID:  <73C363A9-5608-4A2B-B9F3-D96E8BA93050@gmail.com>
In-Reply-To: <CAJ-VmombJ8Ky8Lmj70YgUH7%2BfQkiwJQ9XyD7OqfkYfx7=OfdcA@mail.gmail.com>
References:  <C18F5819-A884-4A86-9FBA-FF7CEFF70695@gmail.com> <CAJ-VmombJ8Ky8Lmj70YgUH7%2BfQkiwJQ9XyD7OqfkYfx7=OfdcA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Here's additional place where FreeBSD has lack of support: USB based printer=
s.

Here's a citation from the FreeBSD handbook (page no. 251):

> 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 che=
ap. 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, a=
s many printers do.
>=20
>> Hi,
>>=20
>> The main issue is this: I really don't like the USB driver stuff in the k=
ernel.
>>=20
>> 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.
>>=20
>> 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."
>>=20
>> 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.
>>=20
>> I'm not being paid to do any of the wireless stuff in FreeBSD, so it
>> has to clear the "is it fun" threshold.
>>=20
>>=20
>> -a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?73C363A9-5608-4A2B-B9F3-D96E8BA93050>