PATCH: docs for updated sk98 from vendor

From: Alan Cox (alan@lxorguk.ukuu.org.uk)
Date: Sun Jul 27 2003 - 14:59:40 EST


diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.6.0-test2/Documentation/networking/00-INDEX linux-2.6.0-test2-ac1/Documentation/networking/00-INDEX
--- linux-2.6.0-test2/Documentation/networking/00-INDEX 2003-07-10 21:12:59.000000000 +0100
+++ linux-2.6.0-test2-ac1/Documentation/networking/00-INDEX 2003-07-23 15:59:57.000000000 +0100
@@ -97,7 +97,8 @@
 sis900.txt
         - SiS 900/7016 Fast Ethernet device driver info.
 sk98lin.txt
- - SysKonnect SK-NET (SK-98xx) Gigabit Ethernet driver info.
+ - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
+ Ethernet Adapter family driver info
 skfp.txt
         - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
 smc9.txt
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.6.0-test2/Documentation/networking/sk98lin.txt linux-2.6.0-test2-ac1/Documentation/networking/sk98lin.txt
--- linux-2.6.0-test2/Documentation/networking/sk98lin.txt 2003-07-10 21:12:10.000000000 +0100
+++ linux-2.6.0-test2-ac1/Documentation/networking/sk98lin.txt 2003-07-23 15:59:57.000000000 +0100
@@ -1,120 +1,161 @@
-(C)Copyright 1999-2001 SysKonnect GmbH.
+(C)Copyright 1999-2003 Marvell(R).
 All rights reserved
 ===========================================================================
 
-sk98lin.txt created 28-May-2001
+sk98lin.txt created 18-Jul-2003
 
-Readme File for sk98lin v4.06
-SK-NET Gigabit Ethernet PCI driver for LINUX
+Readme File for sk98lin v6.14
+Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX
 
 This file contains
-(1) OVERVIEW
-(2) REQUIRED FILES
-(3) INSTALLATION
-(4) INCLUSION OF ADAPTER AT SYSTEM START
-(5) DRIVER PARAMETERS
-(6) LARGE FRAME SUPPORT
-(7) TROUBLESHOOTING
-(8) HISTORY
+ 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
+ 8 History
 
 ===========================================================================
 
 
-(1) OVERVIEW
-============
+1 Overview
+===========
 
-The sk98lin driver supports the SysKonnect SK-NET Gigabit Ethernet
-Adapter SK-98xx family on Linux 2.2.x and above.
-It has been tested with Linux on Intel/x86 machines.
-From v3.02 on, the driver is integrated in the linux kernel source.
+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
-==================
+2 Required Files
+=================
 
 The linux kernel source.
 No additional files required.
 ***
 
 
-(3) INSTALLATION
-================
+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 which is described in the next
-chapter.
+be included in the system start.
 
-NOTE 1: You must have 'root' access to the system to perform
- the following tasks.
-NOTE 2: IMPORTANT: In case of problems, please read the section
- "Troubleshooting" below.
-
-1) 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.
- For use as a module, your kernel must have
- 'loadable module support' enabled.
- For automatic driver start, you also need 'Kernel module loader'
- enabled.
- Configure those options, build and install the new kernel. If you
- choose to use the driver as a module, do "make modules" and
- "make modules_install".
- Reboot your system.
-
-2) Load the module manually by entering:
- modprobe sk98lin
- If the SysKonnect SK-98xx adapter is installed in your
- computer and you have a /proc filesystem, running the command
- 'more /proc/net/dev' should produce an output containing a
- line with the following format:
- eth0: 0 0 ...
- which means that your adapter has been found and initialized.
+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/SysKonnect SK-98xx/SK-95xx Gigabit Ethernet Adapter
+ 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/SysKonnect SK-98xx/SK-95xx Gigabit Ethernet Adapter
+ 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 SysKonnect SK-98xx adapter, the
- adapters will be listed as 'eth0', 'eth1', 'eth2', etc.
- For each adapter, repeat the steps 3) and 4).
- NOTE 2: If you have other Ethernet adapters installed,
- your SysKonnect SK-98xx adapter can be mapped to 'eth1' or
- 'eth2' ...
- The module installation message (in system logfile or
- on console, depending on /etc/syslog.conf) prints a line
- for each adapter that is found, containing the
- corresponding 'ethX'.
+ 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
+3. Select an IP address and assign it to the respective adapter by
    entering:
- ifconfig eth0 <ip-address>
- This causes the adapter to connect to the ethernet. The solitary
- yellow LED at the adapter is now active, the link status LED of
- the primary port is on and the link status LED of the secondary
- port (on dual port adapters) is blinking (only if the laters are
- connected to a switch or hub).
- You will also get a status message on the console saying
- "ethX: network connection up using port Y" and indicating
- the selected connection parameters.
+ 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:
 
-4) Your adapter should now be fully operational.
- Use 'ping <otherstation>' to verify the connection to other
- computers on your network.
- By viewing /proc/net/sk98lin/[devicename], you can check some
- information regarding to the adapter configuration.
-
-
-5) The driver module can be stopped and unloaded using the following
- commands:
- ifconfig eth0 down
- rmmod sk98lin
-***
-
+1. Execute the command "ifconfig eth0 down".
+2. Execute the command "rmmod sk98lin".
 
-(4) INCLUSION OF ADAPTER AT SYSTEM START
-========================================
+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
@@ -122,41 +163,45 @@
 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
+====================
 
-(5) 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.
 
-Parameters can be set at the command line while loading the
-module with 'modprobe'. The configuration tools of some distributions
-can also give 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).
-Insert a line of the form:
-
-options sk98lin ...
+To set the driver parameters in this file, proceed as follows:
 
-For "...", use the same syntax as described below for the command
-line parameters of modprobe.
-You either have to reboot your computer or unload and reload
-the driver to activate the new parameters.
-The syntax of the driver parameters is:
-
-modprobe sk98lin parameter=value1[,value2[,value3...]]
-
-value1 is for the first adapter, value2 for the second one etc.
-All Parameters are case sensitive, so write them exactly as
-shown below.
-
-Sample: Suppose you have two adapters. You want to set AutoNegotiation
- on Port A of the first adapter to ON and on Port A of the
- second adapter to OFF.
- You also want to set DuplexCapabilities on Port A of the first
- adapter to FULL and on Port A of the second adapter to HALF.
- You must enter:
+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
+ modprobe sk98lin AutoNeg=On,Off DupCap=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).
@@ -164,357 +209,571 @@
       more adapters, adjust this and recompile.
 
 
-5.1 Per-Port Parameters
------------------------
-Those setting are available for each port on the adapter.
+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).
 
-- Auto Negotiation
- Parameter: AutoNeg_?
- Values: On, Off, Sense
- Default: Sense
+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 finds out automatically whether the link
- partner supports autonegotiation or not.
+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 relevant only if autonegotiation for
- this port is not "Sense". If autonegotiation is "On", all
- three values are possible. If it is "Off", only "Full" and
- "Half" are allowed.
- It is useful 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
- that the port reports during autonegotiation.
- The meaning of the different modes is:
--- Sym = Symetric: both link partners are allowed to send PAUSE frames
--- SymOrRem = SymetricOrRemote: 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
+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 = Symetric: both link partners are allowed to send
+ PAUSE frames
+ -- SymOrRem = SymetricOrRemote: 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 autonegotiation is set to "Off".
+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 as
- master (providing timing information), while the other must be slave.
- Normally, this is negotiated between the two ports during link
- establishment. If this should ever fail, you can force a port to a
- specific setting with this parameter.
-
+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.
 
-5.2 Per-Adapter Parameters
---------------------------
 
-- Preferred Port
- Parameter: PrefPort
- Values: A, B
- Default: A
-
- This is used to force the preferred port to A or B (on two-port NICs).
- The preferred port is the one that is used if both are detected as
- fully functional.
-
-- RLMT (Redundant Link Management Technology) Mode
- Parameter: RlmtMode
- Values: CheckLinkState,CheckLocalPort, CheckSeg, DualNet
- Default: CheckLinkState
-
- RLMT (the driver part that decides which port to use) knows three
- ways of checking if a port is available for use:
-
--- 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 - Check other port on adapter: RLMT sends test frames
- from each port to each other port and checks if they are received by
- the other port, respectively. Thus, the ports must be connected to the
- network such that LLC test frames can be exchanged between them
- (i.e. there must be no routers between the ports).
-
--- CheckSeg - Check other port and segmentation: RLMT checks the other port
- and in addition requests information from the Gigabit Ethernet
- switch next to each port to see if the network is segmented between
- the ports. Thus, this mode is only to be used if you have Gigabit
- Ethernet switches installed in your network that have been configured
- to use the Spanning Tree protocol.
-
--- DualNet - Both ports A and B are used as separate devices at the same
- time. So if you have a dual port adapter, port A will show up as eth0
- and port B as eth1. Both ports can be used independend with distinct
- IP addresses.
- The preferred port setting is not used. Rlmt is turned off.
-
+4.2 Adapter Parameters
+-----------------------
 
