©Copyright 2003 Marvell®.
All rights reserved

sk98bsd.htm created 19-Dec-2003

Readme File for sk98bsd.tgz v6.02

SK-98xx and SK-95xx Gigabit Ethernet Adapter family


This file contains





1  Overview

The sk98bsd driver supports the SK-98xx and SK-95xx Gigabit Ethernet Adapter family
on the FreeBSD 5.1 operating system running on Intel x86 hardware.


2  Required Files

For proper software installation the following package file is required:
sk98bsd.tgz .


3  Installation

This section describes the installation of the driver software on a
computer running FreeBSD 5.1.

3.1  Installation of driver software
NOTE: root privileges are necessary to install the driver.

IMPORTANT: The standard kernel shipped with FreeBSD contains a driver
for the SysKonnect SK-98xx cards, sk(4). This driver is loaded at boot
time and prevents the yk driver from working.

This problem can be solved either by recompiling and installing the kernel
without the sk(4) driver compiled in, or by letting the sk98bsd package
scripts patch the kernel binary. If the install scripts detect a kernel
with the sk(4) driver, the kernel will be binary patched. The original
kernel will be restored on deinstallation of the sk98bsd package.

The first option (recompiling the kernel without sk(4) support) is
the recommended method for solving this problem and should be chosen
if at all possible.

If this is not possible, the package install scripts will patch the
kernel binary and create a backup copy of the original kernel under
kernel.sk. The original kernel binary is copied back when the package
is deinstalled.

Do not forget that if the kernel has been binary patched or recompiled,
a reboot is necessary to ensure that the new kernel is loaded.

The driver software can be installed by typing:

pkg_add sk98bsd.tgz

This installs the driver binary into /boot/kernel and the manpage into
/usr/share/man/man4.
In order for the system to load the driver automatically on booting, the
following line must be added to the file /boot/loader.conf:

if_yk_load="YES"

In addition to this, the following line must be added to the /etc/rc.conf
file to configure the interface when the system is booted:

ifconfig_yk0="inet 192.168.100.1"

This assumes a local IP address of 192.168.100.1. You must replace this
IP address with your computer's IP address.
On reboot, the driver will be loaded and the interface configured
automatically.

It is also possible to load and unload the kernel module by hand. To load
the kernel module by hand, type:

kldload if_yk.ko

To unload the kernel module by hand, type:

kldunload if_yk.ko

3.2  Deinstallation of driver software
To deinstall the driver, type:

pkg_delete sk98bsd

This removes the driver kernel module from the /boot/kernel directory, as
well as the manpage from the /usr/share/man/man4 directory. If the install
script saved a copy of the original kernel, this original copy is restored
as the default kernel. To prevent this copy of the original kernel from
being restored (if, for example, the kernel has been re-compiled after
performing an installation of the driver) the -D flag must be asserted
when deleting the package. Example:

pkg_delete -D sk98bsd

If you have set up your machine to load the driver automatically, you must
delete the lines you added in /boot/loader.conf and /etc/rc.conf


4  Parameters


There are a number of driver parameters that can be changed to suit different
operating conditions. These parameters include:

o Speed
o Duplex settings
o Hardware checksumming
o Clocking Master
o Redundant link management modes (dual-port adapters only)
o Preferred port settings (dual-port adapters only)

All these parameters are modified with the ifconfig utility. For detailed
information about the usage of this program, please consult the relevant
FreeBSD manual pages (ie. man ifconfig).

Speed
=====
Please note that SK-98xx (non-V2.0) adapters do not support lower speed
settings than 1000baseTX. The following adapter speed settings are available
for V2.0 Copper adapters:
auto         Auto-negotiated speed setting (default)
1000baseTX   1000baseTX, no auto-negotiation
100baseTX    100baseTX, no auto-negotiation
10baseT/UTP  10baseT/UTP, no auto-negotiation

To change the adapter speed setting to 100baseTX, type:

ifconfig yk0 media 100baseTX

To switch it back to auto-negotiation, type:

ifconfig yk0 media auto

Duplex
======
Please note that SK-98xx (non-V2.0) adapters only support full duplex.
Please note also that half duplex at 1000baseTX is not supported.
Duplex settings (full or half duplex) are set with the mediaopt keyword. For
example, to set 100baseTX, half duplex, type:

ifconfig yk0 media 100baseTX mediaopt half-duplex

To reset half-duplex mode, prefix the mediaopt keyword with a hyphen:

ifconfig yk0 media 100baseTX -mediaopt half-duplex

Checksumming
============
By default, hardware checksumming is enabled for both receive and transmit
on V2.0 adapters. Non-V2.0 adapters do not support this feature.
To turn this feature off, type:

ifconfig yk0 -rxcsum

or

ifconfig yk0 -txcsum

Note that it is currently not possible to switch hardware checksumming on or
off independently. It is only possible to switch both transmit and receive
together.

To turn hardware checksumming on, type:

ifconfig yk0 rxcsum

or

ifconfig yk0 txcsum

Clocking Master
===============
This parameter only applies to Copper adapters with a fixed speed of
1000baseTX. In this case, autonegotiation is disabled and each side of the
link must agree on who is clocking master and who is slave. By default,
the adapter is clocking slave ie. the other end is the master. If the
reverse is desired (this adapter should be clocking master), the
"flag0" media option must be set via ifconfig.

To set clocking master, type:

ifconfig yk0 media 1000baseTX mediaopt flag0

To reset clocking master to the default of slave, type:

ifconfig yk0 media 1000baseTX -mediaopt flag0

Redundant Link Management
=========================
SysKonnect's dual-port adapters can be configured to operate in redundant
link management mode, where traffic passes via the main port (which is
user-configurable), switching to the backup port if the main link breaks
down. Three operating modes are available: CLS (Check Link State), CLP
(Check Local Port) and CLPSS (Check Local Port and Segmentation Status).
CLS is the simplest mode and is also the default. It merely checks for
the presence of a link on the active port, switching to the other port
when the link breaks down and switching back immediately when the main
link comes back up.
CLP performs additional port-to-port link connectivity checks and
automatically switches to the port with the highest quality link (as
measured by link stability).
CLPSS provides full switch redundancy by periodically checking inter-switch
connectivity via a spanning tree algorithm.
All three modes define a standard ("preferred") port over which traffic
should flow under normal operating conditions, the default being port 0.

The operating modes and the default port are set with the link options
available with ifconfig. Link0 switches on CLP mode, Link0 together with
Link1 switches on CLPSS mode and Link2 sets the preferred port to port 1.
Note that setting Link1 without Link0 has no effect, ie. the default CLS
mode will be used. It is also worth noting that these switches have no
effect on single port adapters.

To set CLP mode:

ifconfig yk0 down

ifconfig yk0 up link0

To clear CLP mode:

ifconfig yk0 down -link0

ifconfig yk0 up

To set CLPSS mode:

ifconfig yk0 down

ifconfig yk0 up link0 link1

To clear CLPSS mode:

ifconfig yk0 down -link0 -link1

ifconfig yk0 up

To set port 1 (port B) as preferred port:

ifconfig yk0 down

ifconfig yk0 up link2

To set port 0 (port A) as preferred port (ie. to reset to the default):

ifconfig yk0 down -link2

ifconfig yk0 up

			***End of Readme File***