You are not logged in.

#1 2011-01-19 19:00:18

toffyrn
Member
Registered: 2008-10-07
Posts: 221

fixing wake on lan with sky2 and Marvell 88E8056

I have the following network adapters:

$]> lspci | grep Eth
07:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
09:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)

And have added this to /etc/rc.local:

. /etc/rc.conf
. /etc/rc.d/functions
# Setup WOL for next boot
stat_busy "Setting WOL to Active"
/usr/sbin/ethtool -s eth0 wol g
/usr/sbin/ethtool -s eth1 wol g
echo enabled > /sys/class/net/eth0/device/power/wakeup
echo enabled > /sys/class/net/eth1/device/power/wakeup
stat_done

When I shut down the computer, the network led's are still lit up/flashing, but nothing happens when I try to wake it with "wol".

Using the same "wol" command after shutting down from windows vista works...


Is wol not supported by this driver?
I found this webpage: http://www.centos.org/modules/newbb/vie … post116869 recommending another driver "kmod-sk98lin". How do I tell if this one fits for me? And how do I install it?

Last edited by toffyrn (2011-01-24 23:13:01)

Offline

#2 2011-01-23 11:49:06

toffyrn
Member
Registered: 2008-10-07
Posts: 221

Re: fixing wake on lan with sky2 and Marvell 88E8056

I found out that I could get this driver from Marvell's web page, but it seems incompatible with 2.6.36.

Building the driver as is fails, and I found a suggested diff from a forum post somewhere, however it still fails with this warning.

+++ Install mode: User
+++ Driver version: 10.85.9.3 (Aug-13-2010)
+++ Kernel version 2.6.36-ARCH
+++ smp_count=1
+++ cpu_number=8
+++ kernel_machine=x86_64
+++ Architecture: i386
+++ modpost available
+++ Unpack the sources
+++ ====================================
+++ tar xfv sk98lin.tar
2.6/
2.6/sky2.c
2.6/skethtool.c
2.6/skproc.c
2.6/Makefile
2.6/h/
2.6/h/skdrv1st.h
2.6/h/skdrv2nd.h
2.6/skdim.c
common/
common/skaddr.c
common/fwos.c
common/skgeinit.c
common/skgehwt.c
common/skspi.c
common/sk98lin.htm
common/fwapp.c
common/sktimer.c
common/fwhci.c
common/fwptrn.c
common/flashfun.c
common/fwfunctions.c
common/skgemib.c
common/vpdcheck.c
common/skvpd.c
common/skpflash.c
common/sky2le.c
common/fwimage.c
common/fwoids.c
common/skgesirq.c
common/sk98lin.4
common/fwmain.c
common/sktwsi.c
common/skgepnmi.c
common/sklm80.c
common/skgespilole.c
common/skxmac2.c
common/sk98lin.txt
common/h/
common/h/sktimer.h
common/h/fwimage.h
common/h/sktypes.h
common/h/fwptrn.h
common/h/skdebug.h
common/h/skaddr.h
common/h/skversion.h
common/h/skgeasfapi.h
common/h/lm80.h
common/h/skvpd.h
common/h/skgetwsi.h
common/h/skgeinit.h
common/h/skgesirq.h
common/h/skpflash.h
common/h/skqueue.h
common/h/fwoids.h
common/h/skcsum.h
common/h/skgepnm2.h
common/h/skspi.h
common/h/fwapp.h
common/h/skpcidevid.h
common/h/fwos.h
common/h/mvyexhw.h
common/h/sktwsi.h
common/h/fwmain.h
common/h/xmac_ii.h
common/h/fwhci.h
common/h/skgehw.h
common/h/skgedrv.h
common/h/sky2le.h
common/h/skgepnmi.h
common/h/flash.h
common/h/fwcommon.h
common/h/skgehwt.h
common/h/skerror.h
common/skqueue.c
common/skgeasfapi.c
common/skcsum.c
misc/
misc/Kconfig
misc/Configure.help
2.6/skge.c

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-2.6.36-ARCH'
make -C /lib/modules/2.6.36-ARCH/build \
    KBUILD_SRC=/usr/sr36-ARCHc/linux-2.6. \
    KBUILD_EXTMOD="/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all" -f /usr/src/linux-2.6.36-ARCH/Makefile \
    
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        \
    echo;                                \
    echo "  ERROR: Kernel configuration is invalid.";        \
    echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
    echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";    \
    echo;                                \
    /bin/false)
mkdir -p /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.tmp_versions ; rm -f /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.tmp_versions/*
make -f /usr/src/linux-2.6.36-ARCH/scripts/Makefile.build obj=/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all
   rm -f /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/built-in.o; ar rcs /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/built-in.o
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skge.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skge)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.sky2.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(sky2)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/sky2.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/sky2.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skethtool.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skethtool)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skethtool.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skethtool.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.sky2le.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(sky2le)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/sky2le.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/sky2le.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skdim.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skdim)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skdim.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skdim.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skgehwt.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skgehwt)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgehwt.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgehwt.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skaddr.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skaddr)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skaddr.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skaddr.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skgeinit.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skgeinit)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgeinit.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgeinit.c
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:25: error: expected declaration specifiers or '...' before '&' token
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:45: error: expected declaration specifiers or '...' before 'Flags'
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:2: warning: data definition has no type or storage class
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:2: warning: type defaults to 'int' in declaration of 'spin_unlock_irqrestore'
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:45: warning: function declaration isn't a prototype
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:2: error: conflicting types for 'spin_unlock_irqrestore'
include/linux/spinlock.h:337:20: note: previous definition of 'spin_unlock_irqrestore' was here
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4541:2: error: expected identifier or '(' before 'return'
/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4542:1: error: expected identifier or '(' before '}' token
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skgepnmi.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skgepnmi)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgepnmi.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgepnmi.c
  cc -Wp,-MD,/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/.skgesirq.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include -I/usr/src/linux-2.6.36-ARCH/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-ARCH/include -include include/generated/autoconf.h   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all -DSK_USE_CSUM -DSK_DIAG_SUPPORT -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY -DSK_EXTREME -DSK_NO_RLMT -DSK_LINUX  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(skgesirq)"  -D"KBUILD_MODNAME=KBUILD_STR(sk98lin)"  -c -o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgesirq.o /tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skgesirq.c
make[2]: *** [/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all] Error 2
make: *** [sub-make] Error 2
make: Leaving directory `/usr/src/linux-2.6.36-ARCH'
+++ Compiler error

The relevant part of source file skge.c is

static void SkGeSetRxMode(struct SK_NET_DEVICE *dev)

{



DEV_NET        *pNet;

SK_AC        *pAC;



//struct dev_mc_list    *pMcList;

struct netdev_hw_addr *ha; //CHANGED



int            i;

int            PortIdx;

unsigned long        Flags;



    SK_DBG_MSG(NULL, SK_DBGMOD_DRV, SK_DBGCAT_DRV_ENTRY,

        ("SkGeSetRxMode starts now... "));



    pNet = PPRIV;

    pAC = pNet->pAC;

    if (pAC->RlmtNets == 1)

        PortIdx = pAC->ActivePort;

    else

        PortIdx = pNet->NetNr;



    spin_lock_irqsave(&pAC->SlowPathLock, Flags);

    if (dev->flags & IFF_PROMISC) {

        SK_DBG_MSG(NULL, SK_DBGMOD_DRV, SK_DBGCAT_DRV_ENTRY,

            ("PROMISCUOUS mode\n"));

        SkAddrPromiscuousChange(pAC, pAC->IoBase, PortIdx,

            SK_PROM_MODE_LLC);

    } else if (dev->flags & IFF_ALLMULTI) {

        SK_DBG_MSG(NULL, SK_DBGMOD_DRV, SK_DBGCAT_DRV_ENTRY,

            ("ALLMULTI mode\n"));

        SkAddrPromiscuousChange(pAC, pAC->IoBase, PortIdx,

            SK_PROM_MODE_ALL_MC);

    } else {

        SkAddrPromiscuousChange(pAC, pAC->IoBase, PortIdx,

            SK_PROM_MODE_NONE);

        SkAddrMcClear(pAC, pAC->IoBase, PortIdx, 0);



        SK_DBG_MSG(NULL, SK_DBGMOD_DRV, SK_DBGCAT_DRV_ENTRY,

            ("Number of MC entries: %d ", dev->mc_count));

        

        /*

         *pMcList = dev->mc_list;

         *for (i=0; i<dev->mc_count; i++, pMcList = pMcList->next) {

         *    SkAddrMcAdd(pAC, pAC->IoBase, PortIdx,

         *        (SK_MAC_ADDR*)pMcList->dmi_addr, 0);

         *    SK_DBG_MSG(NULL, SK_DBGMOD_DRV, SK_DBGCAT_DRV_MCA,

         *        ("%02x:%02x:%02x:%02x:%02x:%02x\n",

         *        pMcList->dmi_addr[0],

         *        pMcList->dmi_addr[1],

         *        pMcList->dmi_addr[2],

         *        pMcList->dmi_addr[3],

         *        pMcList->dmi_addr[4],

         *        pMcList->dmi_addr[5]));

         */

                

                i=0;

                netdev_for_each_mc_addr (ha, dev)

                {

                SkAddrMcAdd(

                        pAC, 

                        pAC->IoBase, 

                        PortIdx,

                        (SK_MAC_ADDR*)ha->addr, 

                        0);

                SK_DBG_MSG(

                        NULL, 

                        SK_DBGMOD_DRV, 

                        SK_DBGCAT_DRV_MCA,

                        ("%02x:%02x:%02x:%02x:%02x:%02x\n"));

                 i++;

                } 

                //CHANGED







        }

        SkAddrMcUpdate(pAC, pAC->IoBase, PortIdx);

    }

    spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);

    

    return;

} /* SkGeSetRxMode */

Can anyone see why it complains about: "/tmp/Sk98IJmbjRnQYcZIAkMJLaEjb/all/skge.c:4539:25: error: expected declaration specifiers or '...' before '&' token"  ??

This refers to the line 4539: "spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);"

Offline

#3 2011-01-23 21:21:03

bje
Member
Registered: 2010-10-30
Posts: 2

Re: fixing wake on lan with sky2 and Marvell 88E8056

I had the same problem with wake on lan.
Recompile your kernel with this patch:

--- linux-2.6.orig/drivers/net/sky2.h
+++ linux-2.6/drivers/net/sky2.h
@@ -371,8 +371,8 @@ enum csr_regs {
 enum {
     Y2_VMAIN_AVAIL    = 1<<17,/* VMAIN available (YUKON-2 only) */
     Y2_VAUX_AVAIL    = 1<<16,/* VAUX available (YUKON-2 only) */
-    Y2_HW_WOL_ON    = 1<<15,/* HW WOL On  (Yukon-EC Ultra A1 only) */
-    Y2_HW_WOL_OFF    = 1<<14,/* HW WOL On  (Yukon-EC Ultra A1 only) */
+    Y2_HW_WOL_OFF    = 1<<15,/* HW WOL Off (Yukon-EC Ultra, YUKON-2) */
+    Y2_HW_WOL_ON    = 1<<14,/* HW WOL On  (Yukon-EC Ultra, YUKON-2) */
     Y2_ASF_ENABLE    = 1<<13,/* ASF Unit Enable (YUKON-2 only) */
     Y2_ASF_DISABLE    = 1<<12,/* ASF Unit Disable (YUKON-2 only) */
     Y2_CLK_RUN_ENA    = 1<<11,/* CLK_RUN Enable  (YUKON-2 only) */

https://bugzilla.kernel.org/show_bug.cgi?id=13764

Offline

#4 2011-01-23 21:49:16

toffyrn
Member
Registered: 2008-10-07
Posts: 221

Re: fixing wake on lan with sky2 and Marvell 88E8056

Thank you very much for your reply. smile

Just to clarify one thing: Looking at the bug report it seems like the network led is turned off when shutting down the computer, however in my case it is still lit. Or have I misunderstood?

I will try this patch, and rebuild my kernel later this week. (Some busy days coming up...)

Offline

#5 2011-01-24 23:18:46

toffyrn
Member
Registered: 2008-10-07
Posts: 221

Re: fixing wake on lan with sky2 and Marvell 88E8056

bje wrote:

I had the same problem with wake on lan.
Recompile your kernel with this patch:

.........

https://bugzilla.kernel.org/show_bug.cgi?id=13764

This did not change anything in my case. Still no luck in getting wol to work.

I found this bug report: https://bugzilla.kernel.org/show_bug.cgi?id=19492
It states that reverting committ 87b09f1f25cd1e01d7c50bf423c7fe33027d7511 will fix things.
Will post back after trying this one...

Offline

#6 2011-01-25 10:44:56

toffyrn
Member
Registered: 2008-10-07
Posts: 221

Re: fixing wake on lan with sky2 and Marvell 88E8056

WOL is still not working after using this patch from committ: 87b09f1f25cd1e01d7c50bf423c7fe33027d7511

--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -733,7 +733,6 @@ static void sky2_wol_init(struct sky2_port *sky2)
        unsigned port = sky2->port;
        enum flow_control save_mode;
        u16 ctrl;
-       u32 reg1;
 
        /* Bring hardware out of reset */
        sky2_write16(hw, B0_CTST, CS_RST_CLR);
@@ -787,11 +786,6 @@ static void sky2_wol_init(struct sky2_port *sky2)
        /* Disable PiG firmware */
        sky2_write16(hw, B0_CTST, Y2_HW_WOL_OFF);
 
-       /* Turn on legacy PCI-Express PME mode */
-       reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
-       reg1 |= PCI_Y2_PME_LEGACY;
-       sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
-
        /* block receiver */
        sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
 }

I do believe my only option will be the driver from marvell "sk98lin", but this one won't compile with current kernel...

Last edited by toffyrn (2011-01-25 10:46:18)

Offline

Board footer

Powered by FluxBB