Networking Forums

Networking Forums > Computer Networking > Linux Networking > Marvell sk98lin driver fix

Reply
Thread Tools Display Modes

Marvell sk98lin driver fix

 
 
buck
Guest
Posts: n/a

 
      02-12-2009, 08:29 PM
At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
version 10.70.2.3 fails to correctly patch the kernel source. 'make
{YourFavorite}config' crashes; and after Kconfig is created correctly,
Makfile has no entry for sk98lin so no module is made. Here's a
workaround:

Make sure /usr/src/linux is a valid symlink to the kernel source.

Set up networking such that no driver for the Marvell NIC is loaded
('lsmod') and make sure the NIC has no IP.

'cd /usr/src/linux'

Back up /usr/src/linux/drivers/net/Kconfig

Delete .version

make clean

cd to the place you unpacked install_v10.70.2.3.tar.bz2, run
'./install.sh' and select 2 to patch the kernel.

'cd /usr/src/linux'

Apply the Marvell patch. Note that Makefile is not altered.

Restore the Kconfig backup; make sure you destroy the patched Kconfig
when you do that.

Apply Makefile.diff patch:
'patch -p1 --dry-run </PATH/TO/Makefile.diff'
If no errors,
'patch -p1 </PATH/TO/Makefile.diff'

Apply Kconfig.diff patch:
'patch -p1 --dry-run </PATH/TO/Kconfig.diff'
If no errors,
'patch -p1 </PATH/TO/Kconfig.diff'

make oldconfig

Answer "m"odule to CONFIG_SK98LIN

I answer "y"es to CONFIG_SK98LIN_NAPI but you should decide for
yourself.

make -j5

make modules_install

Set up to use this new kernel and module, and boot it. I had to append
to /etc/modprobe.d/blacklist sk98lin and sky2 in order to be able to
select the one I wish to load. 'modprobe -r sk98lin' SegFaults (same
regardless of the method of creation of sk98lin.ko) and does not unload
the module, so I have to reboot to switch to sky2.

Makefile.diff:
--- Makefile 2008-11-20 15:02:37.000000000 -0800
+++ linux/drivers/net/Makefile 2009-02-12 00:12:20.907773057 -0800
@@ -74,6 +74,7 @@
gelic_wireless-$(CONFIG_GELIC_WIRELESS) += ps3_gelic_wireless.o
ps3_gelic-objs += ps3_gelic_net.o $(gelic_wireless-y)
obj-$(CONFIG_TC35815) += tc35815.o
+obj-$(CONFIG_SK98LIN) += sk98lin/
obj-$(CONFIG_SKGE) += skge.o
obj-$(CONFIG_SKY2) += sky2.o
obj-$(CONFIG_SKFP) += skfp/

Kconfig.diff:
--- Kconfig 2008-11-20 15:02:37.000000000 -0800
+++ linux/drivers/net/Kconfig 2009-02-11 22:43:02.226763761 -0800
@@ -2089,6 +2089,34 @@
To compile this driver as a module, choose M here: the module
will be called sis190. This is recommended.

+config SK98LIN
+ tristate "Marvell Yukon Chipset / SysKonnect SK-98xx Support"
+ depends on PCI
+ ---help---
+ Say Y here if you have a Marvell Yukon or SysKonnect SK-98xx/SK-
95xx
+ compliant Gigabit Ethernet Adapter.
+
+ The adapters support Jumbo Frames.
+ The dual link adapters support link-failover and dual port
features.
+ Both Marvell Yukon and SysKonnect SK-98xx/SK-95xx adapters
support
+ the scatter-gather functionality with sendfile(). Please refer
to
+ Documentation/networking/sk98lin.txt for more information about
+ optional driver parameters.
+ Questions concerning this driver may be addressed to:
+ (E-Mail Removed)
+
+ If you want to compile this driver as a module ( = code which
can be
+ inserted in and removed from the running kernel whenever you
want),
+ say M here and read Documentation/modules.txt. This is
recommended.
+ The module will be called sk98lin. This is recommended.
+
+config SK98LIN_NAPI
+ bool "Use Rx polling (NAPI)"
+ depends on SK98LIN
+ help
+ NAPI is a new driver API designed to reduce CPU and interrupt
load
+ when the driver is receiving lots of packets from the card.
+
config SKGE
tristate "New SysKonnect GigaEthernet support"
depends on PCI

