Commit 9ea2af8d authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by David S. Miller

docs: networking: device drivers: convert 3com/vortex.txt to ReST

- add SPDX header;
- add a document title;
- mark code blocks and literals as such;
- mark tables as such;
- adjust identation, whitespaces and blank lines where needed;
- add to networking/index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c79773e8
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 Andrew Morton
30 April 2000 30 April 2000
...@@ -8,12 +16,12 @@ driver for Linux, 3c59x.c. ...@@ -8,12 +16,12 @@ driver for Linux, 3c59x.c.
The driver was written by Donald Becker <becker@scyld.com> The driver was written by Donald Becker <becker@scyld.com>
Don is no longer the prime maintainer of this version of the driver. Don is no longer the prime maintainer of this version of the driver.
Please report problems to one or more of: Please report problems to one or more of:
Andrew Morton - Andrew Morton
Netdev mailing list <netdev@vger.kernel.org> - Netdev mailing list <netdev@vger.kernel.org>
Linux kernel mailing list <linux-kernel@vger.kernel.org> - Linux kernel mailing list <linux-kernel@vger.kernel.org>
Please note the 'Reporting and Diagnosing Problems' section at the end Please note the 'Reporting and Diagnosing Problems' section at the end
of this file. of this file.
...@@ -24,58 +32,58 @@ Since kernel 2.3.99-pre6, this driver incorporates the support for the ...@@ -24,58 +32,58 @@ Since kernel 2.3.99-pre6, this driver incorporates the support for the
This driver supports the following hardware: This driver supports the following hardware:
3c590 Vortex 10Mbps - 3c590 Vortex 10Mbps
3c592 EISA 10Mbps Demon/Vortex - 3c592 EISA 10Mbps Demon/Vortex
3c597 EISA Fast Demon/Vortex - 3c597 EISA Fast Demon/Vortex
3c595 Vortex 100baseTx - 3c595 Vortex 100baseTx
3c595 Vortex 100baseT4 - 3c595 Vortex 100baseT4
3c595 Vortex 100base-MII - 3c595 Vortex 100base-MII
3c900 Boomerang 10baseT - 3c900 Boomerang 10baseT
3c900 Boomerang 10Mbps Combo - 3c900 Boomerang 10Mbps Combo
3c900 Cyclone 10Mbps TPO - 3c900 Cyclone 10Mbps TPO
3c900 Cyclone 10Mbps Combo - 3c900 Cyclone 10Mbps Combo
3c900 Cyclone 10Mbps TPC - 3c900 Cyclone 10Mbps TPC
3c900B-FL Cyclone 10base-FL - 3c900B-FL Cyclone 10base-FL
3c905 Boomerang 100baseTx - 3c905 Boomerang 100baseTx
3c905 Boomerang 100baseT4 - 3c905 Boomerang 100baseT4
3c905B Cyclone 100baseTx - 3c905B Cyclone 100baseTx
3c905B Cyclone 10/100/BNC - 3c905B Cyclone 10/100/BNC
3c905B-FX Cyclone 100baseFx - 3c905B-FX Cyclone 100baseFx
3c905C Tornado - 3c905C Tornado
3c920B-EMB-WNM (ATI Radeon 9100 IGP) - 3c920B-EMB-WNM (ATI Radeon 9100 IGP)
3c980 Cyclone - 3c980 Cyclone
3c980C Python-T - 3c980C Python-T
3cSOHO100-TX Hurricane - 3cSOHO100-TX Hurricane
3c555 Laptop Hurricane - 3c555 Laptop Hurricane
3c556 Laptop Tornado - 3c556 Laptop Tornado
3c556B Laptop Hurricane - 3c556B Laptop Hurricane
3c575 [Megahertz] 10/100 LAN CardBus - 3c575 [Megahertz] 10/100 LAN CardBus
3c575 Boomerang CardBus - 3c575 Boomerang CardBus
3CCFE575BT Cyclone CardBus - 3CCFE575BT Cyclone CardBus
3CCFE575CT Tornado CardBus - 3CCFE575CT Tornado CardBus
3CCFE656 Cyclone CardBus - 3CCFE656 Cyclone CardBus
3CCFEM656B Cyclone+Winmodem CardBus - 3CCFEM656B Cyclone+Winmodem CardBus
3CXFEM656C Tornado+Winmodem CardBus - 3CXFEM656C Tornado+Winmodem CardBus
3c450 HomePNA Tornado - 3c450 HomePNA Tornado
3c920 Tornado - 3c920 Tornado
3c982 Hydra Dual Port A - 3c982 Hydra Dual Port A
3c982 Hydra Dual Port B - 3c982 Hydra Dual Port B
3c905B-T4 - 3c905B-T4
3c920B-EMB-WNM Tornado - 3c920B-EMB-WNM Tornado
Module parameters Module parameters
================= =================
There are several parameters which may be provided to the driver when 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 its module is loaded. These are usually placed in ``/etc/modprobe.d/*.conf``
configuration files. Example: configuration files. Example::
options 3c59x debug=3 rx_copybreak=300 options 3c59x debug=3 rx_copybreak=300
If you are using the PCMCIA tools (cardmgr) then the options may be 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" module "3c59x" opts "debug=3 rx_copybreak=300"
The supported parameters are: The supported parameters are:
...@@ -89,7 +97,7 @@ options=N1,N2,N3,... ...@@ -89,7 +97,7 @@ options=N1,N2,N3,...
Each number in the list provides an option to the corresponding 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 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 options=0x204,0x204
...@@ -97,6 +105,8 @@ options=N1,N2,N3,... ...@@ -97,6 +105,8 @@ options=N1,N2,N3,...
have the following meanings: have the following meanings:
Possible media type settings Possible media type settings
== =================================
0 10baseT 0 10baseT
1 10Mbs AUI 1 10Mbs AUI
2 undefined 2 undefined
...@@ -108,17 +118,20 @@ options=N1,N2,N3,... ...@@ -108,17 +118,20 @@ options=N1,N2,N3,...
8 Autonegotiate 8 Autonegotiate
9 External MII 9 External MII
10 Use default setting from EEPROM 10 Use default setting from EEPROM
== =================================
When generating a value for the 'options' setting, the above media When generating a value for the 'options' setting, the above media
selection values may be OR'ed (or added to) the following: selection values may be OR'ed (or added to) the following:
====== =============================================
0x8000 Set driver debugging level to 7 0x8000 Set driver debugging level to 7
0x4000 Set driver debugging level to 2 0x4000 Set driver debugging level to 2
0x0400 Enable Wake-on-LAN 0x0400 Enable Wake-on-LAN
0x0200 Force full duplex mode. 0x0200 Force full duplex mode.
0x0010 Bus-master enable bit (Old Vortex cards only) 0x0010 Bus-master enable bit (Old Vortex cards only)
====== =============================================
For example: For example::
insmod 3c59x options=0x204 insmod 3c59x options=0x204
...@@ -127,14 +140,14 @@ options=N1,N2,N3,... ...@@ -127,14 +140,14 @@ options=N1,N2,N3,...
global_options=N global_options=N
Sets the `options' parameter for all 3c59x NICs in the machine. Sets the ``options`` parameter for all 3c59x NICs in the machine.
Entries in the `options' array above will override any setting of Entries in the ``options`` array above will override any setting of
this. this.
full_duplex=N1,N2,N3... full_duplex=N1,N2,N3...
Similar to bit 9 of 'options'. Forces the corresponding card into 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. parameter.
In fact, please don't use this at all! You're better off getting In fact, please don't use this at all! You're better off getting
...@@ -143,13 +156,13 @@ full_duplex=N1,N2,N3... ...@@ -143,13 +156,13 @@ full_duplex=N1,N2,N3...
global_full_duplex=N1 global_full_duplex=N1
Sets full duplex mode for all 3c59x NICs in the machine. Entries 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... flow_ctrl=N1,N2,N3...
Use 802.3x MAC-layer flow control. The 3com cards only support the Use 802.3x MAC-layer flow control. The 3com cards only support the
PAUSE command, which means that they will stop sending packets for a PAUSE command, which means that they will stop sending packets for a
short period if they receive a PAUSE frame from the link partner. short period if they receive a PAUSE frame from the link partner.
The driver only allows flow control on a link which is operating in The driver only allows flow control on a link which is operating in
full duplex mode. full duplex mode.
...@@ -170,14 +183,14 @@ rx_copybreak=M ...@@ -170,14 +183,14 @@ rx_copybreak=M
This is a speed/space tradeoff. This is a speed/space tradeoff.
The value of rx_copybreak is used to decide when to make the copy. The value of rx_copybreak is used to decide when to make the copy.
If the packet size is less than rx_copybreak, the packet is copied. If the packet size is less than rx_copybreak, the packet is copied.
The default value for rx_copybreak is 200 bytes. The default value for rx_copybreak is 200 bytes.
max_interrupt_work=N max_interrupt_work=N
The driver's interrupt service routine can handle many receive and The driver's interrupt service routine can handle many receive and
transmit packets in a single invocation. It does this in a loop. transmit packets in a single invocation. It does this in a loop.
The value of max_interrupt_work governs how many times the interrupt The value of max_interrupt_work governs how many times the interrupt
service routine will loop. The default value is 32 loops. If this service routine will loop. The default value is 32 loops. If this
is exceeded the interrupt service routine gives up and generates a is exceeded the interrupt service routine gives up and generates a
...@@ -186,7 +199,7 @@ max_interrupt_work=N ...@@ -186,7 +199,7 @@ max_interrupt_work=N
hw_checksums=N1,N2,N3,... hw_checksums=N1,N2,N3,...
Recent 3com NICs are able to generate IPv4, TCP and UDP checksums Recent 3com NICs are able to generate IPv4, TCP and UDP checksums
in hardware. Linux has used the Rx checksumming for a long time. in hardware. Linux has used the Rx checksumming for a long time.
The "zero copy" patch which is planned for the 2.4 kernel series The "zero copy" patch which is planned for the 2.4 kernel series
allows you to make use of the NIC's DMA scatter/gather and transmit allows you to make use of the NIC's DMA scatter/gather and transmit
checksumming as well. checksumming as well.
...@@ -196,11 +209,11 @@ hw_checksums=N1,N2,N3,... ...@@ -196,11 +209,11 @@ hw_checksums=N1,N2,N3,...
This module parameter has been provided so you can override this This module parameter has been provided so you can override this
decision. If you think that Tx checksums are causing a problem, you 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 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 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 The driver drops a message in the logfiles to indicate whether or
not it is using hardware scatter/gather and hardware Tx checksums. not it is using hardware scatter/gather and hardware Tx checksums.
...@@ -210,8 +223,8 @@ hw_checksums=N1,N2,N3,... ...@@ -210,8 +223,8 @@ hw_checksums=N1,N2,N3,...
decrease in throughput for send(). There is no effect upon receive decrease in throughput for send(). There is no effect upon receive
efficiency. efficiency.
compaq_ioaddr=N compaq_ioaddr=N,
compaq_irq=N compaq_irq=N,
compaq_device_id=N compaq_device_id=N
"Variables to work-around the Compaq PCI BIOS32 problem".... "Variables to work-around the Compaq PCI BIOS32 problem"....
...@@ -219,7 +232,7 @@ compaq_device_id=N ...@@ -219,7 +232,7 @@ compaq_device_id=N
watchdog=N watchdog=N
Sets the time duration (in milliseconds) after which the kernel Sets the time duration (in milliseconds) after which the kernel
decides that the transmitter has become stuck and needs to be reset. decides that the transmitter has become stuck and needs to be reset.
This is mainly for debugging purposes, although it may be advantageous This is mainly for debugging purposes, although it may be advantageous
to increase this value on LANs which have very high collision rates. to increase this value on LANs which have very high collision rates.
The default value is 5000 (5.0 seconds). The default value is 5000 (5.0 seconds).
...@@ -227,7 +240,7 @@ watchdog=N ...@@ -227,7 +240,7 @@ watchdog=N
enable_wol=N1,N2,N3,... enable_wol=N1,N2,N3,...
Enable Wake-on-LAN support for the relevant interface. Donald 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. machines.
Also enables the NIC's power management support. Also enables the NIC's power management support.
...@@ -235,7 +248,7 @@ enable_wol=N1,N2,N3,... ...@@ -235,7 +248,7 @@ enable_wol=N1,N2,N3,...
global_enable_wol=N global_enable_wol=N
Sets enable_wol mode for all 3c59x NICs in the machine. Entries in 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 Media selection
--------------- ---------------
...@@ -325,12 +338,12 @@ Autonegotiation notes ...@@ -325,12 +338,12 @@ Autonegotiation notes
Cisco switches (Jeff Busch <jbusch@deja.com>) 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 interface FastEthernet0/N
description machinename description machinename
load-interval 30 load-interval 30
spanning-tree portfast spanning-tree portfast
If autonegotiation is a problem, you may need to specify "speed If autonegotiation is a problem, you may need to specify "speed
100" and "duplex full" as well (or "speed 10" and "duplex half"). 100" and "duplex full" as well (or "speed 10" and "duplex half").
...@@ -368,9 +381,9 @@ steps you should take: ...@@ -368,9 +381,9 @@ steps you should take:
But for most problems it is useful to provide the following: 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: it is initialised. For example:
eth0: 3Com PCI 3c905C Tornado at 0xa400, 00:50:da:6a:88:f0, IRQ 19 eth0: 3Com PCI 3c905C Tornado at 0xa400, 00:50:da:6a:88:f0, IRQ 19
...@@ -378,68 +391,68 @@ steps you should take: ...@@ -378,68 +391,68 @@ steps you should take:
MII transceiver found at address 24, status 782d. MII transceiver found at address 24, status 782d.
Enabling bus-master transmits and whole-frame receives. Enabling bus-master transmits and whole-frame receives.
NOTE: You must provide the `debug=2' modprobe option to generate NOTE: You must provide the ``debug=2`` modprobe option to generate
a full detection message. Please do this: a full detection message. Please do this::
modprobe 3c59x debug=2 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) 00:09.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 74)
Subsystem: 3Com Corporation: Unknown device 9200 Subsystem: 3Com Corporation: Unknown device 9200
Flags: bus master, medium devsel, latency 32, IRQ 19 Flags: bus master, medium devsel, latency 32, IRQ 19
I/O ports at a400 [size=128] I/O ports at a400 [size=128]
Memory at db000000 (32-bit, non-prefetchable) [size=128] Memory at db000000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at <unassigned> [disabled] [size=128K] Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] Power Management version 2 Capabilities: [dc] Power Management version 2
00: b7 10 00 92 07 00 10 02 74 00 00 02 08 20 00 00 00: b7 10 00 92 07 00 10 02 74 00 00 02 08 20 00 00
10: 01 a4 00 00 00 00 00 db 00 00 00 00 00 00 00 00 10: 01 a4 00 00 00 00 00 db 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 00 10 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 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? 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 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 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. If you're reporting direct to the maintainer then just send
it. it.
To ensure that all kernel logs are available, add the 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 kern.* /var/log/messages
Then restart syslogd with: Then restart syslogd with::
/etc/rc.d/init.d/syslog restart /etc/rc.d/init.d/syslog restart
(The above may vary, depending upon which Linux distribution you use). (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: following:
1) Increase the debug level. Usually this is done via: 1) Increase the debug level. Usually this is done via:
a) modprobe driver debug=7 a) modprobe driver debug=7
b) In /etc/modprobe.d/driver.conf: b) In /etc/modprobe.d/driver.conf:
options driver debug=7 options driver debug=7
2) Recreate the problem with the higher debug level, 2) Recreate the problem with the higher debug level,
send all logs to the maintainer. send all logs to the maintainer.
3) Download you card's diagnostic tool from Donald 3) Download you card's diagnostic tool from Donald
Becker's website <http://www.scyld.com/ethercard_diag.html>. Becker's website <http://www.scyld.com/ethercard_diag.html>.
Download mii-diag.c as well. Build these. Download mii-diag.c as well. Build these.
a) Run 'vortex-diag -aaee' and 'mii-diag -v' when the card is a) Run 'vortex-diag -aaee' and 'mii-diag -v' when the card is
working correctly. Save the output. working correctly. Save the output.
b) Run the above commands when the card is malfunctioning. Send b) Run the above commands when the card is malfunctioning. Send
both sets of output. both sets of output.
Finally, please be patient and be prepared to do some work. You may Finally, please be patient and be prepared to do some work. You may
end up working on this problem for a week or more as the maintainer end up working on this problem for a week or more as the maintainer
......
...@@ -28,6 +28,7 @@ Contents: ...@@ -28,6 +28,7 @@ Contents:
pensando/ionic pensando/ionic
stmicro/stmmac stmicro/stmmac
3com/3c509 3com/3c509
3com/vortex
.. only:: subproject and html .. only:: subproject and html
......
...@@ -147,7 +147,7 @@ Maintainers List ...@@ -147,7 +147,7 @@ Maintainers List
M: Steffen Klassert <klassert@kernel.org> M: Steffen Klassert <klassert@kernel.org>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Odd Fixes S: Odd Fixes
F: Documentation/networking/device_drivers/3com/vortex.txt F: Documentation/networking/device_drivers/3com/vortex.rst
F: drivers/net/ethernet/3com/3c59x.c F: drivers/net/ethernet/3com/3c59x.c
3CR990 NETWORK DRIVER 3CR990 NETWORK DRIVER
......
...@@ -1149,7 +1149,7 @@ static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq, ...@@ -1149,7 +1149,7 @@ static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq,
print_info = (vortex_debug > 1); print_info = (vortex_debug > 1);
if (print_info) if (print_info)
pr_info("See Documentation/networking/device_drivers/3com/vortex.txt\n"); pr_info("See Documentation/networking/device_drivers/3com/vortex.rst\n");
pr_info("%s: 3Com %s %s at %p.\n", pr_info("%s: 3Com %s %s at %p.\n",
print_name, print_name,
...@@ -1954,7 +1954,7 @@ vortex_error(struct net_device *dev, int status) ...@@ -1954,7 +1954,7 @@ vortex_error(struct net_device *dev, int status)
dev->name, tx_status); dev->name, tx_status);
if (tx_status == 0x82) { if (tx_status == 0x82) {
pr_err("Probably a duplex mismatch. See " pr_err("Probably a duplex mismatch. See "
"Documentation/networking/device_drivers/3com/vortex.txt\n"); "Documentation/networking/device_drivers/3com/vortex.rst\n");
} }
dump_tx_ring(dev); dump_tx_ring(dev);
} }
......
...@@ -76,7 +76,7 @@ config VORTEX ...@@ -76,7 +76,7 @@ config VORTEX
"Hurricane" (3c555/3cSOHO) PCI "Hurricane" (3c555/3cSOHO) PCI
If you have such a card, say Y here. More specific information is in If you have such a card, say Y here. More specific information is in
<file:Documentation/networking/device_drivers/3com/vortex.txt> and <file:Documentation/networking/device_drivers/3com/vortex.rst> and
in the comments at the beginning of in the comments at the beginning of
<file:drivers/net/ethernet/3com/3c59x.c>. <file:drivers/net/ethernet/3com/3c59x.c>.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment