Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
373d4d52
Commit
373d4d52
authored
Jul 31, 2003
by
Alan Cox
Committed by
Linus Torvalds
Jul 31, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] docs for updated sk98 from vendor
parent
c63481f8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
629 additions
and
369 deletions
+629
-369
Documentation/networking/00-INDEX
Documentation/networking/00-INDEX
+2
-1
Documentation/networking/sk98lin.txt
Documentation/networking/sk98lin.txt
+627
-368
No files found.
Documentation/networking/00-INDEX
View file @
373d4d52
...
@@ -97,7 +97,8 @@ shaper.txt
...
@@ -97,7 +97,8 @@ shaper.txt
sis900.txt
sis900.txt
- SiS 900/7016 Fast Ethernet device driver info.
- SiS 900/7016 Fast Ethernet device driver info.
sk98lin.txt
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
skfp.txt
- SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
- SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
smc9.txt
smc9.txt
...
...
Documentation/networking/sk98lin.txt
View file @
373d4d52
(C)Copyright 1999-200
1 SysKonnect GmbH
.
(C)Copyright 1999-200
3 Marvell(R)
.
All rights reserved
All rights reserved
===========================================================================
===========================================================================
sk98lin.txt created
28-May-2001
sk98lin.txt created
18-Jul-2003
Readme File for sk98lin v
4.06
Readme File for sk98lin v
6.14
SK-NET Gigabit Ethernet PCI
driver for LINUX
Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family
driver for LINUX
This file contains
This file contains
(1) OVERVIEW
1 Overview
(2) REQUIRED FILES
2 Required Files
(3) INSTALLATION
3 Installation
(4) INCLUSION OF ADAPTER AT SYSTEM START
3.1 Driver Installation
(5) DRIVER PARAMETERS
3.2 Inclusion of adapter at system start
(6) LARGE FRAME SUPPORT
4 Driver Parameters
(7) TROUBLESHOOTING
4.1 Per-Port Parameters
(8) HISTORY
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
The sk98lin driver supports the Marvell Yukon and SysKonnect
Adapter SK-98xx family on Linux 2.2.x and above.
SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has
It has been tested with Linux on Intel/x86 machines.
been tested with Linux on Intel/x86 machines.
From v3.02 on, the driver is integrated in the linux kernel source.
***
***
(2) REQUIRED FILES
2 Required Files
=================
=
=================
The linux kernel source.
The linux kernel source.
No additional files required.
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 following steps describe the actions that are required to install
the driver and to start it manually. These steps should be carried
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
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
be included in the system start.
chapter.
NOTE 1: To perform the following tasks you need 'root' access.
NOTE 1: You must have 'root' access to the system to perform
the following tasks.
NOTE 2: In case of problems, please read the section "Troubleshooting"
NOTE 2: IMPORTANT: In case of problems, please read the section
below.
"Troubleshooting" below.
The driver can either be integrated into the kernel or it can be compiled
1) The driver can either be integrated into the kernel or it can
as a module. Select the appropriate option during the kernel
be compiled as a module.
configuration.
Select the appropriate option during the kernel configuration.
For use as a module, your kernel must have
Compile/use the driver as a module
'loadable module support' enabled.
----------------------------------
For automatic driver start, you also need 'Kernel module loader'
To compile the driver, go to the directory /usr/src/linux and
enabled.
execute the command "make menuconfig" or "make xconfig" and proceed as
Configure those options, build and install the new kernel. If you
follows:
choose to use the driver as a module, do "make modules" and
"make modules_install".
To integrate the driver permanently into the kernel, proceed as follows:
Reboot your system.
1. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
2) Load the module manually by entering:
2. Mark "Marvell Yukon/SysKonnect SK-98xx/SK-95xx Gigabit Ethernet Adapter
modprobe sk98lin
support" with (*)
If the SysKonnect SK-98xx adapter is installed in your
3. Build a new kernel when the configuration of the above options is
computer and you have a /proc filesystem, running the command
finished.
'more /proc/net/dev' should produce an output containing a
4. Install the new kernel.
line with the following format:
5. Reboot your system.
eth0: 0 0 ...
which means that your adapter has been found and initialized.
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
NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx
adapters will be listed as 'eth0', 'eth1', 'eth2', etc.
adapter installed, the adapters will be listed as 'eth0',
For each adapter, repeat the steps 3) and 4).
'eth1', 'eth2', etc.
NOTE 2: If you have other Ethernet adapters installed,
For each adapter, repeat steps 3 and 4 below.
your SysKonnect SK-98xx adapter can be mapped to 'eth1' or
'eth2' ...
NOTE 2: If you have other Ethernet adapters installed, your Marvell
The module installation message (in system logfile or
Yukon or SysKonnect SK-98xx adapter will be mapped to the
on console, depending on /etc/syslog.conf) prints a line
next available number, e.g. 'eth1'. The mapping is executed
for each adapter that is found, containing the
automatically.
corresponding 'ethX'.
The module installation message (displayed either in a system
log file or on the console) prints a line for each adapter
3) Select an IP address and assign it to the respective adapter by
found containing the corresponding 'ethX'.
3. Select an IP address and assign it to the respective adapter by
entering:
entering:
ifconfig eth0 <ip-address>
ifconfig eth0 <ip-address>
This causes the adapter to connect to the ethernet. The solitary
With this command, the adapter is connected to the Ethernet.
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.
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
NOTE: If you are in doubt about IP addresses, ask your network
administrator for assistance.
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"
4) Your adapter should now be fully operational.
Unload the module
Use 'ping <otherstation>' to verify the connection to other
-----------------
computers on your network.
To stop and unload the driver modules, proceed as follows:
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
Since a large number of different Linux distributions are
available, we are unable to describe a general installation procedure
available, we are unable to describe a general installation procedure
...
@@ -122,41 +163,45 @@ for the driver module.
...
@@ -122,41 +163,45 @@ for the driver module.
Because the driver is now integrated in the kernel, installation should
Because the driver is now integrated in the kernel, installation should
be easy, using the standard mechanism of your distribution.
be easy, using the standard mechanism of your distribution.
Refer to the distribution's manual for installation of ethernet adapters.
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
If you use the kernel module loader, you can set driver parameters
in the file /etc/modules.conf (or old name: /etc/conf.modules).
in the file /etc/modules.conf (or old name: /etc/conf.modules).
Insert a line of the form
:
To set the driver parameters in this file, proceed as follows
:
options sk98lin ...
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:
For "...", use the same syntax as described below for the command
modprobe sk98lin parameter=value1[,value2[,value3...]]
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...]]
where value1 refers to the first adapter, value2 to the second etc.
value1 is for the first adapter, value2 for the second one etc.
NOTE: All parameters are case sensitive. Write them exactly as shown
All Parameters are case sensitive, so write them exactly as
below.
shown below.
Sample: Suppose you have two adapters. You want to set AutoNegotiation
Example:
on Port A of the first adapter to ON and on Port A of the
Suppose you have two adapters. You want to set auto-negotiation
second adapter to OFF.
on the first adapter to ON and on the
second adapter to OFF.
You also want to set DuplexCapabilities on Port A of the first
You also want to set DuplexCapabilities on the first adapter
adapter to FULL and on Port A of
the second adapter to HALF.
to FULL, and on
the second adapter to HALF.
Y
ou must enter:
Then, y
ou 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
NOTE: The number of adapters that can be configured this way is
limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
...
@@ -164,357 +209,571 @@ NOTE: The number of adapters that can be configured this way is
...
@@ -164,357 +209,571 @@ NOTE: The number of adapters that can be configured this way is
more adapters, adjust this and recompile.
more adapters, adjust this and recompile.
5.1 Per-Port Parameters
4.1 Per-Port Parameters
-----------------------
------------------------
Those setting are available for each port on the adapter.
These settings are available for each port on the adapter.
In the following description, '?' stands for the port for
In the following description, '?' stands for the port for
which you set the parameter (A or B).
which you set the parameter (A or B).
- Auto Negotiation
Speed
Parameter: AutoNeg_?
-----
Values: On, Off, Sense
Parameter: Speed_?
Default: Sense
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
The "Sense"-mode automatically detects whether the link partner supports
partner supports autonegotiation or not.
auto-negotiation or not.
- Duplex Capabilities
Duplex Capabilities
Parameter: DupCap_?
-------------------
Values: Half, Full, Both
Parameter: DupCap_?
Default: Both
Values: Half, Full, Both
Default: Both
This parameters is relevant only if autonegotiation for
this port is not "Sense". If autonegotiation is "On", all
This parameters is only relevant if auto-negotiation for this port is
three values are possible. If it is "Off", only "Full" and
not set to "Sense". If auto-negotiation is set to "On", all three values
"Half" are allowed.
are possible. If it is set to "Off", only "Full" and "Half" are allowed.
It is useful if your link partner does not support all
This parameter is usefull if your link partner does not support all
possible combinations.
possible combinations.
- Flow Control
Flow Control
Parameter: FlowCtrl_?
------------
Values: Sym, SymOrRem, LocSend, None
Parameter: FlowCtrl_?
Default: SymOrRem
Values: Sym, SymOrRem, LocSend, None
Default: SymOrRem
This parameter can be used to set the flow control capabilities
that the port reports during autonegotiation.
This parameter can be used to set the flow control capabilities the
The meaning of the different modes is:
port reports during auto-negotiation. It can be set for each port
-- Sym = Symetric: both link partners are allowed to send PAUSE frames
individually.
-- SymOrRem = SymetricOrRemote: both or only remote partner are allowed
Possible modes:
to send PAUSE frames
-- Sym = Symetric: both link partners are allowed to send
-- LocSend = LocalSend: only local link partner is allowed to send
PAUSE frames
PAUSE frames
-- SymOrRem = SymetricOrRemote: both or only remote partner
-- None: no link partner is allowed to send PAUSE frames
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".
NOTE: This parameter is ignored if auto-
negotiation is set to "Off".
- Role in Master-Slave-Negotiation (1000Base-T only).
Role in Master-Slave-Negotiation (1000Base-T only)
Parameter: Role_?
--------------------------------------------------
Values: Auto, Master, Slave
Parameter: Role_?
Default: Auto
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
This parameter is only valid for the SK-9821 and SK-9822 adapters.
master (providing timing information), while the other must be slave.
For two 1000Base-T ports to communicate, one must take the role of the
Normally, this is negotiated between the two ports during link
master (providing timing information), while the other must be the
establishment. If this should ever fail, you can force a port to a
slave. Usually, this is negotiated between the two ports during link
specific setting with this parameter.
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.
NOTE: The modes CheckLocalPort and CheckSeg are meant to operate in
4.2 Adapter Parameters
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
The driver supports large frames (also called jumbo frames). Using large
driver. This can result in a greatly improved throughput if
frames can result in an improved throughput if transferring large amounts
transferring large amounts
of data.
of data.
To enable large frames, set the MTU (maximum transfer unit)
To enable large frames, set the MTU (maximum transfer unit)
of the
of the interface to the value you wish (up to 9000). The command
interface to the desired value (up to 9000), execute the following
for this is
:
command
:
ifconfig eth0 mtu 9000
ifconfig eth0 mtu 9000
This will only work if you have two adapters connected back-to-back
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
or if you use a switch that supports large frames. When using a
switch,
switch, it should be configured to allow large frames, without
it should be configured to allow large frames and auto-negotiation should
autonegotiating for them.
be set to OFF. The setting must be configured on all adapters that can be
The setting must be done on all adapters that can be reached by
reached by the large frames. If one adapter is not set to receive large
the large frames. If one adapter is not set to receive large frames,
frames, it will simply drop them.
it will simply drop them.
You can switch back to the standard ethernet frame size by executing the
You can switch back to the standard ethernet frame size with
:
following command
:
ifconfig eth0 mtu 1500
ifconfig eth0 mtu 1500
To
make this setting persitent, add a script with the 'ifconfig'
To
permanently configure this setting, add a script with the 'ifconfig'
line to the system startup sequence (named something like "S99sk98lin"
line to the system startup sequence (named something like "S99sk98lin"
in /etc/rc.d/rc2.d).
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.
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 ...'
'Ethernet controller: SysKonnect SK-98xx ...'
If this entry exists, then the SK-98xx adapter has been
If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has
found by the system and should be able to be used.
been found by the system and should be operational.
If this entry does not exist or if the file '/proc/pci'
If this entry does not exist or if the file '/proc/pci' is not
is not there, then you may have a hardware problem or PCI
found, there may be a hardware problem or the PCI support may
support may not be enabled in your kernel.
not be enabled in your kernel.
The adapter can be checked using the diagnostic program
The adapter can be checked using the diagnostics program which
which is available from the SysKonnect web site:
is available on the SysKonnect web site:
www.syskonnect.de
www.syskonnect.com
Some COMPAQ machines have a problem with PCI under
Linux. This is described in the 'PCI howto' document
Some COMPAQ machines have problems dealing with PCI under Linux.
(included in some distributions or available from the
Linux. This problem is described in the 'PCI howto' document
www, e.g. at 'www.linux.org'). This might be fixed in the
(included in some distributions or available from the
2.2.x kernel series (I've not tested it).
web, e.g. at 'www.linux.org').
Problem: Programs such as 'ifconfig' or 'route' can not be found or
you get an error message 'Operation not permitted'.
Problem: Programs such as 'ifconfig' or 'route' can not be found or the
Reason: You are not logged in as user 'root'. Logout and
error message 'Operation not permitted' is displayed.
login as root or change to root via 'su'.
Reason: You are not logged in as user 'root'.
Solution: 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.
Problem: Upon use of the command 'ping <address>' the message
If you are using RedHat, you probably forgot
"ping: sendto: Network is unreachable" is displayed.
to set up the route in 'network configuration'.
Reason: Your route is not set correctly.
Check the existing routes with the 'route' command
Solution: If you are using RedHat, you probably forgot to set up the
and check if there is an entry for 'eth0' and if
route in the 'network configuration'.
it is correct.
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 can not receive or transmit
any packet; e.g. 'ping' does not work.
Problem: The driver can be started, the adapter is connected to the
Reason: You have an incorrect route in your routing table.
network, but you cannot receive or transmit any packets;
Check the routing table with the command 'route' and
e.g. 'ping' does not work.
read the manual pages about route ('man route').
Reason: There is an incorrect route in your routing table.
NOTE: Although the 2.2.x kernel versions generate the routing
Solution: Check the routing table with the command 'route' and read the
entry automatically, you may have problems of this kind
manual help pages dealing with routes (enter 'man route').
here, too. We found a case where the driver started correct
at system boot, but after removing and reloading the driver,
NOTE: Although the 2.2.x kernel versions generate the routing entry
the route of the adapter's network pointed to the 'dummy0'
automatically, problems of this kind may occur here as well. We've
device and had to be corrected manually.
come across a situation in which the driver started correctly at
system start, but after the driver has been removed and reloaded,
Problem: You want to use your computer as a router between
the route of the adapter's network pointed to the 'dummy0'device
multiple IP subnetworks (using multiple adapters), but
and had to be corrected manually.
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
Problem: Your computer should act as a router between multiple
and gateway configuration in at least one of the
IP subnetworks (using multiple adapters), but computers in
computers.
other subnetworks cannot be reached.
Reason: Either the router's kernel is not configured for IP forwarding
Problem: At the start of the driver, you get an error message:
or the routing table and gateway configuration of at least one
"eth0: -- ERROR --
computer is not working.
Class: internal Software error
Nr: 0xcc
Problem: Upon driver start, the following error message is displayed:
Msg: SkGeInitPort() cannot init running ports"
"eth0: -- ERROR --
Reason: You are using a driver compiled for single processor
Class: internal Software error
machines on an multiprocessor machine with SMP (Symetric
Nr: 0xcc
MultiProcessor) kernel.
Msg: SkGeInitPort() cannot init running ports"
Configure your kernel appropriate and recompile the kernel or
Reason: You are using a driver compiled for single processor machines
the modules.
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
If your problem is not listed here, please contact SysKonnect's technical
support for help (linux@syskonnect.de).
support for help (linux@syskonnect.de).
When contacting our technical support, please ensure that the
When contacting our technical support, please ensure that the
following
following
information is available:
information is available:
- System Manufacturer and
Model
- System Manufacturer and
HW Informations (CPU, Memory... )
- Boards in your system
-
PCI-
Boards in your system
- Distribution
- Distribution
- Kernel version
- Kernel version
- Driver version
***
***
8 History
==========
(8) HISTORY
VERSION 6.14
===========
VERSION 4.02 (In-Kernel version)
New Features:
New Features:
- Add Kernel 2.4 changes
- 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:
Known limitations:
- None
- None
VERSION 4.01 (In-Kernel version)
VERSION 6.13
New Features:
- New parameter ConType combining different per-port parameters
Problems fixed:
Problems fixed:
- Full statistics support for DualNet mode
- 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:
Known limitations:
- None
- None
VERSION 4.00 (In-Kernel version)
VERSION 6.12
New Features:
- enabling/disabling checksum
Problems fixed:
Problems fixed:
- Memory leak found
- Fix: KLM load/unload using new refcount interface for Kernel 2.5/2.6
Known limitations:
- None
VERSION 6.11 (In-Kernel version)
New Features:
New Features:
- Proc filesystem integration
- Support for Kernel 2.5/2.6
- DualNet functionality integrated
- Support for new IO-control MIB data structure
- Rlmt networks added
- New SkOsGetTime function
Problems fixed:
- 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:
Known limitations:
-
statistics partially incorrect in DualNet mod
e
-
Non
e
VERSION 3.04 (In-Kernel version)
VERSION 6.10
New Features:
- none
Problems fixed:
Problems fixed:
-
Driver start failed on UltraSPARC
-
Fix: Race condition with padded frames
- Rx checksum calculation for big endian machines did not work
Known limitations:
-
Jumbo frames were counted as input-errors in netstat
-
None
VERSION 3.03 (Standalone version)
VERSION 6.09
New Features:
- none
Problems fixed:
Problems fixed:
- Compilation did not find script "printver.sh" if "." not in PATH
- Fix: Disabled HW Error IRQ on 32-bit Yukon if sensor IRQ occurs
- Fix: Delay race condition with some server machines
Known limitations:
Known limitations:
- None
- None
VERSION 3.02 (In-Kernel version)
VERSION 6.08
New Features:
- Add: Dynamic Interrupt moderation
- Add: Blink mode verification
- Fix: CSUM changes
Problems fixed:
Problems fixed:
- Fix: CSUM changes
Known limitations:
- None
- None
VERSION 6.04 - 6.07
New Features:
New Features:
- Integration in Linux kernel source (2.2.14 and 2.3.29)
- Common modules update
Problems fixed:
- none
Known limitations:
Known limitations:
- None
- None
VERSION 3.01
VERSION 6.03
New Features:
- Common modules update
Problems fixed:
Problems fixed:
- Remove useless init_module/cleanup_module forward declarations
Known limitations:
- None
- None
VERSION 6.02 (In-Kernel version)
New Features:
New Features:
- Full source release
- Common modules update
Problems fixed:
- Boot message cleanup
Known limitations:
Known limitations:
- None
- None
VERSION 3.00
VERSION 6.00 (In-Kernel version)
New Features:
- 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:
Problems fixed:
- ProcFS initialization
- csum packet error
- Ierror/crc counter error (#10767)
- rx_too_long counter error (#10751)
Known limitations:
- None
- None
VERSION 4.11
New Features:
New Features:
- Support for 1000Base-T adapters (SK-9821 and SK-9822)
- 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:
Known limitations:
- None
- None
VERSION 1.07
VERSION 4.10
New Features:
- New ProcFs entries
Problems fixed:
Problems fixed:
- RlmtMode parameter value strings were wrong (#10437)
- Corrected some printk's
- Driver sent too many RLMT frames (#10439)
- Driver did not recognize network segmentation (#10440)
- RLMT switched too often on segmented network (#10441)
Known limitations:
Known limitations:
- None
- None
VERSION 1.06
VERSION 4.09
New Features:
- IFF_RUNNING support (link status)
- New ProcFs entries
Problems fixed:
Problems fixed:
- System panic'ed after some time when running with
- too long counters
RlmtMode=CheckOtherLink or RlmtMode=CheckSeg (#10421)
- too short counters
Panic message: "Kernel panic: skput: over ... dev: eth0"
- Kernel error compilation
- 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
Known limitations:
Known limitations:
- None
- None
VERSION 4.06 (In-Kernel version)
Problems fixed:
- MTU init problems
VERSION 4.04
Problems fixed:
- removed VLAN error messages
VERSION 1.05
VERSION 4.02 (In-Kernel version)
New Features:
- Add Kernel 2.4 changes
Known limitations:
- None
VERSION 4.01 (In-Kernel version)
Problems fixed:
Problems fixed:
- Driver failed to load on kernels with version information
- Full statistics support for DualNet mode
for module symbols enabled
Known limitations:
Known limitations:
- None
- None
VERSION
1.04
VERSION
4.00 (In-Kernel version)
Problems fixed:
Problems fixed:
- Large frame support does work now (no autonegotiation
- Memory leak found
support for large frames, just manually selectable)
New Features:
New Features:
- Receive checksumming in hardware
- Proc filesystem integration
- Performance optimizations
- DualNet functionality integrated
Some numbers (on two PII-400 machines, back-to-back):
- Rlmt networks added
netpipe: 300 MBit/sec, with large frames: 470 MBit/sec
Known limitations:
ttcp: 38 MByte/sec, with large frames: 60 MByte/sec
- statistics partially incorrect in DualNet mode
ttcp (UDP send): 66 MByte/sec, with large frames: 106 MByte/sec
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:
Known limitations:
- None
- None
VERSION
1.03
VERSION
3.02 (In-Kernel version)
Problems fixed:
Problems fixed:
- Unloading with "rmmod" caused segmentation fault (#10415)
- None
- The link LED flickered from time to time, if no link was
established (#10402)
- Installation problems with RedHat 6.0 (#10409)
New Features:
New Features:
-
Connection state output at "network connection up"
-
Integration in Linux kernel source (2.2.14 and 2.3.29)
Known limitations:
Known limitations:
- None
- None
VERSION
1.02
VERSION
3.01
Problems fixed:
Problems fixed:
- Failed with multiple adapters
- None
- Failed with Single Port adapters
New Features:
- Startup string was only displayed if adapter found
- Full source release
- No link could be established on certain switches when the switches were
rebooted. (#10377)
Known limitations:
Known limitations:
-
Segmentation fault at "rmmod" with kernel 2.2.3 on some machines
-
None
VERSION
1.01
VERSION
3.00
Problems fixed:
Problems fixed:
- Sensor status was not set back to 'ok' after 'warning/error'. (#10386)
- None
Changes:
New Features:
- improved parallelism in driver
- Support for 1000Base-T adapters (SK-9821 and SK-9822)
VERSION 1.00
Known limitations:
Known limitations:
- not tested with all kernel versions (I don't have that much time :-)
- None
- only x86 version available (if you need others, ask for it)
- source code not completely available
***End of Readme File***
***End of Readme File***
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment