|  | (C)Copyright 1999-2004 Marvell(R). | 
|  | All rights reserved | 
|  | =========================================================================== | 
|  |  | 
|  | sk98lin.txt created 13-Feb-2004 | 
|  |  | 
|  | Readme File for sk98lin v6.23 | 
|  | Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family 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/modprobe.conf (or /etc/modules.conf in 2.4 or earlier). | 
|  | 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*** |