Device Driver Management

Document revision 1.5 (15-May-2003)
This document applies to the MikroTik RouterOS V2.7

Table of Contents

Summary

Device drivers represent the software interface part of installed network devices. Some drivers are included in the system software package and some in additional feature packages.

For complete list of supported devices and respective device driver names please consult the Related Documents section.

The device drivers for PCI, miniPCI, PC (PCMCIA) and CardBus cards are loaded automatically. Other network interface cards (most ISA and PCI ISDN cards) require the device drivers to be loaded manually using the /driver add command.

Users cannot add their own device drivers, only drivers included in the Mikrotik RouterOS software packages can be used. If you need a support for a device, which hasn't a driver yet, you are welcome to suggest it at suggestion page on our web site.

Specifications

Packages required : appropriate for particular device
License required : appropriate for particular device
Home menu level : /driver
Standards and Technologies : PCI, ISA, PCMCIA, miniPCI, CardBus
Hardware usage : not significant

Related Documents

Software Package Installation and Upgrading
License Management
Device Driver List

Loading Device Drivers

Submenu level : /driver

Description

The drivers for PCI (except the ISDN cards) and PCMCIA cards are loaded automatically at the system startup time. You can use the /driver print command to see which drivers are loaded:
[admin@MikroTik] > /driver print
Flags: I - invalid, D - dynamic
  #   DRIVER                                IRQ IO       MEMORY   ISDN-PROTOCOL
  0 D RealTek 8139
  1 D Atheros AR5211 PCI
  2 D VIA Rhine I/II Fast Ethernet

[admin@MikroTik] >
As we see, the driver for the Realtek PCI card has been loaded automatically as well as drivers for Atheros wireless adapter and VIA Rhine Fast Ethernet controller.

To see system resources occupied by the devices, use the /system resource io print and /system resource irq print commands.

If an installed device requires the driver to be loaded manually, use the /driver add command.

Property Description

io (integer) - input-output port base address
irq (integer) - interrupt request number
isdn-protocol (euro | german; default: euro) - line protocol for ISDN cards
memory (integer; default: 0) - shared memory base address
name (name) - driver name

Notes

Not all combinatios of irq and io might work on particular system. It is recommended, that you first find an acceptable irq setting and then try different i/o base addresses.

If hexadecimal values are used for the arguments, put 0x before the number

To see the list of available drivers, enter the /driver add name ? command

The resource list shows only those interfaces, which are enabled

Typical io values for ISA cards are 0x280, 0x300 and 0x320

Example

To view the list of available drivers, do the following:
[admin@MikroTik] driver> add name ?
Name of driver to load.
     3c509  3com 3c509 ISA
      c101  Moxa C101 ISA
  ne2k-isa  ISA NE2000
    pc-isa  Aironet ISAxx00
[admin@MikroTik] driver>
To see system resources occupied by the devices, use the /system resource io print and /system resource irq print commands:
[admin@MikroTik] system resource> irq print
Flags: U - unused
   IRQ OWNER
   1   keyboard
   2   APIC
 U 3
   4   sync1
   5   pc1
 U 6
 U 7
 U 8
 U 9
   10  ether2
   11  ether1
 U 12
   13  FPU
   14  IDE 1
[admin@MikroTik] system resource> io print
 PORT-RANGE        OWNER
 20-3F             APIC
 40-5F             timer
 60-6F             keyboard
 80-8F             DMA
 A0-BF             APIC
 C0-DF             DMA
 F0-FF             FPU
 1F0-1F7           IDE 1
 300-33F           pc1
 3C0-3DF           VGA
 3F6-3F6           IDE 1
 CF8-CFF           [PCI conf1]
 1000-100F         [Silicon Integrated Systems [SiS] 5513 [IDE]]
 1000-1007         IDE 1
 1008-100F         IDE 2
 6000-60FF         [Realtek Semiconductor Co., Ltd. RTL-8139]
 6000-60FF         [8139too]
 6100-61FF         [Realtek Semiconductor Co., Ltd. RTL-8139 (#2)]
 6100-61FF         [8139too]
[admin@MikroTik] system resource>
Suppose we need to load a driver for a NE2000 compatible ISA card. Assume we had considered the information above and have checked avalable resources in our system. To add the driver, we must do the following:
[admin@MikroTik] driver> add name=ne2k-isa io=0x280
[admin@MikroTik] driver> print
Flags: I - invalid, D - dynamic
  #   DRIVER                                IRQ IO       MEMORY   ISDN-PROTOCOL
  0 D RealTek 8139
  1 D Intel EtherExpressPro
  2 D PCI NE2000
  3   ISA NE2000                            280
  4   Moxa C101 Synchronous                              C8000
[admin@MikroTik] driver>

Removing Device Drivers

You can remove only statically loaded drivers, id est those which do not have D flag before the driver name. The device drivers can be removed only if the appropriate interface has been disabled.

Use the /driver remove command to remove device drivers. Unloading a device driver is useful when you swap or remove a network device - it saves system resources avoiding to load drivers for removed devices.

Device driver needs to be removed and loaded again, if some parameters (memory range, i/o base address) have been changed for the network interface card.

Notes on PCMCIA Adapters

Currently only the following PCMCIA-ISA and PCMCIA-PCI adapters are tested to comply with MikroTik RouterOS: Other PCMCIA-ISA and PCMCIA-PCI adapters might not function properly.

The Ricoh adapter might not work properly with some older motherboards. When recognized properly by the BIOS during the boot up of the router, it should be reported under the PCI device listing as "PCI/CardBus bridge". Try using another motherboard, if the adapter or the Prism card are not recognized properly.

Note that the maximum number of PCMCIA ports for a single system is equal to 8. If you will try to install 9 or more ports (no matter one-port or two-port adapters), no one will be recognized.

Troubleshooting


© Copyright 1999-2003, MikroTik