You can download install_v10.70.2.3tar.bz2 from
http://www.marvell.com/drivers/
or
ftp://andthatsjazz.org/pub/yukon/ins...70.2.3.tar.bz2
--
buck
 
Reply With Quote
 
 
 
 
Robert Harris
Guest
Posts: n/a

 
      02-12-2009, 09:36 PM
buck wrote:
> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
> version 10.70.2.3 fails to correctly patch the kernel source. 'make
> {YourFavorite}config' crashes; and after Kconfig is created correctly,
> Makfile has no entry for sk98lin so no module is made. Here's a
> workaround:
> [snip]


The skge driver should drive your NIC.

Robert
 
Reply With Quote
 
Robert Harris
Guest
Posts: n/a

 
      02-13-2009, 09:59 AM
buck wrote:
> On Thu, 12 Feb 2009 22:36:34 +0000, Robert Harris
> <(E-Mail Removed)> wrote:
>
>> buck wrote:
>>> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
>>> version 10.70.2.3 fails to correctly patch the kernel source. 'make
>>> {YourFavorite}config' crashes; and after Kconfig is created correctly,
>>> Makfile has no entry for sk98lin so no module is made. Here's a
>>> workaround:
>>> [snip]

>> The skge driver should drive your NIC.
>>
>> Robert

>
> It doesn't even see it.
> --
> buck


What is the result of running:

lspci -v

on your system?

Robert
 
Reply With Quote
 
buck
Guest
Posts: n/a

 
      02-17-2009, 10:38 PM
Robert Harris <(E-Mail Removed)> wrote in
news:7ocll.32112$(E-Mail Removed)2:

> buck wrote:
>> On Thu, 12 Feb 2009 22:36:34 +0000, Robert Harris
>> <(E-Mail Removed)> wrote:
>>
>>> buck wrote:
>>>> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
>>>> version 10.70.2.3 fails to correctly patch the kernel source.
>>>> 'make {YourFavorite}config' crashes; and after Kconfig is created
>>>> correctly, Makfile has no entry for sk98lin so no module is made.
>>>> Here's a workaround:
>>>> [snip]
>>> The skge driver should drive your NIC.
>>>
>>> Robert

>>
>> It doesn't even see it.
>> --
>> buck

>
> What is the result of running:
>
> lspci -v
>
> on your system?
>
> Robert


Not relevant. The help for skge says "It does not support the newer
Yukon2 chipset: a separate driver, sky2, is provided for Yukon2-based
adapters".

And sky2 is a poor substitute for sk98lin!
--
buck

 
Reply With Quote
 
Robert Harris
Guest
Posts: n/a

 
      02-18-2009, 07:30 PM
buck wrote:
> Robert Harris <(E-Mail Removed)> wrote in
> news:7ocll.32112$(E-Mail Removed)2:
>
>> buck wrote:
>>> On Thu, 12 Feb 2009 22:36:34 +0000, Robert Harris
>>> <(E-Mail Removed)> wrote:
>>>
>>>> buck wrote:
>>>>> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
>>>>> version 10.70.2.3 fails to correctly patch the kernel source.
>>>>> 'make {YourFavorite}config' crashes; and after Kconfig is created
>>>>> correctly, Makfile has no entry for sk98lin so no module is made.
>>>>> Here's a workaround:
>>>>> [snip]
>>>> The skge driver should drive your NIC.
>>>>
>>>> Robert
>>> It doesn't even see it.
>>> --
>>> buck

