[Previous] [Contents] [Next]

Net.tulip

DEC 21x4x Ethernet Network Driver (QNX)

Syntax:

Net.tulip  [-A] [-B] [-H media_code]
           [-c chipset] [-d] [-F] [-I pci_index] 
           [-i irq] [-l log_net_id] [-M]
           [-m mac] [-n tx_num_retries] [-o] 
           [-P] [-p io_port] [-r media_rate] 
           [-s] [-t tx_retry_ticks] [-v] [-w wirespeed] [-Z] &

Options:

-A
Use AUI. Forces use of the AUI media block if it's present in the SROM. If it's not, the driver will default to media autodetection.
-p io_port
Use the given I/O port base, specified as a hexadecimal number without a leading 0x. This option overrides the default (0x300).
-B
Use BNC. Forces use of the BNC media block if it's present in the SROM. If it's not, the driver will default to media autodetection.
-H media_code
Specify media code as follows:
0
10bT
1
BNC
2
AUI
3
100bT
4
10bTFD
5
100bTFD
6
100bT4
7
100bFX
8
100bFXFD
9
MII

These settings will load the corresponding media block from the SROM, provided the block is present in the SROM. The card will operate only in the media specified. If the block isn't present, the driver will attempt autodetection of the media. Note that you can use the tdump program to check if the media block is present.

-c chipset
Specify the card's chipset: 21040, 21041, 21140, 21142, 21143.
-d
Disable RX errata code.
-F
Enable full-duplex operation.
-o
Use fiber media. Forces use of the fiber media block if it's present in the SROM. If it's not, the driver will default to media autodetection.
-i irq
Program the card to use the specified hardware interrupt. This option overrides the default autodetect. If the autodetect doesn't work on an ISA card, you have a hardware conflict.
-s
Use store/forward mode on transmission. This should be used on machines with bad PCI chipsets. It forces the complete copy of tx data to the tx FIFO before beginning transmission of the data. By default, the driver uses an adaptive technique in an attempt to gain performance. If it fails, store/forward mode will automatically be chosen.
-l log_net_id
("el") Connect to the specified logical network. The default is 1.
-M
Enable multicast mode. This enables receipt of all multicast packets. All packets with multicast destination addresses will be buffered.
-m mac
Specify MAC address. Use this option only if you know what you're doing!
-n tx_num_retries
After failing to transmit to a remote node, retry transmission no more than this number of times. The default is 7.
-P
Program the NIC for promiscuous rx mode. All packets will be buffered, regardless of the packet's destination address. The default is non-promiscuous mode.
-I pci_index
Specify PCI index. All PCI cards with the same PCI IDs have a PCI index number. This allows you to specify the card you want. Use in association with show_pci. You would use this option only if you have more than one tulip card in your system.
-r media_rate
Advertise the specified bit-transmission rate. The default is 100000000. This information is used by the Network Manager when multiple network drivers are running.
-w wirespeed
Force speed to be either 10bT or 100bT, regardless of link availability.
-t tx_retry_ticks
The number of 50-millisecond intervals between tx retries. The default is 6.
-v
Be verbose; print out hardware configuration info on the screen when starting up. You have these levels of verbosity:
-v
Level 1: PHY link up/down messages.
-vv
Level 2: almost everything.
-vvv
Level 3: allow debug output via netinfo -Lx.

The highest level of verbose output is used mainly as a debugging tool. For example, if you do a netinfo -L1 > 1, the regular output of netinfo will be directed to the file 1, and extra debugging information from the driver will appear on your screen.

-Z
Zap CSR values to default. This is for all those 21143 cards with "questionable" SROM values for the CSR registers. This forces the driver to override the SROM CSR values and use the defaults. Allows 10bT to work on some of the 21143 boards.
Note: The -Z option will override the SROM and insert default values -- this could either enable/disable your media.

Description:


Note: The Net.tulip driver should be treated as a completely new version of the Net.Ether21x4x driver and as such has a few known limitations (see release notes).

Net.tulip supports all cards currently supported via Net.Ether21x4x, including the following DEC chipsets: 21040, 21041, 21140, 21142/21143 and their various steppings.

SROM support has been added for all standard SROM formats from the early 21041 compact format through to the latest 4.05 format from Digital.

Note that this version of the driver can be identified via sin versions and should be reported as 4.24F or later.

PHY support

The Net.tulip driver uses the generic PHY support provided by the MDI interface in QNX. This includes specific support for the following PHYs (as well as generic support for all other PHY chips):

If Net.tulip gets the link speed wrong, disconnect a cable to cause a link down in a couple of seconds. Then reconnect the cable -- this should return you to the correct link (and force autonegotiation to occur again).

Net.tulip implements a link detection algorithm if no link is found. This can sometimes cause an incorrect link to be chosen between autonegotiation partners. Upon removal of a link, Net.tulip will then attempt to autonegotiate, getting the correct link this time round.


Caution: If a PHY is used and you specify link speed/duplex settings at the command line, the hardware will be configured to those settings -- the PHY will report a valid link even if there isn't one! In other words, when you force link speed/duplex settings, you disable the PHY's autodetection/negotiation features.

Examples:

Here are the main options you'd use for this driver:

Start two cards in a system, specifying a PCI index (1) and logical network ID (2) for the second card:

Net &                    
./Net.tulip -v &         
./Net.tulip -I1 -l2 -vv &

Start a 21140-based card using IRQ 10:

Net &                      
./Net.tulip -c 21140 -i10 &

Set different speeds for two cards:

Net &
./Net.tulip -w100 -v &         # 100bT
./Net.tulip -w10 -I1 -l2 -v &  # 10bT

Set media codes for two cards:

Net &
./Net.tulip -H0 -vv &          # 10bT
./Net.tulip -H6 -I1 -l2 -v &   # 100bT4

Exit status:

0
Successful completion.
>0
An error occurred.

Caveats:

If the Net.tulip driver prints the following message on startup:

Rx DMA Workaround in Effect

then your network card may suffer from a known receive-process-hang problem. In 99.9% of the cases, normal operation will remain totally unaffected and everything will be okay. However, on some machines with older PCI chipsets, Net.tulip performance can be severely degraded.

You can tell if your machine is affected by running the card under network load and monitoring the output from netinfo at the end. If you see the following message, you know you're affected:

tulip ( rx) Rx Overflow Errata, discarding pkts

The cause of the problem is PCI DMA overruns, which result in corrupt Rx data packets (which then must be discarded, causing Protocol timeouts).

Most of the chips in the DEC family 21140 through to 21143 are subject to this problem (newer chips to a much lesser degree). Contact Digital for more information.

See also:

Net, Net.*, netinfo

Installation & Configuration


[Previous] [Contents] [Next]