Use FOSS (blob-free) driver for rtl8188eu wireless network adapter

Hello, I have been advised that Bugzilla is not the right place for suggesting a new driver to be used and that the packaging mailing list is a more proper place for this. So, I subscribe to this list and I share with you my findings and suggestion for replacing the current rtl8188eu driver which requires a proprietary blob for firmware with a FOSS one. Here are the details: https://bugzilla.suse.com/show_bug.cgi?id=1198655

Hi, On 4/21/22 18:48, Suse User wrote:
Hello,
I have been advised that Bugzilla is not the right place for suggesting a new driver to be used and that the packaging mailing list is a more proper place for this. So, I subscribe to this list and I share with you my findings and suggestion for replacing the current rtl8188eu driver which requires a proprietary blob for firmware with a FOSS one.
Here are the details:
If you'd like to learn and attempt to do this yourself then yes this mailing list is a great place to get help, if its useful I can find some beginner documentation for you to read tomorrow, its almost bedtime now. If your after someone to do the work and maintain it for you then traditionally factory is the place where people announce they no longer wish to package something in the hope that someone will pick it up. But you should be warned that openSUSE is a volunteer project and there is a fair chance that no one will be interested in it. Cheers -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B

Hi Simon, You can send me that documentation and I can try. However, as there is a great chance that I may not be able to do it (especially long term) I will also share my current findings in the factory mailing list. Thank you.

On 4/22/22 00:49, Suse User wrote:
Hi Simon,
You can send me that documentation and I can try. However, as there is a great chance that I may not be able to do it (especially long term) I will also share my current findings in the factory mailing list.
https://duncan.codes/tutorials/rpm-packaging/index.html is probably by far the best for starting off. -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B

On Sat, 23 Apr 2022 19:01:58 +0930 Simon Lees wrote:
https://duncan.codes/tutorials/rpm-packaging/index.html is probably by far the best for starting off.
Thank you. I will have a look.

Am Donnerstag, 21. April 2022, 11:18:34 CEST schrieb Suse User:
Hello,
I have been advised that Bugzilla is not the right place for suggesting a new driver to be used and that the packaging mailing list is a more proper place for this. So, I subscribe to this list and I share with you my findings and suggestion for replacing the current rtl8188eu driver which requires a proprietary blob for firmware with a FOSS one.
Here are the details:
This is my build of Larry Fingers source: https://build.opensuse.org/package/show/home:Sauerland:hardware/rtl8188eu But in Kernel:stable, its inside the Kernel: modinfo r8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/kernel/drivers/staging/r8188eu/r8188eu.ko.zst version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver license: GPL suserelease: openSUSE Tumbleweed srcversion: 6B03E9A67F863A85AC97C05 alias: usb:v7392pB811d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0B05p18F0d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2C4Ep0102d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2357p0111d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2357p010Cd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v056Ep4008d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p331Bd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p3311d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p3310d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v2001p330Fd*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0DF6p0076d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v07B8p8179d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp0179d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*in* depends: usbcore,libarc4 . . . . Stephan

On Sat, 23 Apr 2022 14:19:17 +0200 Stephan Hemeier wrote:
This is my build of Larry Fingers source: [...] version: v4.1.4_6773.20130222
The version on the GitHub repo is 5.3.9. BTW Larry replied to in the thread in the Factory ML. There seem to be some obfuscated part of the code (long series of hex numbers), so my assumption of it being fully FOSS may not be entirely correct. That (and the version) remains to be discussed, I suppose (in the Factory ML). Just in case you are interested.

Am Samstag, 23. April 2022, 21:27:30 CEST schrieb Suse User:
On Sat, 23 Apr 2022 14:19:17 +0200 Stephan Hemeier wrote:
This is my build of Larry Fingers source: [...] version: v4.1.4_6773.20130222
The version on the GitHub repo is 5.3.9.
BTW Larry replied to in the thread in the Factory ML. There seem to be some obfuscated part of the code (long series of hex numbers), so my assumption of it being fully FOSS may not be entirely correct. That (and the version) remains to be discussed, I suppose (in the Factory ML). Just in case you are interested.
The Version above is from the kernel 5.17....... modinfo r8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/kernel/drivers/staging/r8188eu/r8188eu.ko.zst version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver license: GPL suserelease: openSUSE Tumbleweed My drivers are going to the kernel update directory: f.e. modinfo wl filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/updates/wl.ko.xz license: MIXED/Proprietary suserelease: openSUSE Tumbleweed srcversion: 3B5079E5496EA0BB89D0316 alias: pci:v*d*sv*sd*bc02sc80i* Stephan

On Sat, 23 Apr 2022 22:42:51 +0200 Stephan Hemeier wrote:
The Version above is from the kernel 5.17.......
[...]
The version I am using (the one from the Github repo) with kernel 5.17 is 5.3.9, i.e. much newer than 4.1.4 (which your source is using). Is it that you insist on the older version you use and why?

Am Montag, 25. April 2022, 17:42:46 CEST schrieb Suse User:
On Sat, 23 Apr 2022 22:42:51 +0200 Stephan Hemeier wrote:
The Version above is from the kernel 5.17.......
[...]
The version I am using (the one from the Github repo) with kernel 5.17 is 5.3.9, i.e. much newer than 4.1.4 (which your source is using).
Is it that you insist on the older version you use and why?
That is the Version from the r8188eu from the official kernel 5.17. See the directories in the filename. modinfo r8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/kernel/drivers/staging/r8188eu/r8188eu.ko.zst version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver I use the update directory and the driver from Larry Fingers github Repo. Other name, other directories, but same version. modinfo 8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/updates/8188eu.ko.xz version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver When Larry will use his version 5.2 as master, I will rebuild it, but have to patch it for the Leap kernels. Stephan

I only build, no Hardware of this driver. I have only rtl8169, broadcom and rtl8821ce Hardware. Stephan Am Montag, 25. April 2022, 17:58:06 CEST schrieb Stephan Hemeier:
Am Montag, 25. April 2022, 17:42:46 CEST schrieb Suse User:
On Sat, 23 Apr 2022 22:42:51 +0200 Stephan Hemeier wrote:
The Version above is from the kernel 5.17.......
[...]
The version I am using (the one from the Github repo) with kernel 5.17 is 5.3.9, i.e. much newer than 4.1.4 (which your source is using).
Is it that you insist on the older version you use and why?
That is the Version from the r8188eu from the official kernel 5.17. See the directories in the filename.
modinfo r8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/kernel/drivers/staging/r8188eu/r8188eu.ko.zst version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver
I use the update directory and the driver from Larry Fingers github Repo. Other name, other directories, but same version.
modinfo 8188eu filename: /lib/modules/5.17.4-lp153.3.g75e9961-default/updates/8188eu.ko.xz version: v4.1.4_6773.20130222 author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver
When Larry will use his version 5.2 as master, I will rebuild it, but have to patch it for the Leap kernels.
Stephan

On 25.04.22 17:42, Suse User wrote:
On Sat, 23 Apr 2022 22:42:51 +0200 Stephan Hemeier wrote:
The Version above is from the kernel 5.17.......
[...]
The version I am using (the one from the Github repo) with kernel 5.17 is 5.3.9, i.e. much newer than 4.1.4 (which your source is using).
This version numbers usually have no real meaning at all. Hardware vendors version their (usually ugly and technically questionable ;-) out-of-tree driver packages. From time to time, some kind soul (like Larry...) invests the effort to polish up such a vendor driver until it is suitable for inclusion in the mainline kernel. Once it has entered the mainline kernel, chances are theat the code quality has increased a lot. But basically nobody will ever again update that version field. It just has no meaning anymore. The driver is now part of the kernel, so "rtl8188eu from kernel 5.6.7" is enough of a version number for everyone.
Is it that you insist on the older version you use and why?
Is it that you insist on using the out of tree driver and why? IF there is something that the out of tree driver does better than the one included in the kernel, then reporting this to the kernel maintainers might be a better way than enduring the pain of using out-of-tree drivers. -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman

On Mon, 25 Apr 2022 18:19:56 +0200 Stefan Seyfried wrote:
Is it that you insist on using the out of tree driver and why?
I don't insist. However, I suggest that it may be worth looking into because: 1. It works 2. It has a FOSS license and nothing restricts an expert from reverse engineering the long sequences of hex numbers (if someone is capable of and interested in doing that).
IF there is something that the out of tree driver does better than the one included in the kernel, then reporting this to the kernel maintainers might be a better way than enduring the pain of using out-of-tree drivers.
As a non-expert, I don't feel qualified for such discussion. My only goal was to bring my findings to the attention of experts who may be interested to explore this further. Consider this a benevolent tiny contribution to cause of FOSS :) Whether it is useful or worthless, it is up to you, the experts, to decide. Sorry for bothering.
participants (4)
-
Simon Lees
-
Stefan Seyfried
-
Stephan Hemeier
-
Suse User