LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1959|回复: 8

千兆网卡如何安装

[复制链接]
发表于 2005-11-5 00:49:21 | 显示全部楼层 |阅读模式
我网卡是MARVELL的千兆网卡,文件名sk98lin ,install-7_06.tar.bz2解完
DriverInstall打开出现四个文件
sk98lin.tar sk98lin.4 install.sh README

打开sk98lin.tar 出现四个文件common  2.4  2.6 misc
解压后无法向3COM百兆网卡那样编辑!没有.O文件!
然后我又依照说明按也不行

底下就是说明,高人请帮我看看 急死我了,好几天都没睡好觉了!
©Copyright 1999-2004 Marvell®.
All rights reserved


--------------------------------------------------------------------------------

sk98lin.htm created 26-Aug-2004

Readme File for sk98lin v7.07
Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter driver for LINUX


This file contains
1  Overview
2  Required Files
3  Installation

3.1  Driver Installation
3.2  Inclusion of adapter at system start

4  Driver Parameters

4.1  Per-Port Parameters
4.2  Adapter Parameters

5  Large Frame Support
6  VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
7  Troubleshooting



--------------------------------------------------------------------------------


1  Overview
The sk98lin driver supports the Marvell Yukon and SysKonnect
SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has
been tested with Linux on Intel/x86 machines.

2  Required Files
The linux kernel source.
No additional files required.

3  Installation
It is recommended to download the latest version of the driver from the
SysKonnect web site www.syskonnect.com. If you have downloaded the latest
driver, the Linux kernel has to be patched before the driver can be
installed. For details on how to patch a Linux kernel, refer to the
patch.txt file.


3.1  Driver Installation

The following steps describe the actions that are required to install
the driver and to start it manually. These steps should be carried
out for the initial driver setup. Once confirmed to be ok, they can
be included in the system start.

NOTE 1: To perform the following tasks you need 'root' access.

NOTE 2: In case of problems, please read the section "Troubleshooting"
        below.

The driver can either be integrated into the kernel or it can be compiled
as a module. Select the appropriate option during the kernel
configuration.

Compile/use the driver as a module
----------------------------------
To compile the driver, go to the directory /usr/src/linux and
execute the command "make menuconfig" or "make xconfig" and proceed as
follows:

To integrate the driver permanently into the kernel, proceed as follows:

1. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
2. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
   with (*)
3. Build a new kernel when the configuration of the above options is
   finished.
4. Install the new kernel.
5. Reboot your system.

To use the driver as a module, proceed as follows:

1. Enable 'loadable module support' in the kernel.
2. For automatic driver start, enable the 'Kernel module loader'.
3. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
4. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
   with (M)
5. Execute the command "make modules".
6. Execute the command "make modules_install".
   The appropiate modules will be installed.
7. Reboot your system.


Load the module manually
------------------------
To load the module manually, proceed as follows:

1. Enter "modprobe sk98lin".
2. If a Marvell Yukon or SysKonnect SK-98xx adapter is installed in
   your computer and you have a /proc file system, execute the command:
   "ls /proc/net/sk98lin/"
   This should produce an output containing a line with the following
   format:
   eth0   eth1  ...
   which indicates that your adapter has been found and initialized.
   
   NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx
           adapter installed, the adapters will be listed as 'eth0',
           'eth1', 'eth2', etc.
           For each adapter, repeat steps 3 and 4 below.

   NOTE 2: If you have other Ethernet adapters installed, your Marvell
           Yukon or SysKonnect SK-98xx adapter will be mapped to the
           next available number, e.g. 'eth1'. The mapping is executed
           automatically.
           The module installation message (displayed either in a system
           log file or on the console) prints a line for each adapter
           found containing the corresponding 'ethX'.

3. Select an IP address and assign it to the respective adapter by
   entering:
   ifconfig eth0 <ip-address>
   With this command, the adapter is connected to the Ethernet.
   
   SK-98xx Gigabit Ethernet Server Adapters: The yellow LED on the adapter
   is now active, the link status LED of the primary port is active and
   the link status LED of the secondary port (on dual port adapters) is
   blinking (if the ports are connected to a switch or hub).
   SK-98xx V2.0 Gigabit Ethernet Adapters: The link status LED is active.
   In addition, you will receive a status message on the console stating
   "ethX: network connection up using port Y" and showing the selected
   connection parameters (x stands for the ethernet device number
   (0,1,2, etc), y stands for the port name (A or B)).

   NOTE: If you are in doubt about IP addresses, ask your network
         administrator for assistance.
  
4. Your adapter should now be fully operational.
   Use 'ping <otherstation>' to verify the connection to other computers
   on your network.
5. To check the adapter configuration view /proc/net/sk98lin/[devicename].
   For example by executing:   
   "cat /proc/net/sk98lin/eth0"

Unload the module
-----------------
To stop and unload the driver modules, proceed as follows:

1. Execute the command "ifconfig eth0 down".
2. Execute the command "rmmod sk98lin".


3.2  Inclusion of adapter at system start

Since a large number of different Linux distributions are
available, we are unable to describe a general installation procedure
for the driver module.
Because the driver is now integrated in the kernel, installation should
be easy, using the standard mechanism of your distribution.
Refer to the distribution's manual for installation of ethernet adapters.


4  Driver Parameters
Parameters can be set at the command line after the module has been
loaded with the command 'modprobe'.
In some distributions, the configuration tools are able to pass parameters
to the driver module.

If you use the kernel module loader, you can set driver parameters
in the file /etc/modules.conf (or old name: /etc/conf.modules).
To set the driver parameters in this file, proceed as follows:

1. Insert a line of the form :
   options sk98lin ...
   For "...", the same syntax is required as described for the command
   line paramaters of modprobe below.
2. To activate the new parameters, either reboot your computer
   or
   unload and reload the driver.
   The syntax of the driver parameters is:

        modprobe sk98lin parameter=value1[,value2[,value3...]]

   where value1 refers to the first adapter, value2 to the second etc.

NOTE: All parameters are case sensitive. Write them exactly as shown
      below.

Example:
Suppose you have two adapters. You want to set auto-negotiation
on the first adapter to ON and on the second adapter to OFF.
You also want to set DuplexCapabilities on the first adapter
to FULL, and on the second adapter to HALF.
Then, you must enter:

        modprobe sk98lin AutoNeg_A=On,Off DupCap_A=Full,Half

NOTE: The number of adapters that can be configured this way is
      limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
      The current limit is 16. If you happen to install
      more adapters, adjust this and recompile.



4.1  Per-Port Parameters

These settings are available for each port on the adapter.
In the following description, '?' stands for the port for
which you set the parameter (A or B).

Speed
-----
Parameter:    Speed_?
Values:       10, 100, 1000, Auto
Default:      Auto

This parameter is used to set the speed capabilities. It is only valid
for the SK-98xx V2.0 copper adapters.
Usually, the speed is negotiated between the two ports during link
establishment. If this fails, a port can be forced to a specific setting
with this parameter.

Auto-Negotiation
----------------
Parameter:    AutoNeg_?
Values:       On, Off, Sense
Default:      On
  
The "Sense"-mode automatically detects whether the link partner supports
auto-negotiation or not.

Duplex Capabilities
-------------------
Parameter:    DupCap_?
Values:       Half, Full, Both
Default:      Both

This parameters is only relevant if auto-negotiation for this port is
not set to "Sense". If auto-negotiation is set to "On", all three values
are possible. If it is set to "Off", only "Full" and "Half" are allowed.
This parameter is usefull if your link partner does not support all
possible combinations.

Flow Control
------------
Parameter:    FlowCtrl_?
Values:       Sym, SymOrRem, LocSend, None
Default:      SymOrRem

