|| DOCUMENTS |
|| TUTORIALS |
Realtek 8139 based NIC installation
Juergen Keil and Mariusz Zynel
Realtek 8139 is one of the most popular chip on
today's NIC (Network Interface Card) market. There are many branded and
unbranded network cards based on that chip available at very reasonable prices.
Low prices combined with a wide range of supported platforms is the reason
of the popularity.
Realtek deserves a credit for delivering drivers for Solaris 7 and 8. The driver
also works with Solaris 9 (no longer available for download).
Another driver, written by Masayuki Murayama, is available with the source code
for download at http://homepage2.nifty.com/mrym3/taiyodo/eng/.
In this tutorial we shall give instructions to install Realtek driver. The
following combinations of network cards and driver versions have been tested:
Unzip the driver archive.
Run the installation script by typing:
Now, your Solaris kernel should include a driver, named rtls,
that can talk to your Realtek based network card, and the hardware
should be probed by the driver.
You can use the command
to verify that the hardware probe for the Realtek NIC was successful. Its output
should list a pciXXXX,YYYY device with a driver named rtls
bound to it:
pci, instance #0 (driver name: pci)
pci10ec,8139 (driver name: rtls)
The numbers "10ec,8139" may differ in your case depending on the vendor
and model of the network card you are using.
Once the Solaris driver has found the Realtek hardware, you can start
configuring the network interface. A step by step procedure can be found
in Configuring networking tutorial. There is also
a detailed guide
Configuring network interface cards.
For convenience, we shall give some brief instructions.
ifconfig rtls0 plumb
to setup a Solaris network interface for your Realtek card. Next step is to
assign an IP4 address and netmask to the Realtek interface with
ifconfig rtls0 inet 192.168.0.1 netmask 255.255.255.0 up
Adapt the 192.168.0.1 IP4 address and 255.255.255.0 netmask to your local
network requirements. Now the NIC should be up and running, and it should be
able to talk to another machine on the same network. To verify this
use ping command.
The above two ifconfig commands are just for temporary setting up
the card, the configuration is lost on a reboot. For a permanent configuration
of the NIC, create a file:
e.g. like this:
echo 192.168.0.1 > /etc/hostname.rtls0
With that file in place, the Realtek based NIC is configured automatically
during the Solaris boot. What is left is the name service and routing
configuration. for details, consult tutorials mentioned above.
Typical problem with Realtek based NIC is a non-working interrupt for the NIC,
so Realtek's driver is unable to "see" incomming packets. It manifests as a
lack of network connectivity. If you encounter such a problem try one
of the following:
If your BIOS has a "PNP OS" (Plug&Play OS) setting, disable it.
For use with Solaris, the BIOS should assign resources to all PCI
cards in the system, and it does this when "PnP OS" is set to NO
Solaris' ACPI support may have problems with your system's ACPI
tables. If your System's BIOS has an option to disable ACPI,
try it. Or use the following command from within Solaris to
disable ACPI (reboot after that):
The IOAPIC in some of the newer chipsets (VIA KT400, NVidia NForce2)
seems to cause problems for Solaris, resulting in non-working
interrupts. Try to disable the APIC in the system's BIOS, if
there is such an option. In case the file /var/adm/messages
contains "pcplusmp" and "ioapic" messages (to check that run
the following command)
egrep 'pcplusmp|apic' /var/adm/messages
you can also try to disable the IOAPIC by adding the following
line to /etc/system (reboot after that):
set pcplusmp:apic_forceload = -1
The BIOS setting "PNP OS" is called differently from one system
to another. For example, in HP Pavilion 8575c it is callled "Installed O/S",
and may assume one of the values: Win95, WinNT, Other. Setting it
to "Other" makes HP BIOS to assign IRQs to all PCI cards.
If you are switching from one Realtek based NIC to another one, use the
devfsadm -v -C -i rtls
to cleanup old device links and let the Realtek driver probe for new hardware.
Related man pages: