r81xx: switch realtek lan module from vendor to kernel.

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)
This commit is contained in:
Arne Fitzenreiter
2013-06-16 15:13:47 +02:00
parent 9515a14ef4
commit 22358c0672
4 changed files with 35 additions and 6 deletions

View 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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)