Device Drivers
RTIP-32 maintains a Device Table with points to device driver entrypoints and other device specific data. By default, the device table has only one slot for a single device. Use configuration value CFG_NIFACES to change the table's size. Other than hardware resources, RTIP-32 has no limit on the number of simultaneously opened devices.
Device drivers must be added to the device list at run time after xn_rtip_init has been called before the device can be opened with xn_interface_open_config, xn_interface_open, or xn_attach. For each supplied driver, a bind function is supplied which will add the corresponding driver to the device table. The bind functions accept an instance number as a parameter which is used to distinguish several instances of the same driver (e.g. two or more identical Ethernet cards in one computer). Each instance of the same driver must have incrementing instance numbers starting at 0.
The following drivers are available:
| Vendor |
Model |
Bus |
Speed |
Device Id |
Bind Function |
NS
RealTek |
NE2000
RTL8019 |
ISA |
10Mbs |
NE2000_DEVICE |
xn_bind_ne2000 |
| various |
NE2000
compatibles |
PCI |
10Mbs |
NE2000_PCI_DEVICE |
xn_bind_ne2000_pci |
| NS |
DP83815
DP83816 |
PCI |
10/100Mbs |
N83815_DEVICE |
xn_bind_n83815 |
| 3COM |
3C900B
3C905B
3C905C |
PCI |
10/100Mbs |
TC90X_DEVICE |
xn_bind_tc90x |
| SMC |
SMC91C90
SMC91C92
SMC91C94
SMC91C96
SMC91C100
SMC91C110
SMC91C111 |
ISA |
10/100Mbs |
SMC91C9X_DEVICE |
xn_bind_smc91c9x |
| AMD |
79C960
79C961
79C961A
79C965 |
ISA |
10Mbs |
LANCE_ISA_DEVICE |
xn_bind_lance_isa |
| AMD |
79C970 |
PCI |
10Mbs |
LANCE_DEVICE |
xn_bind_rtlance |
| AMD |
79C972
79C973
79C975 |
PCI |
10/100Mbs |
LANCE_DEVICE |
xn_bind_rtlance |
| Crystal |
CS8900
CS8920 |
ISA |
10Mbs |
LAN_CS89X0_DEVICE |
xn_bind_cs |
| Intel |
82558
82559
82562
82551 |
PCI |
10/100Mbs |
I82559_DEVICE |
xn_bind_i82559 |
| Intel |
82540/1/2/3/4/5/6/7
82567
82571/2/3/4/7/8/9
82583
80003
ICH8/9/10 |
PCI |
10/100/1000Mbs |
I8254X_DEVICE |
xn_bind_i8254x |
| Intel |
82575
82576
82580 |
PCI |
10/100/1000Mbs |
I82575_DEVICE |
xn_bind_i82575 |
| RealTek |
8129
8139 |
PCI |
10/100Mbs |
R8139_DEVICE |
xn_bind_r8139 |
| RealTek |
8168
8169
8101/2/3/4/5
8110
8111
8401 |
PCI |
10/100/1000Mbs |
R8168_DEVICE |
xn_bind_r8168 |
Davicom
STMicroelectronics
DEC/Intel |
DM9102A
STE10/100A
21x4x (Tulip) |
PCI |
10/100Mbs |
DAVICOM_DEVICE |
xn_bind_davicom |
| VIA Technologies |
VT6105L
VT8235
VT8237 |
PCI |
10/100Mbs |
RHINE_DEVICE |
xn_bind_rhine |
| RDC |
R6040 |
PCI |
10/100Mbs |
RDC6040_DEVICE |
xn_bind_rdc6040 |
| n/a |
n/a |
RS232 |
0.115Mbs |
SLIP_DEVICE |
xn_bind_slip |
| n/a |
n/a |
RS232 |
0.115Mbs |
CSLIP_DEVICE |
xn_bind_cslip |
| n/a |
n/a |
RS232 |
0.115Mbs |
PPP_DEVICE |
xn_bind_ppp1 |
Symbol
Intersil
Agere |
802.11b |
PCMCIA
CF-card |
11Mbs |
PRISM_DEVICE
PRISM_PCMCIA_DEVICE |
xn_bind_prism2
xn_bind_prism_pcmcia2 |
| ASIX |
AX88172 |
USB |
10/100Mbs |
AX172_DEVICE |
xn_bind_ax1723 |
| ASIX |
AX88772
AX88178 |
USB |
10/100Mbs
10/100/1000Mbs |
AX772_DEVICE |
xn_bind_ax7723 |
| acontis |
- |
Virtual |
- |
RTVMF_DEVICE |
xn_bind_rtvmf4 |
| Real-Time Systems |
- |
Virtual |
- |
RTRTH_DEVICE |
xn_bind_rtrth5 |
Function xn_interface_open_config and xn_interface_open are used to open a device after xn_rtip_init has been called. xn_interface_open_config supplies hardware resource information such as the IRQ and port I/O addresses to use. Many PCI devices are able to determine this information automatically. Function xn_attach is used to open a serial port device for PPP or CLIP connections.
For examples on initializing Ethernet devices, see the included Demo Programs.
Diagnostics and Callbacks
Recompiling RTIP-32 Driver Source Files
|