>> What is the result of running:
>>
>> lspci -v
>>
>> on your system?
>>
>> Robert

>
> Not relevant. The help for skge says "It does not support the newer
> Yukon2 chipset: a separate driver, sky2, is provided for Yukon2-based
> adapters".
>
> And sky2 is a poor substitute for sk98lin!


Have you tried it? It is in the kernel, after all.

Robert

> --
> buck
>

 
Reply With Quote
 
buck
Guest
Posts: n/a

 
      02-19-2009, 05:56 PM
Robert Harris <(E-Mail Removed)> wrote in
newsd_ml.2719$(E-Mail Removed)2:

> Subject: Re: Marvell sk98lin driver fix
> From: Robert Harris <(E-Mail Removed)>
> Newsgroups: comp.os.linux.networking
>
> buck wrote:
>> Robert Harris <(E-Mail Removed)> wrote in
>> news:7ocll.32112$(E-Mail Removed)2:
>>
>>> buck wrote:
>>>> On Thu, 12 Feb 2009 22:36:34 +0000, Robert Harris
>>>> <(E-Mail Removed)> wrote:
>>>>
>>>>> buck wrote:
>>>>>> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
>>>>>> version 10.70.2.3 fails to correctly patch the kernel source.
>>>>>> 'make {YourFavorite}config' crashes; and after Kconfig is created
>>>>>> correctly, Makfile has no entry for sk98lin so no module is made.
>>>>>> Here's a workaround:
>>>>>> [snip]
>>>>> The skge driver should drive your NIC.
>>>>>
>>>>> Robert
>>>> It doesn't even see it.
>>>> --
>>>> buck
>>> What is the result of running:
>>>
>>> lspci -v
>>>
>>> on your system?
>>>
>>> Robert

>>
>> Not relevant. The help for skge says "It does not support the newer
>> Yukon2 chipset: a separate driver, sky2, is provided for Yukon2-based
>> adapters".
>>
>> And sky2 is a poor substitute for sk98lin!

>
> Have you tried it? It is in the kernel, after all.


What part of ">>>> It doesn't even see it." did you miss?

Rhetorical: How would I know that if I hadn't tried it?
--
buck
 
Reply With Quote
 
Robert Harris
Guest
Posts: n/a

 
      02-19-2009, 08:01 PM
buck wrote:
> Robert Harris <(E-Mail Removed)> wrote in
> newsd_ml.2719$(E-Mail Removed)2:
>
>> Subject: Re: Marvell sk98lin driver fix
>> From: Robert Harris <(E-Mail Removed)>
>> Newsgroups: comp.os.linux.networking
>>
>> buck wrote:
>>> Robert Harris <(E-Mail Removed)> wrote in
>>> news:7ocll.32112$(E-Mail Removed)2:
>>>
>>>> buck wrote:
>>>>> On Thu, 12 Feb 2009 22:36:34 +0000, Robert Harris
>>>>> <(E-Mail Removed)> wrote:
>>>>>
>>>>>> buck wrote:
>>>>>>> At least on this 2.6.27.7 Linux kernel, the Marvel sk98lin driver
>>>>>>> version 10.70.2.3 fails to correctly patch the kernel source.
>>>>>>> 'make {YourFavorite}config' crashes; and after Kconfig is created
>>>>>>> correctly, Makfile has no entry for sk98lin so no module is made.
>>>>>>> Here's a workaround:
>>>>>>> [snip]
>>>>>> The skge driver should drive your NIC.
>>>>>>
>>>>>> Robert
>>>>> It doesn't even see it.
>>>>> --
>>>>> buck
>>>> What is the result of running:
>>>>
>>>> lspci -v
>>>>
>>>> on your system?
>>>>
>>>> Robert
>>> Not relevant. The help for skge says "It does not support the newer
>>> Yukon2 chipset: a separate driver, sky2, is provided for Yukon2-based
>>> adapters".
>>>
>>> And sky2 is a poor substitute for sk98lin!

>> Have you tried it? It is in the kernel, after all.

>
> What part of ">>>> It doesn't even see it." did you miss?
>
> Rhetorical: How would I know that if I hadn't tried it?
> --
> buck


Once again, what is the result of running:

lspci -v

on your system?

Robert
 
Reply With Quote
 
buck
Guest
Posts: n/a

 
      02-20-2009, 11:40 PM
Robert Harris <(E-Mail Removed)> wrote in
news:bNjnl.24044$(E-Mail Removed)2:

>> What part of ">>>> It doesn't even see it." did you miss?
>>
>> Rhetorical: How would I know that if I hadn't tried it?
>> --
>> buck

>
> Once again, what is the result of running:
>
> lspci -v
>
> on your system?
>
> Robert


It isn't relevant, but OK, if you insist:
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E
Gigabit Ethernet Controller (rev 22)
Subsystem: Giga-byte Technology Marvell 88E8053 Gigabit Ethernet
Controller (Gigabyte) Flags: bus master, fast devsel, latency 0,
IRQ 16 Memory at f4000000 (64-bit, non-prefetchable) [size=16K]
I/O ports at 9000 [size=256]
[virtual] Expansion ROM at 40000000 [disabled] [size=128K]
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data <?>
Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
Queue=0/1 Enable- Capabilities: [e0] Express Legacy Endpoint,
MSI 00 Capabilities: [100] Advanced Error Reporting <?>
Kernel driver in use: sk98lin
Kernel modules: sk98lin, sky2
 
Reply With Quote
 
Robert Harris
Guest
Posts: n/a

 
      03-05-2009, 07:47 PM
buck wrote:
> Robert Harris <(E-Mail Removed)> wrote in
> news:bNjnl.24044$(E-Mail Removed)2:
>
>>> What part of ">>>> It doesn't even see it." did you miss?
>>>
>>> Rhetorical: How would I know that if I hadn't tried it?
>>> --
>>> buck

>> Once again, what is the result of running:
>>
>> lspci -v
>>
>> on your system?
>>
>> Robert

>
> It isn't relevant, but OK, if you insist:
> 04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E
> Gigabit Ethernet Controller (rev 22)
> Subsystem: Giga-byte Technology Marvell 88E8053 Gigabit Ethernet
> Controller (Gigabyte) Flags: bus master, fast devsel, latency 0,
> IRQ 16 Memory at f4000000 (64-bit, non-prefetchable) [size=16K]
> I/O ports at 9000 [size=256]
> [virtual] Expansion ROM at 40000000 [disabled] [size=128K]
> Capabilities: [48] Power Management version 2
> Capabilities: [50] Vital Product Data <?>
> Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+
> Queue=0/1 Enable- Capabilities: [e0] Express Legacy Endpoint,
> MSI 00 Capabilities: [100] Advanced Error Reporting <?>
> Kernel driver in use: sk98lin
> Kernel modules: sk98lin, sky2

sky2 does the 88E8053. What happens if you compile your kernel without
the sk98lin driver and try to use it? More specifically, what is the
result of:

dmesg | grep eth

Robert
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
sk98lin and jumbo frames Jack Snodgrass Linux Networking 1 09-06-2006 03:17 PM
Marvell Gigabit Ethernet driver Fred Kastl Linux Networking 6 04-07-2006 11:37 PM
marvell yukon network 88 Nachiket Gokhale Linux Networking 2 02-28-2006 09:31 PM
sk98lin version in FC4 kernel Jim Garrison Linux Networking 5 12-16-2005 05:32 PM
sc2000 using sk98lin + software raid gigabit very slow Eamonn Hamilton Linux Networking 0 08-17-2004 02:58 PM



1 2 3 4 5 6 7 8 9 10 11