This parameter can be used to set the flow control capabilities the
port reports during auto-negotiation. It can be set for each port
individually.
Possible modes:
   -- Sym      = Symmetric: both link partners are allowed to send
                  PAUSE frames
   -- SymOrRem = SymmetricOrRemote: both or only remote partner
                  are allowed to send PAUSE frames
   -- LocSend  = LocalSend: only local link partner is allowed
                  to send PAUSE frames
   -- None     = no link partner is allowed to send PAUSE frames
  
NOTE: This parameter is ignored if auto-negotiation is set to "Off".

Role in Master-Slave-Negotiation (1000Base-T only)
--------------------------------------------------
Parameter:    Role_?
Values:       Auto, Master, Slave
Default:      Auto

This parameter is only valid for the SK-9821 and SK-9822 adapters.
For two 1000Base-T ports to communicate, one must take the role of the
master (providing timing information), while the other must be the
slave. Usually, this is negotiated between the two ports during link
establishment. If this fails, a port can be forced to a specific setting
with this parameter.



4.2  Adapter Parameters

Connection Type (SK-98xx V2.0 copper adapters only)
---------------
Parameter:    ConType
Values:       Auto, 100FD, 100HD, 10FD, 10HD
Default:      Auto

The parameter 'ConType' is a combination of all five per-port parameters
within one single parameter. This simplifies the configuration of both ports
of an adapter card! The different values of this variable reflect the most
meaningful combinations of port parameters.

The following table shows the values of 'ConType' and the corresponding
combinations of the per-port parameters:

    ConType   |  DupCap   AutoNeg   FlowCtrl   Role             Speed
    ----------+------------------------------------------------------
    Auto      |  Both     On        SymOrRem   Auto             Auto
    100FD     |  Full     Off       None       Auto (ignored)   100
    100HD     |  Half     Off       None       Auto (ignored)   100
    10FD      |  Full     Off       None       Auto (ignored)   10
    10HD      |  Half     Off       None       Auto (ignored)   10

Stating any other port parameter together with this 'ConType' variable
will result in a merged configuration of those settings. This due to
the fact, that the per-port parameters (e.g. Speed_? ) have a higher
priority than the combined variable 'ConType'.

NOTE: This parameter is always used on both ports of the adapter card.

Interrupt Moderation
--------------------
Parameter:    Moderation
Values:       None, Static, Dynamic
Default:      None

Interrupt moderation is employed to limit the maxmimum number of interrupts
the driver has to serve. That is, one or more interrupts (which indicate any
transmit or receive packet to be processed) are queued until the driver
processes them. When queued interrupts are to be served, is determined by the
'IntsPerSec' parameter, which is explained later below.

Possible modes:

   -- None - No interrupt moderation is applied on the adapter card.
      Therefore, each transmit or receive interrupt is served immediately
      as soon as it appears on the interrupt line of the adapter card.

   -- Static - Interrupt moderation is applied on the adapter card.
      All transmit and receive interrupts are queued until a complete
      moderation interval ends. If such a moderation interval ends, all
      queued interrupts are processed in one big bunch without any delay.
      The term 'static' reflects the fact, that interrupt moderation is
      always enabled, regardless how much network load is currently
      passing via a particular interface. In addition, the duration of
      the moderation interval has a fixed length that never changes while
      the driver is operational.

   -- Dynamic - Interrupt moderation might be applied on the adapter card,
      depending on the load of the system. If the driver detects that the
      system load is too high, the driver tries to shield the system against
      too much network load by enabling interrupt moderation. If - at a later
      time - the CPU utilizaton decreases again (or if the network load is
      negligible) the interrupt moderation will automatically be disabled.

Interrupt moderation should be used when the driver has to handle one or more
interfaces with a high network load, which - as a consequence - leads also to a
high CPU utilization. When moderation is applied in such high network load
situations, CPU load might be reduced by 20-30%.

NOTE: The drawback of using interrupt moderation is an increase of the round-
trip-time (RTT), due to the queueing and serving of interrupts at dedicated
moderation times.

Interrupts per second
---------------------
Parameter:    IntsPerSec
Values:       30...40000 (interrupts per second)
Default:      2000

This parameter is only used, if either static or dynamic interrupt moderation
is used on a network adapter card. Using this paramter if no moderation is
applied, will lead to no action performed.

This parameter determines the length of any interrupt moderation interval.
Assuming that static interrupt moderation is to be used, an 'IntsPerSec'
parameter value of 2000 will lead to an interrupt moderation interval of
500 microseconds.

NOTE: The duration of the moderation interval is to be chosen with care.
At first glance, selecting a very long duration (e.g. only 100 interrupts per
second) seems to be meaningful, but the increase of packet-processing delay
is tremendous. On the other hand, selecting a very short moderation time might
compensate the use of any moderation being applied.


Preferred Port
--------------
Parameter:    PrefPort
Values:       A, B
Default:      A

This is used to force the preferred port to A or B (on dual-port network
adapters). The preferred port is the one that is used if both are detected
as fully functional.

RLMT Mode (Redundant Link Management Technology)
------------------------------------------------
Parameter:    RlmtMode
Values:       CheckLinkState,CheckLocalPort, CheckSeg, DualNet
Default:      CheckLinkState

RLMT monitors the status of the port. If the link of the active port
fails, RLMT switches immediately to the standby link. The virtual link is
maintained as long as at least one 'physical' link is up.

Possible modes:

   -- CheckLinkState - Check link state only: RLMT uses the link state
      reported by the adapter hardware for each individual port to
      determine whether a port can be used for all network traffic or
      not.

   -- CheckLocalPort - In this mode, RLMT monitors the network path
      between the two ports of an adapter by regularly exchanging packets
      between them. This mode requires a network configuration in which
      the two ports are able to "see" each other (i.e. there must not be
      any router between the ports).

   -- CheckSeg - Check local port and segmentation: This mode supports the
      same functions as the CheckLocalPort mode and additionally checks
      network segmentation between the ports. Therefore, this mode is only
      to be used if Gigabit Ethernet switches are installed on the network
      that have been configured to use the Spanning Tree protocol.

   -- DualNet - In this mode, ports A and B are used as separate devices.
      If you have a dual port adapter, port A will be configured as eth0
      and port B as eth1. Both ports can be used independently with
      distinct IP addresses. The preferred port setting is not used.
      RLMT is turned off.
   
NOTE: RLMT modes CLP and CLPSS are designed to operate in configurations
      where a network path between the ports on one adapter exists.
      Moreover, they are not designed to work where adapters are connected
      back-to-back.

5  Large Frame Support
The driver supports large frames (also called jumbo frames). Using large
frames can result in an improved throughput if transferring large amounts
of data.
To enable large frames, set the MTU (maximum transfer unit) of the
interface to the desired value (up to 9000), execute the following
command:
      ifconfig eth0 mtu 9000
This will only work if you have two adapters connected back-to-back
or if you use a switch that supports large frames. When using a switch,
it should be configured to allow large frames and auto-negotiation should  
be set to OFF. The setting must be configured on all adapters that can be
reached by the large frames. If one adapter is not set to receive large
frames, it will simply drop them.

You can switch back to the standard ethernet frame size by executing the
following command:
      ifconfig eth0 mtu 1500

To permanently configure this setting, add a script with the 'ifconfig'
line to the system startup sequence (named something like "S99sk98lin"
in /etc/rc.d/rc2.d).

6  VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
The Marvell Yukon/SysKonnect Linux drivers are able to support VLAN and
Link Aggregation according to IEEE standards 802.1, 802.1q, and 802.3ad.
These features are only available after installation of open source
modules available on the Internet:
For VLAN go to: http://www.candelatech.com/~greear/vlan.html
For Link Aggregation go to: http://www.st.rim.or.jp/~yumo