- NOTE: The modes CheckLocalPort and CheckSeg are meant to operate in
- configurations where a network path between the ports on one
- adapter exists. Especially, they are not designed to work where
- adapters are connected back-to-back.
+Connection Type
+---------------
+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.
 ***
 
 
-(6) LARGE FRAME SUPPORT
-=======================
+5 Large Frame Support
+======================
 
-Large frames (also called jumbo frames) are now supported by the
-driver. This can result in a greatly improved throughput if
-transferring large amounts of data.
-To enable large frames, set the MTU (maximum transfer unit)
-of the interface to the value you wish (up to 9000). The command
-for this is:
- ifconfig eth0 mtu 9000
+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, without
-autonegotiating for them.
-The setting must be done 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 with:
- ifconfig eth0 mtu 1500
+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 make this setting persitent, add a script with the 'ifconfig'
-line to the system startup sequence (named something like "S99sk98lin"
+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).
 ***
 
 
-(7) TROUBLESHOOTING
-===================
+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://scry.wanfear.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:
 
-If you run into problems during installation, check those items:
 
 Problem: The SK-98xx adapter can not be found by the driver.
-Reason: Look in /proc/pci for the following entry:
+Solution: In /proc/pci search for the following entry:
              'Ethernet controller: SysKonnect SK-98xx ...'
