Commit 4b4976a6 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'net-ReST-part-three'

Mauro Carvalho Chehab says:

====================
net: manually convert files to ReST format - part 3 (final)

That's the third part (and the final one) of my work to convert the networking
text files into ReST. it is based on linux-next next-20200430 branch.

The full series (including those ones) are at:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=net-docs

The  built output documents, on html format is at:

	https://www.infradead.org/~mchehab/kernel_docs/networking/


====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents ef891284 30cbf2dd
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1296,8 +1296,8 @@ DIP Switches:
	11111           0xC400 (guessed - crashes tested system)
	=============   ============================================

CNet Technology Inc.
====================
CNet Technology Inc. (8-bit cards)
==================================

120 Series (8-bit cards)
------------------------
@@ -1520,8 +1520,8 @@ The jumpers labeled EXT1 and EXT2 are used to determine the timeout
parameters. These two jumpers are normally left open.


CNet Technology Inc.
====================
CNet Technology Inc. (16-bit cards)
===================================

160 Series (16-bit cards)
-------------------------
+99 −63
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

=============================================================================
Linux and the 3Com EtherLink III Series Ethercards (driver v1.18c and higher)
----------------------------------------------------------------------------
=============================================================================

This file contains the instructions and caveats for v1.18c and higher versions
of the 3c509 driver. You should not use the driver without reading this file.

release 1.0

28 February 2002

Current maintainer (corrections to):
  David Ruggiero <jdr@farfalle.com>

----------------------------------------------------------------------------

(0) Introduction
Introduction
============

The following are notes and information on using the 3Com EtherLink III series
ethercards in Linux. These cards are commonly known by the most widely-used
@@ -21,11 +25,11 @@ be (but sometimes are) confused with the similarly-numbered PCI-bus "3c905"
provided by the module 3c509.c, which has code to support all of the following
models:

  3c509 (original ISA card)
  3c509B (later revision of the ISA card; supports full-duplex)
  3c589 (PCMCIA)
  3c589B (later revision of the 3c589; supports full-duplex)
  3c579 (EISA)
 - 3c509 (original ISA card)
 - 3c509B (later revision of the ISA card; supports full-duplex)
 - 3c589 (PCMCIA)
 - 3c589B (later revision of the 3c589; supports full-duplex)
 - 3c579 (EISA)

Large portions of this documentation were heavily borrowed from the guide
written the original author of the 3c509 driver, Donald Becker. The master
@@ -33,14 +37,15 @@ copy of that document, which contains notes on older versions of the driver,
currently resides on Scyld web server: http://www.scyld.com/.


(1) Special Driver Features
Special Driver Features
=======================

Overriding card settings

The driver allows boot- or load-time overriding of the card's detected IOADDR,
IRQ, and transceiver settings, although this capability shouldn't generally be
needed except to enable full-duplex mode (see below). An example of the syntax
for LILO parameters for doing this:
for LILO parameters for doing this::

    ether=10,0x310,3,0x3c509,eth0

@@ -49,12 +54,13 @@ transceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflicts
with other card types when overriding the I/O address. When the driver is
loaded as a module, only the IRQ may be overridden. For example,
setting two cards to IRQ10 and IRQ11 is done by using the irq module
option:
option::

   options 3c509 irq=10,11


(2) Full-duplex mode
Full-duplex mode
================

The v1.18c driver added support for the 3c509B's full-duplex capabilities.
In order to enable and successfully use full-duplex mode, three conditions
@@ -79,7 +85,10 @@ another system that's connected directly to the 3c509B via a crossover cable.

Full-duplex mode can be enabled using 'ethtool'.

/////Extremely important caution concerning full-duplex mode/////
.. warning::

  Extremely important caution concerning full-duplex mode

  Understand that the 3c509B's hardware's full-duplex support is much more
  limited than that provide by more modern network interface cards. Although
  at the physical layer of the network it fully supports full-duplex operation,
