tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: TI WiLink Driver



I've begun the slow process of porting over the wlcore and wl18xx driver code
from Linux, so far it's still in the very early stages. I am going to pursue
this project out of personal interest for now, and share the completed driver
to see if there is any interest in upstreaming. Currently I chose the name
"tiwl(4)" for the new driver, with the intention that I can later add support
for the other WL chips (besides just WL18xx).

For now I just plan on adding support for the WL18xx through sdio. It seems
that sdhc can direct configure it and call the match function for tiwl, which
can then verify the ID of the card. I think it might also be nice to add dts
support, so I can define an overlay for devices like beaglebone black which
support this chip as a "cape". (I saw some discussion of adding dts overlays
in port-arm, not sure if that's come to fruition).

Unfortunately this device will require the use of proprietary firmware blobs
from TI. It seems that debian keeps these blobs in its
"firmware-ti-connectivity" package, and they are covered under the
"binary-redist-Texas-Instruments" license:

"License: binary-redist-Texas-Instruments
Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
license under copyrights and patents it now or hereafter owns or controls to
make, have made, use, import, offer to sell and sell ("Utilize") this software
subject to the terms herein.  With respect to the foregoing patent license,
such license is granted  solely to the extent that any such patent is necessary
to Utilize the software alone.  The patent license shall not apply to any
combinations which include this software, other than combinations with devices
manufactured by or for TI (“TI Devices”).  No hardware patent is licensed
hereunder.
.
Redistributions must preserve existing copyright notices and reproduce this
license (including the above copyright notice and the disclaimer and (if
applicable) source code license limitations below) in the documentation and/or
other materials provided with the distribution
.
Redistribution and use in binary form, without modification, are permitted
provided that the following conditions are met:
.
*       No reverse engineering, decompilation, or disassembly of this software
        is permitted with respect to any software provided in binary form.
.
*       any redistribution and use are licensed by TI for use only with TI
        Devices.
.
*       Nothing shall obligate TI to provide you with source code for the
        software licensed and provided to you in object code."

I'm not very familiar with nuances of software licensing, but it sounds like we
could include these firmware images in the NetBSD source tree so long as we
include this license as well, is my understanding correct?

Best,
James

On Fri, Jan 3, 2025 at 8:13 PM James B <jamesbrowning137%gmail.com@localhost> wrote:
>
> Hi all,
>
> I was looking through the existing WiFi drivers in NetBSD, but I don't
> see any drivers supporting the TI WiLink chips.
>
> Specifically I am interested in a driver for the WL183* chip. This ic
> is used to provide 802.11a,b,g,n support and bluetooth support for
> embedded systems.  I have a BeagleBone Black system which supports a
> cape extension featuring this chip, this seems like it would be good
> for driver development. This driver is already present in Linux (see
> drivers/net/wireless/ti/wl* in the Linux source tree), so I wonder if
> we can just port it over.
>
> I'm aware there is an ongoing WiFi project to port FreeBSD's 802.11
> layer to NetBSD, so I think currently we can't support 802.11n,
> however it should still be feasible to add support for the other
> 802.11 protocols and bluetooth support. Then we could add the new
> driver to the WiFi driver state matrix for the FreeBSD port.
>
> Is there any interest (or opposition) to the addition of this driver?
> If I were to work on porting this driver would it be possible to have
> it upstreamed?
>
> Best,
> James


Home | Main Index | Thread Index | Old Index