NOTE: SysKonnect GmbH does not offer any support for these open source
      modules and does not take the responsibility for any kind of
      failures or problems arising in connection with these modules.

NOTE: Configuring Link Aggregation on a SysKonnect dual link adapter may
      cause problems when unloading the driver.



7  Troubleshooting
If any problems occur during the installation process, check the
following list:


Problem:  The SK-98xx adapter can not be found by the driver.
Solution: In /proc/pci search for the following entry:
             'Ethernet controller: SysKonnect SK-98xx ...'
          If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has
          been found by the system and should be operational.
          If this entry does not exist or if the file '/proc/pci' is not
          found, there may be a hardware problem or the PCI support may
          not be enabled in your kernel.
          The adapter can be checked using the diagnostics program which
          is available on the SysKonnect web site:
          www.syskonnect.com
         
          Some COMPAQ machines have problems dealing with PCI under Linux.
          Linux. This problem is described in the 'PCI howto' document
          (included in some distributions or available from the
          web, e.g. at 'www.linux.org').


Problem:  Programs such as 'ifconfig' or 'route' can not be found or the
          error message 'Operation not permitted' is displayed.
Reason:   You are not logged in as user 'root'.
Solution: Logout and login as 'root' or change to 'root' via 'su'.


Problem:  Upon use of the command 'ping <address>' the message
          "ping: sendto: Network is unreachable" is displayed.
Reason:   Your route is not set correctly.
Solution: If you are using RedHat, you probably forgot to set up the
          route in the 'network configuration'.
          Check the existing routes with the 'route' command and check
          if an entry for 'eth0' exists, and if so, if it is set correctly.


Problem:  The driver can be started, the adapter is connected to the
          network, but you cannot receive or transmit any packets;
          e.g. 'ping' does not work.
Reason:   There is an incorrect route in your routing table.
Solution: Check the routing table with the command 'route' and read the
          manual help pages dealing with routes (enter 'man route').

NOTE: Although the 2.2.x kernel versions generate the routing entry
      automatically, problems of this kind may occur here as well. We've
      come across a situation in which the driver started correctly at
      system start, but after the driver has been removed and reloaded,
      the route of the adapter's network pointed to the 'dummy0'device
      and had to be corrected manually.


Problem:  Your computer should act as a router between multiple
          IP subnetworks (using multiple adapters), but computers in
          other subnetworks cannot be reached.
Reason:   Either the router's kernel is not configured for IP forwarding
          or the routing table and gateway configuration of at least one
          computer is not working.

Problem:  Upon driver start, the following error message is displayed:
          "eth0: -- ERROR --
          Class: internal Software error
          Nr:    0xcc
          Msg:   SkGeInitPort() cannot init running ports"
Reason:   You are using a driver compiled for single processor machines
          on a multiprocessor machine with SMP (Symmetric MultiProcessor)
          kernel.
Solution: Configure your kernel appropriately and recompile the kernel or
          the modules.



If your problem is not listed here, please contact SysKonnect's technical
support for help (linux@syskonnect.de).
When contacting our technical support, please ensure that the following
information is available:
- System Manufacturer and HW Informations (CPU, Memory... )
- PCI-Boards in your system
- Distribution
- Kernel version
- Driver version
***End of Readme File***
发表于 2006-3-14 15:55:18 | 显示全部楼层
UP, 楼主问题解决了吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-14 23:17:35 | 显示全部楼层
等待解决方案
回复 支持 反对

使用道具 举报

发表于 2006-3-15 03:49:52 | 显示全部楼层
很一般吗,就是把源代码加入内核代码树,然后配置内核,编译,安装内核,重启,ok

哪一步不行,有什么提示?
回复 支持 反对

使用道具 举报

发表于 2006-3-15 07:16:53 | 显示全部楼层
sk98lin 不是已经在内核里边了么?。。。。。
回复 支持 反对

使用道具 举报

发表于 2006-3-15 09:32:02 | 显示全部楼层
我这边遇到了新问题,就是在运行./install.sh时,最后报错:Compile the kernel (error) [ failed ]

是在LINUX AS4 上配置Marvell 网卡遇到的,以下是操作步骤:

[root@pfs1 DriverInstall]# ls
install.log install.sh README sk98lin.4 sk98lin.tar.bz2
[root@pfs1 DriverInstall]# ./install.sh

Installation script for sk98lin driver.
Version 7.06 (Aug-20-2004)
(C)Copyright 2003-2004 Marvell(R).
====================================================
Add to your trouble-report the logfile install.log
which is located in the DriverInstall directory.
====================================================


1) user installation 3) generate patch
2) expert installation 4) exit
Choose your favorite installation method: 1

Please read this carfully!

This script will automatically compile and load the sk98lin
driver on your host system. Before performing both compilation
and loading, it is necessary to shutdown any device using the
sk98lin kernel module and to unload the old sk98lin kernel
module. This script will do this automatically per default.
If you want to shutdown and unload the old sk98lin kernel module
manually, run the script in the EXPERT mode.

Please plug a card into your machine. Without a card we aren't
able to check the full driver functionality.

Do you want proceed? (y/N) y

Create tmp dir (/tmp/Sk98IXIlOQIEMiRENcOUhnPSP) [ OK ]
Check user id (0) [ OK ]
Check kernel version (2.6.9-5.ELsmp) [ OK ]
Check kernel symbol file (/proc/kallsyms) [ OK ]
Check kernel type (SMP) [ OK ]
Check number of CPUs (2) [ OK ]
Check architecture (found) [ OK ]
Set architecture (i386) [ OK ]
Check compiler (/usr/bin/gcc) [ OK ]
Check mcmodel flags (32bit) [ OK ]
Check module support (/sbin/insmod) [ OK ]
Check make (/usr/bin/make) [ OK ]
Check archive file (sk98lin) [ OK ]
Check kernel gcc version (3.4.3) (Kernel:3.4.3 == gcc:3.4.3) [ OK ]
Check sk98lin driver availability (not loaded) [ OK ]
Check kernel header files (/usr/src/linux) [ OK ]
Check the mem address space (highmem) [ OK ]
Unpack the sources (done) [ OK ]
Check sources for .config file (/usr/src/linux/.config) [ OK ]
Copy and check .config file (done) [ OK ]
Execute: make oldconfig (done) [ OK ]
Check kernel header version (Kernel:2.6.9-5.ELsmp == Header:2.6.9-5.ELsmp) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Compile the kernel (error) [ failed ]

An error has occurred during the compile proces which prevented
the installation from completing.
Take a look at the log file install.log for more informations.
Installation of sk98lin driver module failed.
回复 支持 反对

使用道具 举报

发表于 2006-3-15 09:32:45 | 显示全部楼层
:(,大家帮忙啊~
回复 支持 反对

使用道具 举报

发表于 2006-3-15 09:52:15 | 显示全部楼层
Post by lanzinc
很一般吗,就是把源代码加入内核代码树,然后配置内核,编译,安装内核,重启,ok

哪一步不行,有什么提示?


请帮忙分析一下我上面的问题?我执行./install.sh时,报错:compile kernal error~
回复 支持 反对

使用道具 举报

发表于 2006-3-15 12:13:19 | 显示全部楼层
FT,我这问题搞定了,是华硕5AD2-E的pc server中带的MARVELL的DRIVER有点旧,下了个
install-8_31.tar.bz2就搞定了,难了我2天,NND~~
下载地址:http://www.marvell.com/drivers/d ... ?dId=107&pId=10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表