@@ -95,10 +104,12 @@ negotiation and forcing the duplex mode of a network interface card or switch
  would ever be necessary or desirable.


(3) Available Transceiver Types
Available Transceiver Types
===========================

For versions of the driver v1.18c and above, the available transceiver types are:

== =========================================================================
0  transceiver type from EEPROM config (normally 10baseT); force half-duplex
1  AUI (thick-net / DB15 connector)
2  (undefined)
@@ -106,6 +117,7 @@ For versions of the driver v1.18c and above, the available transceiver types are
4  10baseT (RJ-45 connector); force half-duplex mode
8  transceiver type and duplex mode taken from card's EEPROM config settings
12 10baseT (RJ-45 connector); force full-duplex mode
== =========================================================================

Prior to driver version 1.18c, only transceiver codes 0-4 were supported. Note
that the new transceiver codes 8 and 12 are the *only* ones that will enable
@@ -118,9 +130,11 @@ activated.
The transceiver type can be changed using 'ethtool'.


(4a) Interpretation of error messages and common problems
Interpretation of error messages and common problems
----------------------------------------------------

Error Messages
^^^^^^^^^^^^^^

eth0: Infinite loop in interrupt, status 2011.
These are "mostly harmless" message indicating that the driver had too much
@@ -136,6 +150,8 @@ or impossible in normal operation. Possible causes of this error report are:
     interrupt should always be incrementing faster than the others.

No received packets
^^^^^^^^^^^^^^^^^^^

If a 3c509, 3c562 or 3c589 can successfully transmit packets, but never
receives packets (as reported by /proc/net/dev or 'ifconfig') you likely
have an interrupt line problem. Check /proc/interrupts to verify that the
@@ -147,25 +163,36 @@ interrupt line. If the device is receiving packets but 'ping' doesn't work,
you have a routing problem.

Tx Carrier Errors Reported in /proc/net/dev
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


If an EtherLink III appears to transmit packets, but the "Tx carrier errors"
field in /proc/net/dev increments as quickly as the Tx packet count, you
likely have an unterminated network or the incorrect media transceiver selected.

3c509B card is not detected on machines with an ISA PnP BIOS.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

While the updated driver works with most PnP BIOS programs, it does not work
with all. This can be fixed by disabling PnP support using the 3Com-supplied
setup program.

3c509 card is not detected on overclocked machines
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Increase the delay time in id_read_eeprom() from the current value, 500,
to an absurdly high value, such as 5000.


(4b) Decoding Status and Error Messages
Decoding Status and Error Messages
----------------------------------


The bits in the main status register are:

=====	======================================
value 	description
=====	======================================
0x01 	Interrupt latch
0x02 	Tx overrun, or Rx underrun
0x04 	Tx complete
@@ -174,10 +201,13 @@ value description
0x20 	A Rx packet has started to arrive
0x40 	The driver has requested an interrupt
0x80 	Statistics counter nearly full
=====	======================================

The bits in the transmit (Tx) status word are:

=====	============================================
value	description
=====	============================================
0x02	Out-of-window collision.
0x04	Status stack overflow (normally impossible).
0x08	16 collisions.
@@ -185,19 +215,24 @@ value description
0x20	Tx jabber.
0x40	Tx interrupt requested.
0x80	Status is valid (this should always be set).
=====	============================================


When a transmit error occurs the driver produces a status message such as 
When a transmit error occurs the driver produces a status message such as::

   eth0: Transmit error, Tx status register 82

The two values typically seen here are:

0x82
^^^^

Out of window collision. This typically occurs when some other Ethernet
host is incorrectly set to full duplex on a half duplex network.

0x88
^^^^

16 collisions. This typically occurs when the network is exceptionally busy
or when another host doesn't correctly back off after a collision. If this
error is mixed with 0x82 errors it is the result of a host incorrectly set
@@ -207,7 +242,8 @@ Both of these errors are the result of network problems that should be
corrected. They do not represent driver malfunction.


