[Previous] [Contents] [Next]

Net.rtl

Realtek Semiconductor RTL8139A Ethernet network driver (QNX)

Syntax:

Net.rtl [-F] [-I pci_index] [-i irq] [-k] [-l log_net_id]
        [-M] [-m mac] [-P] [-p io_port] [-r media_rate]                                        
        [-s speed] [-v] &

Options:

-F
Force full-duplex mode. Only full-duplex media will be used with autodetection on. When combined with the -s speed option, can force exclusive use of 10bTFD or 100bTFD, regardless of whether or not a valid link is available.
Caution: Full-duplex mode on half-duplex links -- or vice versa -- can cause networking problems.

-I pci_index
Forces PCI detection of the driver to this pci_index. All PCI cards with the same PCI IDs have an index number that lets you specify the card you want. Use in association with show_pci. Normally, you would specify -I only if you have more than one Realtek card in your system.
-i irq
This lets you override the IRQ read back from PCI space with this number. This instance of the Realtek driver will attach its interrupt handler to this interrupt.
Caution: Don't force Net.rtl to attach to an incorrect interrupt number. Interrupts enabled from the card can cause spurious interrupts to another system driver.

-k
Force store/forward mode on transmission. Use this option 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") Specify the Logical Network ID for this instance of the driver. (Default: 1)
-M
Enable receipt of all multicast packets. All packets with multicast destination addresses will be buffered.
-m mac
Specify MAC address (i.e. override the address read from the card). Use this option only if you know what you're doing!
Caution: Think twice before specifying a MAC address -- your network may end up with multiple cards/nodes with the same physical address!

-P
Enable promiscuous rx mode. This allows the receipt of all packets on this network, which will affect driver performance. All packets will be buffered, regardless of the packet's destination address.
-p io_port
Select the Realtek board in your system with this io_port (I/O base address), specified as a hexadecimal number without a leading 0x, to be used for this instance of the driver.
Note: PCI dynamically assigns I/O base addresses -- your card may be at a different address the next time you reboot your machine.

-r media_rate
Allow the initial settings of media_rate (bit-transmission rate), which will be interpreted by Net at startup. The driver will override this value once a media_rate has been chosen, but Net will have already accepted this value at this point.
-s speed
Set the speed to 10bT or 100bT, regardless of whether or not a valid link is available.
Note: Make sure you've selected the correct speed. If not, you won't be able to talk to the network.

-v
Enable verbose output from the driver:
-v
Level 1 verbose messages (PHY Link up/down messages)
-vv
Level 2 verbose messages (almost everything)

Description:

Net.rtl offers support for any card currently based on the Realtek Semiconductor RTL8139A chip. The Realtek RTL8139A is a highly integrated single-chip fast Ethernet controller that provides 32-bit performance, PCI bus master capability, and full compliance with IEEE 802.3u 100BASE-T specifications.

This version of the driver can be identified by using sin ver -- it should be reported as 4.25F. Note also that the hardware is supported only in PCI I/O access mode on the PCI bus -- memory-mapping isn't supported at this time.

PHY support

The Net.rtl driver uses the generic PHY support provided by the MDI interface in QNX. This provides specific support for the following PHYs and generic support for all other PHY chips:

Vendor Device ID
National Semiconductor DP83840
National Semiconductor DP83843
Level One LXT9746
Quality Semiconductor QS6612
Integrated Circuit Systems ICS1890
Intel I82555
Davicom DM9101
MYSON MTD972

Wrong speed?

If Net.rtl gets the link speed wrong:

  1. Disconnect a cable. This will cause a Link Down in a couple of seconds.
  2. Reconnect the cable. This should return you to the correct link, forcing autonegotiation to reoccur.

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

If a PHY is used and link speeds with duplex is forced, these settings are always used and a good link will be reported regardless of whether or not a valid link is available!

Examples:

Start Net and Net.rtl drivers for two cards in a system:

Net &
Net.rtl -v &
Net.rtl -I1 -l2 -vv &

Set interrupts:

Net &
Net.rtl -i10 &

Set speed:

Net &
Net.rtl -s100 -v &               # 100bT
Net.rtl -s10 -I1 -l2 -v &        # 10bT

Note: Why verbose output? It can be useful as a debugging or informational aid. With only level 1 and 2 verbose modes, link state messages and some other output is produced. The highest level of verbose output is/was used as a debugging tool on releases.

Exit status:

0
Successful completion.
>0
An error occurred.

See also:

Net, Net.*, netinfo, netmap

Installation & Configuration


[Previous] [Contents] [Next]