rtl8189fs: add realtek wlan driver

Message ID 20220227091621.3791600-1-arne_f@ipfire.org
State Accepted
Commit ead01caeb87f4eb56abb2fc63cea38ea74b16274
Headers
Series rtl8189fs: add realtek wlan driver |

Commit Message

Arne Fitzenreiter Feb. 27, 2022, 9:16 a.m. UTC
  this chip is the successor of the rtl8189es look some boards has
silently switched to the new chip.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
---
 lfs/rtl8189fs                             | 95 +++++++++++++++++++++++
 make.sh                                   |  1 +
 src/patches/rtl8189fs/disable_debug.patch | 11 +++
 3 files changed, 107 insertions(+)
 create mode 100644 lfs/rtl8189fs
 create mode 100644 src/patches/rtl8189fs/disable_debug.patch
  

Comments

Peter Müller March 3, 2022, 8:47 a.m. UTC | #1
Hello Arne,

thank you for submitting this.

Well, Realtek continues to be a mess when it comes to drivers, but I guess there is
little sense in telling our users to complain to their hardware vendor for not getting
drivers upstream. :-/

Anyway, looks good to me.

Reviewed-by: Peter Müller <peter.mueller@ipfire.org>

Thanks, and best regards,
Peter Müller


> this chip is the successor of the rtl8189es look some boards has
> silently switched to the new chip.
> 
> Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
> ---
>  lfs/rtl8189fs                             | 95 +++++++++++++++++++++++
>  make.sh                                   |  1 +
>  src/patches/rtl8189fs/disable_debug.patch | 11 +++
>  3 files changed, 107 insertions(+)
>  create mode 100644 lfs/rtl8189fs
>  create mode 100644 src/patches/rtl8189fs/disable_debug.patch
> 
> diff --git a/lfs/rtl8189fs b/lfs/rtl8189fs
> new file mode 100644
> index 000000000..7a2b3dca0
> --- /dev/null
> +++ b/lfs/rtl8189fs
> @@ -0,0 +1,95 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2022  IPFire Team <info@ipfire.org>                      #
> +#                                                                             #
> +# This program is free software: you can redistribute it and/or modify        #
> +# it under the terms of the GNU General Public License as published by        #
> +# the Free Software Foundation, either version 3 of the License, or           #
> +# (at your option) any later version.                                         #
> +#                                                                             #
> +# This program is distributed in the hope that it will be useful,             #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
> +# GNU General Public License for more details.                                #
> +#                                                                             #
> +# You should have received a copy of the GNU General Public License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> +#                                                                             #
> +###############################################################################
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VERSUFIX = ipfire$(KCFG)
> +MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
> +
> +VER        = 3129a665f835ce0342f9a85a0ce14a556e656b8c
> +
> +THISAPP    = rtl8189FS_linux-$(VER)
> +DL_FILE    = $(THISAPP).tar.xz
> +DL_FROM    = $(URL_IPFIRE)
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = f7c817e89403b8a84a664f326f47c7d7
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +dist: 
> +	$(PAK)
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8189fs/disable_debug.patch
> +	cd $(DIR_APP) && CONFIG_RTL8189FS=m make $(MAKETUNING) \
> +		-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
> +
> +	# Install the built kernel modules.
> +	mkdir -p $(MODPATH)
> +	cd $(DIR_APP) && for f in $$(ls *.ko); do \
> +		/lib/modules/$$(uname -r)$(KCFG)/build/scripts/sign-file sha512 \
> +			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.pem \
> +			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.x509 \
> +			$$f; \
> +		xz $$f; \
> +		install -m 644 $$f.xz $(MODPATH); \
> +	done
> +
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index 79798834a..6e84d8d1b 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1181,6 +1181,7 @@ buildipfire() {
>    # multi kernel builds so KCFG is empty
>    lfsmake2 linux		KCFG=""
>    lfsmake2 rtl8189es		KCFG=""
> +  lfsmake2 rtl8189fs		KCFG=""
>    lfsmake2 rtl8812au		KCFG=""
>    lfsmake2 rtl8822bu		KCFG=""
>    lfsmake2 xradio		KCFG=""
> diff --git a/src/patches/rtl8189fs/disable_debug.patch b/src/patches/rtl8189fs/disable_debug.patch
> new file mode 100644
> index 000000000..d29c55e6c
> --- /dev/null
> +++ b/src/patches/rtl8189fs/disable_debug.patch
> @@ -0,0 +1,11 @@
> +diff -Naur rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h
> +--- rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h	2021-10-01 14:51:56.000000000 +0000
> ++++ rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h	2022-02-26 12:00:09.188965578 +0000
> +@@ -224,7 +224,6 @@
> + /*
> +  * Debug Related Config
> +  */
> +-#define CONFIG_DEBUG /* DBG_871X, etc... */
> + 
> + #ifdef CONFIG_DEBUG
> + #define DBG	1	// for ODM & BTCOEX debug
  
Michael Tremer March 3, 2022, 9:45 a.m. UTC | #2
Hello,

> On 3 Mar 2022, at 08:47, Peter Müller <peter.mueller@ipfire.org> wrote:
> 
> Hello Arne,
> 
> thank you for submitting this.
> 
> Well, Realtek continues to be a mess when it comes to drivers, but I guess there is
> little sense in telling our users to complain to their hardware vendor for not getting
> drivers upstream. :-/

Yes, there is. Or we can just tell them to stop buying crap.

I don’t disagree with the patch from a technical point, but it creates a lot of extra work because we cannot at all rely on the quality of this driver, or that it is compatible with our kernel.

Those things might make us stop from upgrading to a newer kernel because the driver is incompatible and we would then have the decision to make whether we want to remain on an older kernel, or whether we want to break systems for users with this hardware. I would certainly know what I would vote for, because patches like this is just “best effort”.

I see the responsibility with the manufacturer that they make sure that there is decent driver support.

There have been many very successful attempts and we for example have very good drivers for Atheros wireless chipsets. So it can be done, and it cannot cost a fortune either. It is just that Linux users do not play a role when it comes to sales for wireless chipsets. This is a totally different situation for Ethernet chipsets for example.

So in short: Be all good boys. Don’t buy crap.

-Michael

> 
> Anyway, looks good to me.
> 
> Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
> 
> Thanks, and best regards,
> Peter Müller
> 
> 
>> this chip is the successor of the rtl8189es look some boards has
>> silently switched to the new chip.
>> 
>> Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
>> ---
>> lfs/rtl8189fs                             | 95 +++++++++++++++++++++++
>> make.sh                                   |  1 +
>> src/patches/rtl8189fs/disable_debug.patch | 11 +++
>> 3 files changed, 107 insertions(+)
>> create mode 100644 lfs/rtl8189fs
>> create mode 100644 src/patches/rtl8189fs/disable_debug.patch
>> 
>> diff --git a/lfs/rtl8189fs b/lfs/rtl8189fs
>> new file mode 100644
>> index 000000000..7a2b3dca0
>> --- /dev/null
>> +++ b/lfs/rtl8189fs
>> @@ -0,0 +1,95 @@
>> +###############################################################################
>> +#                                                                             #
>> +# IPFire.org - A linux based firewall                                         #
>> +# Copyright (C) 2007-2022  IPFire Team <info@ipfire.org>                      #
>> +#                                                                             #
>> +# This program is free software: you can redistribute it and/or modify        #
>> +# it under the terms of the GNU General Public License as published by        #
>> +# the Free Software Foundation, either version 3 of the License, or           #
>> +# (at your option) any later version.                                         #
>> +#                                                                             #
>> +# This program is distributed in the hope that it will be useful,             #
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>> +# GNU General Public License for more details.                                #
>> +#                                                                             #
>> +# You should have received a copy of the GNU General Public License           #
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>> +#                                                                             #
>> +###############################################################################
>> +
>> +###############################################################################
>> +# Definitions
>> +###############################################################################
>> +
>> +include Config
>> +
>> +VERSUFIX = ipfire$(KCFG)
>> +MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
>> +
>> +VER        = 3129a665f835ce0342f9a85a0ce14a556e656b8c
>> +
>> +THISAPP    = rtl8189FS_linux-$(VER)
>> +DL_FILE    = $(THISAPP).tar.xz
>> +DL_FROM    = $(URL_IPFIRE)
>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>> +TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
>> +
>> +###############################################################################
>> +# Top-level Rules
>> +###############################################################################
>> +
>> +objects = $(DL_FILE)
>> +
>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> +
>> +$(DL_FILE)_MD5 = f7c817e89403b8a84a664f326f47c7d7
>> +
>> +install : $(TARGET)
>> +
>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>> +
>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>> +
>> +md5 : $(subst %,%_MD5,$(objects))
>> +
>> +dist: 
>> +	$(PAK)
>> +
>> +###############################################################################
>> +# Downloading, checking, md5sum
>> +###############################################################################
>> +
>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>> +	@$(CHECK)
>> +
>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>> +	@$(LOAD)
>> +
>> +$(subst %,%_MD5,$(objects)) :
>> +	@$(MD5)
>> +
>> +###############################################################################
>> +# Installation Details
>> +###############################################################################
>> +
>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> +	@$(PREBUILD)
>> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>> +	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8189fs/disable_debug.patch
>> +	cd $(DIR_APP) && CONFIG_RTL8189FS=m make $(MAKETUNING) \
>> +		-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
>> +
>> +	# Install the built kernel modules.
>> +	mkdir -p $(MODPATH)
>> +	cd $(DIR_APP) && for f in $$(ls *.ko); do \
>> +		/lib/modules/$$(uname -r)$(KCFG)/build/scripts/sign-file sha512 \
>> +			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.pem \
>> +			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.x509 \
>> +			$$f; \
>> +		xz $$f; \
>> +		install -m 644 $$f.xz $(MODPATH); \
>> +	done
>> +
>> +	@rm -rf $(DIR_APP)
>> +	@$(POSTBUILD)
>> diff --git a/make.sh b/make.sh
>> index 79798834a..6e84d8d1b 100755
>> --- a/make.sh
>> +++ b/make.sh
>> @@ -1181,6 +1181,7 @@ buildipfire() {
>>   # multi kernel builds so KCFG is empty
>>   lfsmake2 linux		KCFG=""
>>   lfsmake2 rtl8189es		KCFG=""
>> +  lfsmake2 rtl8189fs		KCFG=""
>>   lfsmake2 rtl8812au		KCFG=""
>>   lfsmake2 rtl8822bu		KCFG=""
>>   lfsmake2 xradio		KCFG=""
>> diff --git a/src/patches/rtl8189fs/disable_debug.patch b/src/patches/rtl8189fs/disable_debug.patch
>> new file mode 100644
>> index 000000000..d29c55e6c
>> --- /dev/null
>> +++ b/src/patches/rtl8189fs/disable_debug.patch
>> @@ -0,0 +1,11 @@
>> +diff -Naur rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h
>> +--- rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h	2021-10-01 14:51:56.000000000 +0000
>> ++++ rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h	2022-02-26 12:00:09.188965578 +0000
>> +@@ -224,7 +224,6 @@
>> + /*
>> +  * Debug Related Config
>> +  */
>> +-#define CONFIG_DEBUG /* DBG_871X, etc... */
>> + 
>> + #ifdef CONFIG_DEBUG
>> + #define DBG	1	// for ODM & BTCOEX debug
  

Patch

diff --git a/lfs/rtl8189fs b/lfs/rtl8189fs
new file mode 100644
index 000000000..7a2b3dca0
--- /dev/null
+++ b/lfs/rtl8189fs
@@ -0,0 +1,95 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team <info@ipfire.org>                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VERSUFIX = ipfire$(KCFG)
+MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
+
+VER        = 3129a665f835ce0342f9a85a0ce14a556e656b8c
+
+THISAPP    = rtl8189FS_linux-$(VER)
+DL_FILE    = $(THISAPP).tar.xz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f7c817e89403b8a84a664f326f47c7d7
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+	$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8189fs/disable_debug.patch
+	cd $(DIR_APP) && CONFIG_RTL8189FS=m make $(MAKETUNING) \
+		-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules
+
+	# Install the built kernel modules.
+	mkdir -p $(MODPATH)
+	cd $(DIR_APP) && for f in $$(ls *.ko); do \
+		/lib/modules/$$(uname -r)$(KCFG)/build/scripts/sign-file sha512 \
+			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.pem \
+			/lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.x509 \
+			$$f; \
+		xz $$f; \
+		install -m 644 $$f.xz $(MODPATH); \
+	done
+
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 79798834a..6e84d8d1b 100755
--- a/make.sh
+++ b/make.sh
@@ -1181,6 +1181,7 @@  buildipfire() {
   # multi kernel builds so KCFG is empty
   lfsmake2 linux		KCFG=""
   lfsmake2 rtl8189es		KCFG=""
+  lfsmake2 rtl8189fs		KCFG=""
   lfsmake2 rtl8812au		KCFG=""
   lfsmake2 rtl8822bu		KCFG=""
   lfsmake2 xradio		KCFG=""
diff --git a/src/patches/rtl8189fs/disable_debug.patch b/src/patches/rtl8189fs/disable_debug.patch
new file mode 100644
index 000000000..d29c55e6c
--- /dev/null
+++ b/src/patches/rtl8189fs/disable_debug.patch
@@ -0,0 +1,11 @@ 
+diff -Naur rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h
+--- rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c.org/include/autoconf.h	2021-10-01 14:51:56.000000000 +0000
++++ rtl8189FS_linux-3129a665f835ce0342f9a85a0ce14a556e656b8c/include/autoconf.h	2022-02-26 12:00:09.188965578 +0000
+@@ -224,7 +224,6 @@
+ /*
+  * Debug Related Config
+  */
+-#define CONFIG_DEBUG /* DBG_871X, etc... */
+ 
+ #ifdef CONFIG_DEBUG
+ #define DBG	1	// for ODM & BTCOEX debug