Current Librem (in my case, 15v4) equipment is limited to 802.11n by Purism because of a lack of FLOSS drivers for better chipsets. In my experience it performs okay, but it could be better.
I recently noticed that M.2 chips with the rtl88x2bu (where x is 1 or 2) chips are available. Like these:
I know from prior experience there are a few at least open-source (if not FLOSS) rtl88x2bu drivers out there, like:
Iām pretty sure it contains no blobs and doesnāt pull any in, but I havenāt checked carefully.
Could I buy one of those chips, pop it in, build the driver, and use it? Has anyone else done this? Should I expect performance improvements? Is there something Iām missing (I know some people have been frustrated by Librem wifi performance, why havenāt they done this?)?
Is there a whole assortment of chips we could use that have open source but not FLOSS drivers that Iāve so far been unaware of?
My thought at the time was: if the ādownload random driver sourceā is any good, why isnāt it in the kernel already? As at kernel 5.4 I believe that driver is not in the kernel.
However I suppose that some open source driver as a starting point is better than nothing if Purism specifically wanted to take the time to verify, test, debug, etc.
Over the years, there have been dozens of open source, free drivers which were never mainlined for one reason or another. Often itās because, while the license is free, itās not GPL-2-only compatible. Sometimes it is because of unclear patent issues, such that the Linux foundation doesnāt want to risk redistributing the source code. Sometimes it is due to lack of a clear maintainer, or using legacy kernel APIs. This is often the case with vendor-supplied drivers, where they only officially support LTS kernels, and never try to get them upstreamed.
Bottom line is youād have to look at the actual driver in question, and check the LKML to see if thereās any information on why it wasnāt upstreamed. If the driver license is not GPL compatible, thatās a pretty clear reason. It means itās fine to distribute out of tree (assuming itās some other open source license, like some variant of CC), but wonāt get into the kernel tree unless the copyright holder issues it to the Linux foundation under a GPL2 compatible license.
That would be the same license as the Linux kernel itself, so that canāt be why it hasnāt been mainlinedā¦ Itās good in that it means whatever code issues exist to keep it from getting mainlined can be fixed, and it could then get mainlined. Itās possibly bad in that it might mean there are technical issues which kept it from getting mainlinedā¦
Actually the problem might have been the license. The code was put in 6 to 8 months ago but the license was only put in 17 days ago. Perhaps there is hope yet?
I didnāt know, that a AC-card exists with opensource drivers, thatās quite awesome.
Because Iām to lazy/poor, Iāll wait for someone else testing this on his Librem
EDIT: My next question would be: Would bluetooth work without proprietary firmware, or is this needed like the chip used right now from Purism?
Looks like thereās still pretty active development on trying to get it to work reliably too. Given the time windows involved in getting something into the mainline kernel, itās really no surprise itās not in yet (especially given the license only being included for 2 weeks). So far, Iām not finding any reference to the driver on the LKML. Might be worth opening a ticket on GitHub to inquire if heās considered submitting it to the LKML.
The driver is usually not the problem. And even if a card would require a properly free licensed driver, we would take the effort and either maintain a package for PureOS or help pushing it upstream.
But the problem is usually not the driver, but the firmware. And also for the here mentioned rtl88x2bu chipset the driver source at least suggests that it will require and load a firmware for the WiFi:
What I can not read from the source is if this firmware may be optional, but I guess it is not. Anyway, thank you very very for helping! What I will do next is to try to get one of these cards and see what they actually do and donāt, if they would work and if the firmware file is mandatory.
I had one more thought that I thought might be worth sharing: these chips are used in stand-alone USB devices (external wifi adapters). I thought itās possible this makes for a better intuition about whether it will need firmware loaded or not, but Iām not sure because I donāt understand the subject well.
By now I checked and it turned out as expected, all of these require a proprietary closed source firmware at runtime, i.e. the kernel driver is required to download a firmware chunk into the card during card initialization. This rules them out for us (Purism). Sorry