(5) Revision history (this file)
Revision history (this file)
============================

28Feb02 v1.0  DR   New; major portions based on Becker original 3c509 docs
+120 −107
Original line number Diff line number Diff line
Documentation/networking/device_drivers/3com/vortex.txt
.. SPDX-License-Identifier: GPL-2.0

=========================
3Com Vortex device driver
=========================

Documentation/networking/device_drivers/3com/vortex.rst

Andrew Morton

30 April 2000


@@ -11,9 +19,9 @@ The driver was written by Donald Becker <becker@scyld.com>
Don is no longer the prime maintainer of this version of the driver.
Please report problems to one or more of:

  Andrew Morton
  Netdev mailing list <netdev@vger.kernel.org>
  Linux kernel mailing list <linux-kernel@vger.kernel.org>
- Andrew Morton
- Netdev mailing list <netdev@vger.kernel.org>
- Linux kernel mailing list <linux-kernel@vger.kernel.org>

Please note the 'Reporting and Diagnosing Problems' section at the end
of this file.
@@ -24,56 +32,56 @@ Since kernel 2.3.99-pre6, this driver incorporates the support for the

This driver supports the following hardware:

	3c590 Vortex 10Mbps
	3c592 EISA 10Mbps Demon/Vortex
	3c597 EISA Fast Demon/Vortex
	3c595 Vortex 100baseTx
	3c595 Vortex 100baseT4
	3c595 Vortex 100base-MII
	3c900 Boomerang 10baseT
	3c900 Boomerang 10Mbps Combo
	3c900 Cyclone 10Mbps TPO
	3c900 Cyclone 10Mbps Combo
	3c900 Cyclone 10Mbps TPC
	3c900B-FL Cyclone 10base-FL
	3c905 Boomerang 100baseTx
	3c905 Boomerang 100baseT4
	3c905B Cyclone 100baseTx
	3c905B Cyclone 10/100/BNC
	3c905B-FX Cyclone 100baseFx
	3c905C Tornado
	3c920B-EMB-WNM (ATI Radeon 9100 IGP)
	3c980 Cyclone
	3c980C Python-T
	3cSOHO100-TX Hurricane
	3c555 Laptop Hurricane
	3c556 Laptop Tornado
	3c556B Laptop Hurricane
	3c575 [Megahertz] 10/100 LAN  CardBus
	3c575 Boomerang CardBus
	3CCFE575BT Cyclone CardBus
	3CCFE575CT Tornado CardBus
	3CCFE656 Cyclone CardBus
	3CCFEM656B Cyclone+Winmodem CardBus
	3CXFEM656C Tornado+Winmodem CardBus
	3c450 HomePNA Tornado
	3c920 Tornado
	3c982 Hydra Dual Port A
	3c982 Hydra Dual Port B
	3c905B-T4
	3c920B-EMB-WNM Tornado
	- 3c590 Vortex 10Mbps
	- 3c592 EISA 10Mbps Demon/Vortex
	- 3c597 EISA Fast Demon/Vortex
	- 3c595 Vortex 100baseTx
	- 3c595 Vortex 100baseT4
	- 3c595 Vortex 100base-MII
	- 3c900 Boomerang 10baseT
	- 3c900 Boomerang 10Mbps Combo
	- 3c900 Cyclone 10Mbps TPO
	- 3c900 Cyclone 10Mbps Combo
	- 3c900 Cyclone 10Mbps TPC
	- 3c900B-FL Cyclone 10base-FL
	- 3c905 Boomerang 100baseTx
	- 3c905 Boomerang 100baseT4
	- 3c905B Cyclone 100baseTx
	- 3c905B Cyclone 10/100/BNC
	- 3c905B-FX Cyclone 100baseFx
	- 3c905C Tornado
	- 3c920B-EMB-WNM (ATI Radeon 9100 IGP)
	- 3c980 Cyclone
	- 3c980C Python-T
	- 3cSOHO100-TX Hurricane
	- 3c555 Laptop Hurricane
	- 3c556 Laptop Tornado
	- 3c556B Laptop Hurricane
	- 3c575 [Megahertz] 10/100 LAN  CardBus
	- 3c575 Boomerang CardBus
	- 3CCFE575BT Cyclone CardBus
	- 3CCFE575CT Tornado CardBus
	- 3CCFE656 Cyclone CardBus
	- 3CCFEM656B Cyclone+Winmodem CardBus
	- 3CXFEM656C Tornado+Winmodem CardBus
	- 3c450 HomePNA Tornado
	- 3c920 Tornado
	- 3c982 Hydra Dual Port A
	- 3c982 Hydra Dual Port B
	- 3c905B-T4
	- 3c920B-EMB-WNM Tornado