- If this entry exists, then the SK-98xx adapter has been
- found by the system and should be able to be used.
- If this entry does not exist or if the file '/proc/pci'
- is not there, then you may have a hardware problem or PCI
- support may not be enabled in your kernel.
- The adapter can be checked using the diagnostic program
- which is available from the SysKonnect web site:
- www.syskonnect.de
- Some COMPAQ machines have a problem with PCI under
- Linux. This is described in the 'PCI howto' document
- (included in some distributions or available from the
- www, e.g. at 'www.linux.org'). This might be fixed in the
- 2.2.x kernel series (I've not tested it).
-
-Problem: Programs such as 'ifconfig' or 'route' can not be found or
- you get an error message 'Operation not permitted'.
-Reason: You are not logged in as user 'root'. Logout and
- login as root or change to root via 'su'.
-
-Problem: Using the command 'ping <address>', you get a message
- "ping: sendto: Network is unreachable".
-Reason: Your route is not set up correct.
- If you are using RedHat, you probably forgot
- to set up the route in 'network configuration'.
- Check the existing routes with the 'route' command
- and check if there is an entry for 'eth0' and if
- it is correct.
-
-Problem: The driver can be started, the adapter is connected
- to the network, but you can not receive or transmit
- any packet; e.g. 'ping' does not work.
-Reason: You have an incorrect route in your routing table.
- Check the routing table with the command 'route' and
- read the manual pages about route ('man route').
-NOTE: Although the 2.2.x kernel versions generate the routing
- entry automatically, you may have problems of this kind
- here, too. We found a case where the driver started correct
- at system boot, but after removing and reloading the driver,
- the route of the adapter's network pointed to the 'dummy0'
- device and had to be corrected manually.
-
-Problem: You want to use your computer as a router between
- multiple IP subnetworks (using multiple adapters), but
- you can not reach computers in other subnetworks.
-Reason: Either the router's kernel is not configured for IP
- forwarding or there is a problem with the routing table
- and gateway configuration in at least one of the
- computers.
-
-Problem: At the start of the driver, you get an error message:
- "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 an multiprocessor machine with SMP (Symetric
- MultiProcessor) kernel.
- Configure your kernel appropriate and recompile the kernel or
- the modules.
+ 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 (Symetric 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 Model
-- Boards in your system
+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
 ***
 
+8 History
+==========
 
-(8) HISTORY
-===========
+VERSION 6.14
+New Features:
+- None
+Problems fixed:
+- Fix: memory leak when sending short padded frames
+- Fix: helptext for menuconfig in kernel 2.6 updated
+- Fix: PNMI_READ defines retrieve correct amount of bytes
+Known limitations:
+- None
 
-VERSION 4.02 (In-Kernel version)
+VERSION 6.13
 New Features:
-- Add Kernel 2.4 changes
+- New parameter ConType combining different per-port parameters
+Problems fixed:
+- Fix: change of MTU-size without warning (bugreport #10721)
+- Fix: HW checksumming when Kernel 2.5/2.6 corrected
+- Fix: Padding of small packets (<60 bytes) not 0xaa, but 0x00 instead
+- Fix: Minor edits corrected
+- Fix: Obsolete function SetQueueSize() removed
+- Fix: Removed proprietary defines - used defines from skgehw.h instead
 Known limitations:
 - None
 
-VERSION 4.01 (In-Kernel version)
+VERSION 6.12
+New Features:
+- enabling/disabling checksum
 Problems fixed:
-- Full statistics support for DualNet mode
+- Fix: KLM load/unload using new refcount interface for Kernel 2.5/2.6
 Known limitations:
 - None
 
-VERSION 4.00 (In-Kernel version)
+VERSION 6.11 (In-Kernel version)
+New Features:
+- Support for Kernel 2.5/2.6
+- Support for new IO-control MIB data structure
+- New SkOsGetTime function
 Problems fixed:
-- Memory leak found
+- Fix: Race condition with broken LM80 chip
+- Fix: Common modules update (#10803, #10768, #10767)
+- Fix: Dim, ProcFS, Isr, Module Support changes for Kernel 2.5/2.6
+Known limitations:
+- None
+
+VERSION 6.10
 New Features:
-- Proc filesystem integration
-- DualNet functionality integrated
-- Rlmt networks added
+- none
+Problems fixed:
+- Fix: Race condition with padded frames
 Known limitations:
-- statistics partially incorrect in DualNet mode
+- None
 
-VERSION 3.04 (In-Kernel version)
+VERSION 6.09
+New Features:
+- none
 Problems fixed:
-- Driver start failed on UltraSPARC
-- Rx checksum calculation for big endian machines did not work
-- Jumbo frames were counted as input-errors in netstat
+- Fix: Disabled HW Error IRQ on 32-bit Yukon if sensor IRQ occurs
+- Fix: Delay race condition with some server machines
+Known limitations:
+- None
 
-VERSION 3.03 (Standalone version)
+VERSION 6.08
+New Features:
+- Add: Dynamic Interrupt moderation
+- Add: Blink mode verification
+- Fix: CSUM changes
 Problems fixed:
-- Compilation did not find script "printver.sh" if "." not in PATH
+- Fix: CSUM changes
 Known limitations:
 - None
 
-VERSION 3.02 (In-Kernel version)
+VERSION 6.04 - 6.07
+New Features:
+- Common modules update
 Problems fixed:
+- none
+Known limitations:
 - None
+
+VERSION 6.03
 New Features:
-- Integration in Linux kernel source (2.2.14 and 2.3.29)
+- Common modules update
+Problems fixed:
+- Remove useless init_module/cleanup_module forward declarations
 Known limitations:
 - None
 
-VERSION 3.01
+VERSION 6.02 (In-Kernel version)
+New Features:
+- Common modules update
 Problems fixed:
+- Boot message cleanup
+Known limitations:
 - None
+
+VERSION 6.00 (In-Kernel version)
 New Features:
-- Full source release
+- Support for SK-98xx V2.0 adapters
+- Support for gmac
+- Support for kernel 2.4.x and kernel 2.2.x
+- Zerocopy support for kernel 2.4.x with sendfile()
+- Support for scatter-gather functionality with sendfile()
+- Speed support for SK-98xx V2.0 adapters
+- New ProcFs entries
+- New module parameters
+Problems fixed:
+- ProcFS initialization
+- csum packet error
+- Ierror/crc counter error (#10767)
+- rx_too_long counter error (#10751)
 Known limitations:
 - None
 
-VERSION 3.00
+VERSION 4.11
+New Features:
+- none
 Problems fixed:
+- Error statistic counter fix (#10620)
+- RLMT-Fixes (#10659, #10639, #10650)
+- LM80 sensor initialization fix (#10623)
+- SK-CSUM memory fixes (#10610).
+Known limitations:
 - None
+
+VERSION 4.10
 New Features:
-- Support for 1000Base-T adapters (SK-9821 and SK-9822)
+- New ProcFs entries
+Problems fixed:
+- Corrected some printk's
 Known limitations:
 - None
 
-VERSION 1.07
+VERSION 4.09
+New Features:
+- IFF_RUNNING support (link status)
+- New ProcFs entries
 Problems fixed:
-- RlmtMode parameter value strings were wrong (#10437)
-- Driver sent too many RLMT frames (#10439)
-- Driver did not recognize network segmentation (#10440)
-- RLMT switched too often on segmented network (#10441)
+- too long counters
+- too short counters
+- Kernel error compilation
 Known limitations:
 - None
-
-VERSION 1.06
+
+VERSION 4.06 (In-Kernel version)
+Problems fixed:
+- MTU init problems
+
+VERSION 4.04
 Problems fixed:
-- System panic'ed after some time when running with
- RlmtMode=CheckOtherLink or RlmtMode=CheckSeg (#10421)
- Panic message: "Kernel panic: skput: over ... dev: eth0"
-- Driver did not switch back to default port when connected
- back-to-back (#10422).
-Changes:
-- RlmtMode parameter names have changed
-New features:
-- There is now a version for ALPHA processors
+- removed VLAN error messages
+
+VERSION 4.02 (In-Kernel version)
+New Features:
+- Add Kernel 2.4 changes
 Known limitations:
 - None
 
-VERSION 1.05
+VERSION 4.01 (In-Kernel version)
 Problems fixed:
-- Driver failed to load on kernels with version information
- for module symbols enabled
+- Full statistics support for DualNet mode
 Known limitations:
 - None
 
-VERSION 1.04
+VERSION 4.00 (In-Kernel version)
 Problems fixed:
-- Large frame support does work now (no autonegotiation
- support for large frames, just manually selectable)
+- Memory leak found
 New Features:
-- Receive checksumming in hardware
-- Performance optimizations
- Some numbers (on two PII-400 machines, back-to-back):
- netpipe: 300 MBit/sec, with large frames: 470 MBit/sec
- ttcp: 38 MByte/sec, with large frames: 60 MByte/sec
- ttcp (UDP send): 66 MByte/sec, with large frames: 106 MByte/sec
+- Proc filesystem integration
+- DualNet functionality integrated
+- Rlmt networks added
+Known limitations:
+- statistics partially incorrect in DualNet mode
+
+VERSION 3.04 (In-Kernel version)
+Problems fixed:
+- Driver start failed on UltraSPARC
+- Rx checksum calculation for big endian machines did not work
+- Jumbo frames were counted as input-errors in netstat
+
+VERSION 3.03 (Standalone version)
+Problems fixed:
+- Compilation did not find script "printver.sh" if "." not in PATH
 Known limitations:
 - None
 
-VERSION 1.03
+VERSION 3.02 (In-Kernel version)
 Problems fixed:
-- Unloading with "rmmod" caused segmentation fault (#10415)
-- The link LED flickered from time to time, if no link was
- established (#10402)
-- Installation problems with RedHat 6.0 (#10409)
+- None
 New Features:
-- Connection state output at "network connection up"
+- Integration in Linux kernel source (2.2.14 and 2.3.29)
 Known limitations:
 - None
 
-VERSION 1.02
+VERSION 3.01
 Problems fixed:
-- Failed with multiple adapters
-- Failed with Single Port adapters
-- Startup string was only displayed if adapter found
-- No link could be established on certain switches when the switches were
- rebooted. (#10377)
+- None
+New Features:
+- Full source release
 Known limitations:
-- Segmentation fault at "rmmod" with kernel 2.2.3 on some machines
+- None
 
-VERSION 1.01
+VERSION 3.00
 Problems fixed:
-- Sensor status was not set back to 'ok' after 'warning/error'. (#10386)
-Changes:
-- improved parallelism in driver
-
-VERSION 1.00
+- None
+New Features:
+- Support for 1000Base-T adapters (SK-9821 and SK-9822)
 Known limitations:
-- not tested with all kernel versions (I don't have that much time :-)
-- only x86 version available (if you need others, ask for it)
-- source code not completely available
-
-***End of Readme File***
+- None
 
 
+***End of Readme File***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:33 EST