OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [networking/] [sk98lin.txt] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
(C)Copyright 1999-2003 Marvell(R).
2
All rights reserved
3
===========================================================================
4
 
5
sk98lin.txt created 15-Dec-2003
6
 
7
Readme File for sk98lin v6.21
8
Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX
9
 
10
This file contains
11
 1  Overview
12
 2  Required Files
13
 3  Installation
14
    3.1  Driver Installation
15
    3.2  Inclusion of adapter at system start
16
 4  Driver Parameters
17
    4.1  Per-Port Parameters
18
    4.2  Adapter Parameters
19
 5  Large Frame Support
20
 6  VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
21
 7  Troubleshooting
22
 
23
===========================================================================
24
 
25
 
26
1  Overview
27
===========
28
 
29
The sk98lin driver supports the Marvell Yukon and SysKonnect
30
SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has
31
been tested with Linux on Intel/x86 machines.
32
***
33
 
34
 
35
2  Required Files
36
=================
37
 
38
The linux kernel source.
39
No additional files required.
40
***
41
 
42
 
43
3  Installation
44
===============
45
 
46
It is recommended to download the latest version of the driver from the
47
SysKonnect web site www.syskonnect.com. If you have downloaded the latest
48
driver, the Linux kernel has to be patched before the driver can be
49
installed. For details on how to patch a Linux kernel, refer to the
50
patch.txt file.
51
 
52
3.1  Driver Installation
53
------------------------
54
 
55
The following steps describe the actions that are required to install
56
the driver and to start it manually. These steps should be carried
57
out for the initial driver setup. Once confirmed to be ok, they can
58
be included in the system start.
59
 
60
NOTE 1: To perform the following tasks you need 'root' access.
61
 
62
NOTE 2: In case of problems, please read the section "Troubleshooting"
63
        below.
64
 
65
The driver can either be integrated into the kernel or it can be compiled
66
as a module. Select the appropriate option during the kernel
67
configuration.
68
 
69
Compile/use the driver as a module
70
----------------------------------
71
To compile the driver, go to the directory /usr/src/linux and
72
execute the command "make menuconfig" or "make xconfig" and proceed as
73
follows:
74
 
75
To integrate the driver permanently into the kernel, proceed as follows:
76
 
77
1. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
78
2. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
79
   with (*)
80
3. Build a new kernel when the configuration of the above options is
81
   finished.
82
4. Install the new kernel.
83
5. Reboot your system.
84
 
85
To use the driver as a module, proceed as follows:
86
 
87
1. Enable 'loadable module support' in the kernel.
88
2. For automatic driver start, enable the 'Kernel module loader'.
89
3. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
90
4. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support"
91
   with (M)
92
5. Execute the command "make modules".
93
6. Execute the command "make modules_install".
94
   The appropiate modules will be installed.
95
7. Reboot your system.
96
 
97
 
98
Load the module manually
99
------------------------
100
To load the module manually, proceed as follows:
101
 
102
1. Enter "modprobe sk98lin".
103
2. If a Marvell Yukon or SysKonnect SK-98xx adapter is installed in
104
   your computer and you have a /proc file system, execute the command:
105
   "ls /proc/net/sk98lin/"
106
   This should produce an output containing a line with the following
107
   format:
108
   eth0   eth1  ...
109
   which indicates that your adapter has been found and initialized.
110
 
111
   NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx
112
           adapter installed, the adapters will be listed as 'eth0',
113
                   'eth1', 'eth2', etc.
114
                   For each adapter, repeat steps 3 and 4 below.
115
 
116
   NOTE 2: If you have other Ethernet adapters installed, your Marvell
117
           Yukon or SysKonnect SK-98xx adapter will be mapped to the
118
                   next available number, e.g. 'eth1'. The mapping is executed
119
                   automatically.
120
           The module installation message (displayed either in a system
121
           log file or on the console) prints a line for each adapter
122
           found containing the corresponding 'ethX'.
123
 
124
3. Select an IP address and assign it to the respective adapter by
125
   entering:
126
   ifconfig eth0 
127
   With this command, the adapter is connected to the Ethernet.
128
 
129
   SK-98xx Gigabit Ethernet Server Adapters: The yellow LED on the adapter
130
   is now active, the link status LED of the primary port is active and
131
   the link status LED of the secondary port (on dual port adapters) is
132
   blinking (if the ports are connected to a switch or hub).
133
   SK-98xx V2.0 Gigabit Ethernet Adapters: The link status LED is active.
134
   In addition, you will receive a status message on the console stating
135
   "ethX: network connection up using port Y" and showing the selected
136
   connection parameters (x stands for the ethernet device number
137
   (0,1,2, etc), y stands for the port name (A or B)).
138
 
139
   NOTE: If you are in doubt about IP addresses, ask your network
140
         administrator for assistance.
141
 
142
4. Your adapter should now be fully operational.
143
   Use 'ping ' to verify the connection to other computers
144
   on your network.
145
5. To check the adapter configuration view /proc/net/sk98lin/[devicename].
146
   For example by executing:
147
   "cat /proc/net/sk98lin/eth0"
148
 
149
Unload the module
150
-----------------
151
To stop and unload the driver modules, proceed as follows:
152
 
153
1. Execute the command "ifconfig eth0 down".
154
2. Execute the command "rmmod sk98lin".
155
 
156
3.2  Inclusion of adapter at system start
157
-----------------------------------------
158
 
159
Since a large number of different Linux distributions are
160
available, we are unable to describe a general installation procedure
161
for the driver module.
162
Because the driver is now integrated in the kernel, installation should
163
be easy, using the standard mechanism of your distribution.
164
Refer to the distribution's manual for installation of ethernet adapters.
165
 
166
***
167
 
168
4  Driver Parameters
169
====================
170
 
171
Parameters can be set at the command line after the module has been
172
loaded with the command 'modprobe'.
173
In some distributions, the configuration tools are able to pass parameters
174
to the driver module.
175
 
176
If you use the kernel module loader, you can set driver parameters
177
in the file /etc/modules.conf (or old name: /etc/conf.modules).
178
To set the driver parameters in this file, proceed as follows:
179
 
180
1. Insert a line of the form :
181
   options sk98lin ...
182
   For "...", the same syntax is required as described for the command
183
   line paramaters of modprobe below.
184
2. To activate the new parameters, either reboot your computer
185
   or
186
   unload and reload the driver.
187
   The syntax of the driver parameters is:
188
 
189
        modprobe sk98lin parameter=value1[,value2[,value3...]]
190
 
191
   where value1 refers to the first adapter, value2 to the second etc.
192
 
193
NOTE: All parameters are case sensitive. Write them exactly as shown
194
      below.
195
 
196
Example:
197
Suppose you have two adapters. You want to set auto-negotiation
198
on the first adapter to ON and on the second adapter to OFF.
199
You also want to set DuplexCapabilities on the first adapter
200
to FULL, and on the second adapter to HALF.
201
Then, you must enter:
202
 
203
        modprobe sk98lin AutoNeg_A=On,Off DupCap_A=Full,Half
204
 
205
NOTE: The number of adapters that can be configured this way is
206
      limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
207
      The current limit is 16. If you happen to install
208
      more adapters, adjust this and recompile.
209
 
210
 
211
4.1  Per-Port Parameters
212
------------------------
213
 
214
These settings are available for each port on the adapter.
215
In the following description, '?' stands for the port for
216
which you set the parameter (A or B).
217
 
218
Speed
219
-----
220
Parameter:    Speed_?
221
Values:       10, 100, 1000, Auto
222
Default:      Auto
223
 
224
This parameter is used to set the speed capabilities. It is only valid
225
for the SK-98xx V2.0 copper adapters.
226
Usually, the speed is negotiated between the two ports during link
227
establishment. If this fails, a port can be forced to a specific setting
228
with this parameter.
229
 
230
Auto-Negotiation
231
----------------
232
Parameter:    AutoNeg_?
233
Values:       On, Off, Sense
234
Default:      On
235
 
236
The "Sense"-mode automatically detects whether the link partner supports
237
auto-negotiation or not.
238
 
239
Duplex Capabilities
240
-------------------
241
Parameter:    DupCap_?
242
Values:       Half, Full, Both
243
Default:      Both
244
 
245
This parameters is only relevant if auto-negotiation for this port is
246
not set to "Sense". If auto-negotiation is set to "On", all three values
247
are possible. If it is set to "Off", only "Full" and "Half" are allowed.
248
This parameter is usefull if your link partner does not support all
249
possible combinations.
250
 
251
Flow Control
252
------------
253
Parameter:    FlowCtrl_?
254
Values:       Sym, SymOrRem, LocSend, None
255
Default:      SymOrRem
256
 
257
This parameter can be used to set the flow control capabilities the
258
port reports during auto-negotiation. It can be set for each port
259
individually.
260
Possible modes:
261
   -- Sym      = Symmetric: both link partners are allowed to send
262
                  PAUSE frames
263
   -- SymOrRem = SymmetricOrRemote: both or only remote partner
264
                  are allowed to send PAUSE frames
265
   -- LocSend  = LocalSend: only local link partner is allowed
266
                  to send PAUSE frames
267
   -- None     = no link partner is allowed to send PAUSE frames
268
 
269
NOTE: This parameter is ignored if auto-negotiation is set to "Off".
270
 
271
Role in Master-Slave-Negotiation (1000Base-T only)
272
--------------------------------------------------
273
Parameter:    Role_?
274
Values:       Auto, Master, Slave
275
Default:      Auto
276
 
277
This parameter is only valid for the SK-9821 and SK-9822 adapters.
278
For two 1000Base-T ports to communicate, one must take the role of the
279
master (providing timing information), while the other must be the
280
slave. Usually, this is negotiated between the two ports during link
281
establishment. If this fails, a port can be forced to a specific setting
282
with this parameter.
283
 
284
 
285
4.2  Adapter Parameters
286
-----------------------
287
 
288
Connection Type (SK-98xx V2.0 copper adapters only)
289
---------------
290
Parameter:    ConType
291
Values:       Auto, 100FD, 100HD, 10FD, 10HD
292
Default:      Auto
293
 
294
The parameter 'ConType' is a combination of all five per-port parameters
295
within one single parameter. This simplifies the configuration of both ports
296
of an adapter card! The different values of this variable reflect the most
297
meaningful combinations of port parameters.
298
 
299
The following table shows the values of 'ConType' and the corresponding
300
combinations of the per-port parameters:
301
 
302
    ConType   |  DupCap   AutoNeg   FlowCtrl   Role             Speed
303
    ----------+------------------------------------------------------
304
    Auto      |  Both     On        SymOrRem   Auto             Auto
305
    100FD     |  Full     Off       None       Auto (ignored)   100
306
    100HD     |  Half     Off       None       Auto (ignored)   100
307
    10FD      |  Full     Off       None       Auto (ignored)   10
308
    10HD      |  Half     Off       None       Auto (ignored)   10
309
 
310
Stating any other port parameter together with this 'ConType' variable
311
will result in a merged configuration of those settings. This due to
312
the fact, that the per-port parameters (e.g. Speed_? ) have a higher
313
priority than the combined variable 'ConType'.
314
 
315
NOTE: This parameter is always used on both ports of the adapter card.
316
 
317
Interrupt Moderation
318
--------------------
319
Parameter:    Moderation
320
Values:       None, Static, Dynamic
321
Default:      None
322
 
323
Interrupt moderation is employed to limit the maxmimum number of interrupts
324
the driver has to serve. That is, one or more interrupts (which indicate any
325
transmit or receive packet to be processed) are queued until the driver
326
processes them. When queued interrupts are to be served, is determined by the
327
'IntsPerSec' parameter, which is explained later below.
328
 
329
Possible modes:
330
 
331
   -- None - No interrupt moderation is applied on the adapter card.
332
      Therefore, each transmit or receive interrupt is served immediately
333
      as soon as it appears on the interrupt line of the adapter card.
334
 
335
   -- Static - Interrupt moderation is applied on the adapter card.
336
      All transmit and receive interrupts are queued until a complete
337
      moderation interval ends. If such a moderation interval ends, all
338
      queued interrupts are processed in one big bunch without any delay.
339
      The term 'static' reflects the fact, that interrupt moderation is
340
      always enabled, regardless how much network load is currently
341
      passing via a particular interface. In addition, the duration of
342
      the moderation interval has a fixed length that never changes while
343
      the driver is operational.
344
 
345
   -- Dynamic - Interrupt moderation might be applied on the adapter card,
346
      depending on the load of the system. If the driver detects that the
347
      system load is too high, the driver tries to shield the system against
348
      too much network load by enabling interrupt moderation. If - at a later
349
      time - the CPU utilizaton decreases again (or if the network load is
350
      negligible) the interrupt moderation will automatically be disabled.
351
 
352
Interrupt moderation should be used when the driver has to handle one or more
353
interfaces with a high network load, which - as a consequence - leads also to a
354
high CPU utilization. When moderation is applied in such high network load
355
situations, CPU load might be reduced by 20-30%.
356
 
357
NOTE: The drawback of using interrupt moderation is an increase of the round-
358
trip-time (RTT), due to the queueing and serving of interrupts at dedicated
359
moderation times.
360
 
361
Interrupts per second
362
---------------------
363
Parameter:    IntsPerSec
364
Values:       30...40000 (interrupts per second)
365
Default:      2000
366
 
367
This parameter is only used, if either static or dynamic interrupt moderation
368
is used on a network adapter card. Using this paramter if no moderation is
369
applied, will lead to no action performed.
370
 
371
This parameter determines the length of any interrupt moderation interval.
372
Assuming that static interrupt moderation is to be used, an 'IntsPerSec'
373
parameter value of 2000 will lead to an interrupt moderation interval of
374
500 microseconds.
375
 
376
NOTE: The duration of the moderation interval is to be chosen with care.
377
At first glance, selecting a very long duration (e.g. only 100 interrupts per
378
second) seems to be meaningful, but the increase of packet-processing delay
379
is tremendous. On the other hand, selecting a very short moderation time might
380
compensate the use of any moderation being applied.
381
 
382
 
383
Preferred Port
384
--------------
385
Parameter:    PrefPort
386
Values:       A, B
387
Default:      A
388
 
389
This is used to force the preferred port to A or B (on dual-port network
390
adapters). The preferred port is the one that is used if both are detected
391
as fully functional.
392
 
393
RLMT Mode (Redundant Link Management Technology)
394
------------------------------------------------
395
Parameter:    RlmtMode
396
Values:       CheckLinkState,CheckLocalPort, CheckSeg, DualNet
397
Default:      CheckLinkState
398
 
399
RLMT monitors the status of the port. If the link of the active port
400
fails, RLMT switches immediately to the standby link. The virtual link is
401
maintained as long as at least one 'physical' link is up.
402
 
403
Possible modes:
404
 
405
   -- CheckLinkState - Check link state only: RLMT uses the link state
406
      reported by the adapter hardware for each individual port to
407
      determine whether a port can be used for all network traffic or
408
      not.
409
 
410
   -- CheckLocalPort - In this mode, RLMT monitors the network path
411
      between the two ports of an adapter by regularly exchanging packets
412
      between them. This mode requires a network configuration in which
413
      the two ports are able to "see" each other (i.e. there must not be
414
      any router between the ports).
415
 
416
   -- CheckSeg - Check local port and segmentation: This mode supports the
417
      same functions as the CheckLocalPort mode and additionally checks
418
      network segmentation between the ports. Therefore, this mode is only
419
      to be used if Gigabit Ethernet switches are installed on the network
420
      that have been configured to use the Spanning Tree protocol.
421
 
422
   -- DualNet - In this mode, ports A and B are used as separate devices.
423
      If you have a dual port adapter, port A will be configured as eth0
424
      and port B as eth1. Both ports can be used independently with
425
      distinct IP addresses. The preferred port setting is not used.
426
      RLMT is turned off.
427
 
428
NOTE: RLMT modes CLP and CLPSS are designed to operate in configurations
429
      where a network path between the ports on one adapter exists.
430
      Moreover, they are not designed to work where adapters are connected
431
      back-to-back.
432
***
433
 
434
 
435
5  Large Frame Support
436
======================
437
 
438
The driver supports large frames (also called jumbo frames). Using large
439
frames can result in an improved throughput if transferring large amounts
440
of data.
441
To enable large frames, set the MTU (maximum transfer unit) of the
442
interface to the desired value (up to 9000), execute the following
443
command:
444
      ifconfig eth0 mtu 9000
445
This will only work if you have two adapters connected back-to-back
446
or if you use a switch that supports large frames. When using a switch,
447
it should be configured to allow large frames and auto-negotiation should
448
be set to OFF. The setting must be configured on all adapters that can be
449
reached by the large frames. If one adapter is not set to receive large
450
frames, it will simply drop them.
451
 
452
You can switch back to the standard ethernet frame size by executing the
453
following command:
454
      ifconfig eth0 mtu 1500
455
 
456
To permanently configure this setting, add a script with the 'ifconfig'
457
line to the system startup sequence (named something like "S99sk98lin"
458
in /etc/rc.d/rc2.d).
459
***
460
 
461
 
462
6  VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
463
==================================================================
464
 
465
The Marvell Yukon/SysKonnect Linux drivers are able to support VLAN and
466
Link Aggregation according to IEEE standards 802.1, 802.1q, and 802.3ad.
467
These features are only available after installation of open source
468
modules available on the Internet:
469
For VLAN go to: http://www.candelatech.com/~greear/vlan.html
470
For Link Aggregation go to: http://www.st.rim.or.jp/~yumo
471
 
472
NOTE: SysKonnect GmbH does not offer any support for these open source
473
      modules and does not take the responsibility for any kind of
474
      failures or problems arising in connection with these modules.
475
 
476
NOTE: Configuring Link Aggregation on a SysKonnect dual link adapter may
477
      cause problems when unloading the driver.
478
 
479
 
480
7  Troubleshooting
481
==================
482
 
483
If any problems occur during the installation process, check the
484
following list:
485
 
486
 
487
Problem:  The SK-98xx adapter can not be found by the driver.
488
Solution: In /proc/pci search for the following entry:
489
             'Ethernet controller: SysKonnect SK-98xx ...'
490
          If this entry exists, the SK-98xx or SK-98xx V2.0 adapter has
491
          been found by the system and should be operational.
492
          If this entry does not exist or if the file '/proc/pci' is not
493
          found, there may be a hardware problem or the PCI support may
494
          not be enabled in your kernel.
495
          The adapter can be checked using the diagnostics program which
496
          is available on the SysKonnect web site:
497
          www.syskonnect.com
498
 
499
          Some COMPAQ machines have problems dealing with PCI under Linux.
500
          Linux. This problem is described in the 'PCI howto' document
501
          (included in some distributions or available from the
502
          web, e.g. at 'www.linux.org').
503
 
504
 
505
Problem:  Programs such as 'ifconfig' or 'route' can not be found or the
506
          error message 'Operation not permitted' is displayed.
507
Reason:   You are not logged in as user 'root'.
508
Solution: Logout and login as 'root' or change to 'root' via 'su'.
509
 
510
 
511
Problem:  Upon use of the command 'ping 
' the message
512
          "ping: sendto: Network is unreachable" is displayed.
513
Reason:   Your route is not set correctly.
514
Solution: If you are using RedHat, you probably forgot to set up the
515
          route in the 'network configuration'.
516
          Check the existing routes with the 'route' command and check
517
          if an entry for 'eth0' exists, and if so, if it is set correctly.
518
 
519
 
520
Problem:  The driver can be started, the adapter is connected to the
521
          network, but you cannot receive or transmit any packets;
522
          e.g. 'ping' does not work.
523
Reason:   There is an incorrect route in your routing table.
524
Solution: Check the routing table with the command 'route' and read the
525
          manual help pages dealing with routes (enter 'man route').
526
 
527
NOTE: Although the 2.2.x kernel versions generate the routing entry
528
      automatically, problems of this kind may occur here as well. We've
529
      come across a situation in which the driver started correctly at
530
      system start, but after the driver has been removed and reloaded,
531
      the route of the adapter's network pointed to the 'dummy0'device
532
      and had to be corrected manually.
533
 
534
 
535
Problem:  Your computer should act as a router between multiple
536
          IP subnetworks (using multiple adapters), but computers in
537
          other subnetworks cannot be reached.
538
Reason:   Either the router's kernel is not configured for IP forwarding
539
          or the routing table and gateway configuration of at least one
540
          computer is not working.
541
 
542
Problem:  Upon driver start, the following error message is displayed:
543
          "eth0: -- ERROR --
544
          Class: internal Software error
545
          Nr:    0xcc
546
          Msg:   SkGeInitPort() cannot init running ports"
547
Reason:   You are using a driver compiled for single processor machines
548
          on a multiprocessor machine with SMP (Symmetric MultiProcessor)
549
          kernel.
550
Solution: Configure your kernel appropriately and recompile the kernel or
551
          the modules.
552
 
553
 
554
 
555
If your problem is not listed here, please contact SysKonnect's technical
556
support for help (linux@syskonnect.de).
557
When contacting our technical support, please ensure that the following
558
information is available:
559
- System Manufacturer and HW Informations (CPU, Memory... )
560
- PCI-Boards in your system
561
- Distribution
562
- Kernel version
563
- Driver version
564
***
565
 
566
 
567
 
568
***End of Readme File***

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.