Module parameters
=================

There are several parameters which may be provided to the driver when
its module is loaded.  These are usually placed in /etc/modprobe.d/*.conf
configuration files.  Example:
its module is loaded.  These are usually placed in ``/etc/modprobe.d/*.conf``
configuration files.  Example::

    options 3c59x debug=3 rx_copybreak=300

If you are using the PCMCIA tools (cardmgr) then the options may be
placed in /etc/pcmcia/config.opts:
placed in /etc/pcmcia/config.opts::

    module "3c59x" opts "debug=3 rx_copybreak=300"

@@ -89,7 +97,7 @@ options=N1,N2,N3,...

  Each number in the list provides an option to the corresponding
  network card.  So if you have two 3c905's and you wish to provide
  them with option 0x204 you would use:
  them with option 0x204 you would use::

    options=0x204,0x204

@@ -97,6 +105,8 @@ options=N1,N2,N3,...
  have the following meanings:

  Possible media type settings

	==	=================================
	0	10baseT
	1	10Mbs AUI
	2	undefined
@@ -108,17 +118,20 @@ options=N1,N2,N3,...
	8       Autonegotiate
	9       External MII
	10      Use default setting from EEPROM
	==	=================================

  When generating a value for the 'options' setting, the above media
  selection values may be OR'ed (or added to) the following:

  ======  =============================================
  0x8000  Set driver debugging level to 7
  0x4000  Set driver debugging level to 2
  0x0400  Enable Wake-on-LAN
  0x0200  Force full duplex mode.
  0x0010  Bus-master enable bit (Old Vortex cards only)
  ======  =============================================

  For example:
  For example::

    insmod 3c59x options=0x204

@@ -127,14 +140,14 @@ options=N1,N2,N3,...

global_options=N

  Sets the `options' parameter for all 3c59x NICs in the machine. 
  Entries in the `options' array above will override any setting of
  Sets the ``options`` parameter for all 3c59x NICs in the machine.
  Entries in the ``options`` array above will override any setting of
  this.

full_duplex=N1,N2,N3...

  Similar to bit 9 of 'options'.  Forces the corresponding card into
  full-duplex mode.  Please use this in preference to the `options'
  full-duplex mode.  Please use this in preference to the ``options``
  parameter.

  In fact, please don't use this at all! You're better off getting
@@ -143,7 +156,7 @@ full_duplex=N1,N2,N3...
global_full_duplex=N1

  Sets full duplex mode for all 3c59x NICs in the machine.  Entries
  in the `full_duplex' array above will override any setting of this.
  in the ``full_duplex`` array above will override any setting of this.

flow_ctrl=N1,N2,N3...

@@ -196,11 +209,11 @@ hw_checksums=N1,N2,N3,...

  This module parameter has been provided so you can override this
  decision.  If you think that Tx checksums are causing a problem, you
  may disable the feature with `hw_checksums=0'.
  may disable the feature with ``hw_checksums=0``.

  If you think your NIC should be performing Tx checksumming and the
  driver isn't enabling it, you can force the use of hardware Tx
  checksumming with `hw_checksums=1'.
  checksumming with ``hw_checksums=1``.

  The driver drops a message in the logfiles to indicate whether or
  not it is using hardware scatter/gather and hardware Tx checksums.
@@ -210,8 +223,8 @@ hw_checksums=N1,N2,N3,...
  decrease in throughput for send().  There is no effect upon receive
  efficiency.

compaq_ioaddr=N
compaq_irq=N
compaq_ioaddr=N,
compaq_irq=N,
compaq_device_id=N

  "Variables to work-around the Compaq PCI BIOS32 problem"....
@@ -227,7 +240,7 @@ watchdog=N
enable_wol=N1,N2,N3,...

  Enable Wake-on-LAN support for the relevant interface.  Donald
  Becker's `ether-wake' application may be used to wake suspended
  Becker's ``ether-wake`` application may be used to wake suspended
  machines.

  Also enables the NIC's power management support.
@@ -235,7 +248,7 @@ enable_wol=N1,N2,N3,...
global_enable_wol=N

  Sets enable_wol mode for all 3c59x NICs in the machine.  Entries in
  the `enable_wol' array above will override any setting of this.
  the ``enable_wol`` array above will override any setting of this.

Media selection
---------------
@@ -325,7 +338,7 @@ Autonegotiation notes

  Cisco switches    (Jeff Busch <jbusch@deja.com>)

    My "standard config" for ports to which PC's/servers connect directly:
    My "standard config" for ports to which PC's/servers connect directly::

	interface FastEthernet0/N
	description machinename
@@ -368,9 +381,9 @@ steps you should take:

  But for most problems it is useful to provide the following:

   o Kernel version, driver version
   - Kernel version, driver version

   o A copy of the banner message which the driver generates when
   - A copy of the banner message which the driver generates when
     it is initialised.  For example:

     eth0: 3Com PCI 3c905C Tornado at 0xa400,  00:50:da:6a:88:f0, IRQ 19
@@ -378,12 +391,12 @@ steps you should take:
     MII transceiver found at address 24, status 782d.
     Enabling bus-master transmits and whole-frame receives.

     NOTE: You must provide the `debug=2' modprobe option to generate
     a full detection message.  Please do this:
     NOTE: You must provide the ``debug=2`` modprobe option to generate
     a full detection message.  Please do this::

	modprobe 3c59x debug=2

   o If it is a PCI device, the relevant output from 'lspci -vx', eg:
   - If it is a PCI device, the relevant output from 'lspci -vx', eg::

       00:09.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 74)
	       Subsystem: 3Com Corporation: Unknown device 9200
@@ -397,29 +410,29 @@ steps you should take:
       20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 00 10
       30: 00 00 00 00 dc 00 00 00 00 00 00 00 05 01 0a 0a

   o A description of the environment: 10baseT? 100baseT?
   - A description of the environment: 10baseT? 100baseT?
     full/half duplex? switched or hubbed?

   o Any additional module parameters which you may be providing to the driver.
   - Any additional module parameters which you may be providing to the driver.

   o Any kernel logs which are produced.  The more the merrier. 
   - Any kernel logs which are produced.  The more the merrier.
     If this is a large file and you are sending your report to a
     mailing list, mention that you have the logfile, but don't send
     it.  If you're reporting direct to the maintainer then just send
     it.

     To ensure that all kernel logs are available, add the
     following line to /etc/syslog.conf:
     following line to /etc/syslog.conf::

	 kern.* /var/log/messages

     Then restart syslogd with:
     Then restart syslogd with::

	 /etc/rc.d/init.d/syslog restart

     (The above may vary, depending upon which Linux distribution you use).

    o If your problem is reproducible then that's great.  Try the
    - If your problem is reproducible then that's great.  Try the
      following:

      1) Increase the debug level.  Usually this is done via:
Loading