r81xx: switch realtek lan module from vendor to kernel.
authorArne Fitzenreiter <arne_f@ipfire.org>
Sun, 16 Jun 2013 13:13:47 +0000 (15:13 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 16 Jun 2013 13:14:41 +0000 (15:14 +0200)
some users has reported problems with the realtek vendor modules.
-problems at link detection with r8101.
-problems with igmpproxy with r8169.

so we switch to the original kernel modul. (vendor drivers are used for
xen because r8169 crash here)

config/rootfiles/core/70/update.sh
lfs/r8101
lfs/r8168
lfs/r8169

index 39b13714b86ee4d6ff68b2dface17a56159d9b0a..9c926d9e15eda6d0aa397301ad0938a117353c6f 100644 (file)
@@ -54,6 +54,28 @@ if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then
        /etc/init.d/ipsec start
 fi
 
+#Switch realtek lan from vendor to kernel original...
+       mv /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r81??.ko \
+          /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r81??.ko.vendor
+       cp /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko.org \
+          /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko
+       rm /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8101.ko
+       rm /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8168.ko
+       rm /var/cache/pakfire/linux-pae-*.ipfire
+
+#rebuild module dep's
+arch=`uname -m`
+
+if [ ${arch::3} == "arm" ]; then
+       depmod -a 3.2.46-ipfire-kirkwood >/dev/null 2>&1
+       depmod -a 3.2.46-ipfire-omap >/dev/null 2>&1
+       depmod -a 3.2.46-ipfire-rpi >/dev/null 2>&1
+else
+       depmod -a 3.2.46-ipfire     >/dev/null 2>&1
+       depmod -a 3.2.46-ipfire-pae >/dev/null 2>&1
+       depmod -a 2.6.32.60-ipfire-xen >/dev/null 2>&1
+fi
+
 #
 #Update Language cache
 perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
@@ -72,4 +94,3 @@ touch /var/run/need_reboot
 sendprofile
 #Don't report the exitcode last command
 exit 0
-
index 85d39007b871c65b5222adaf8dea66beed1abb1c..39a6a2894e28f0cb74e329d502335e9e5b208624 100644 (file)
--- a/lfs/r8101
+++ b/lfs/r8101
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2012  IPFire Team <info@ipfire.org>                      #
+# Copyright (C) 2007-2013  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        #
@@ -28,8 +28,10 @@ VERSUFIX = ipfire$(KCFG)
 ifeq "$(KCFG)" "-xen"
        KVER = 2.6.32.60
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net
+       MODNAME = r8101.ko
 else
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/realtek
+       MODNAME = r8101.ko.vendor
 endif
 
 VER        = 1.023.00
@@ -83,6 +85,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/r8101_add_missing_pciids.patch
        cd $(DIR_APP) && make -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ SUBDIRS=$(DIR_APP)/src modules
-       cd $(DIR_APP)/src && install -m 644 r8101.ko $(MODPATH)
+       cd $(DIR_APP)/src && install -m 644 r8101.ko $(MODPATH)/$(MODNAME)
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index c4aa6a960ada3fdf917d99163a5d26503a500bcf..8dd3ec4ea5dbcdfe2decf94fa0512300bf17a348 100644 (file)
--- a/lfs/r8168
+++ b/lfs/r8168
@@ -28,8 +28,10 @@ VERSUFIX = ipfire$(KCFG)
 ifeq "$(KCFG)" "-xen"
        KVER = 2.6.32.60
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net
+       MODNAME = r8168.ko
 else
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/realtek
+       MODNAME = r8168.ko.vendor
 endif
 
 VER        = 8.035.00
@@ -82,6 +84,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && make -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ SUBDIRS=$(DIR_APP)/src modules
-       cd $(DIR_APP)/src && install -m 644 r8168.ko $(MODPATH)
+       cd $(DIR_APP)/src && install -m 644 r8168.ko $(MODPATH)/$(MODNAME)
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 65c34e610f570061e2d57a0a3f7d9c4fe3d7aefe..5e2f4c76a1a7baa46f853728cc475359c1da9c10 100644 (file)
--- a/lfs/r8169
+++ b/lfs/r8169
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2012  IPFire Team <info@ipfire.org>                      #
+# Copyright (C) 2007-2013  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        #
@@ -28,8 +28,10 @@ VERSUFIX = ipfire$(KCFG)
 ifeq "$(KCFG)" "-xen"
        KVER = 2.6.32.60
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net
+       MODNAME = r8169.ko
 else
        MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/realtek
+       MODNAME = r8169.ko.vendor
 endif
 
 VER        = 6.017.00
@@ -81,11 +83,13 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        #Save original r8169 module
+ifeq "$(KCFG)" "-xen"
        -mv $(MODPATH)/r8169.ko \
            $(MODPATH)/r8169.ko.org
+endif
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/r8169_add_missing_pciids.patch
        cd $(DIR_APP) && make -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ SUBDIRS=$(DIR_APP)/src modules
-       cd $(DIR_APP)/src && install -m 644 r8169.ko $(MODPATH)
+       cd $(DIR_APP)/src && install -m 644 r8169.ko $(MODPATH)/$(MODNAME)
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)