sk98lin.txt 22 KB

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