On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTKernel-32
RTFiles-32
RTIP-32
RTIP-32 Programming Manual
Introduction
TCP/IP Networking
Programming with RTIP-32
Initialization
Berkeley Socket API
RTIP-32 Native API
Winsock 1.1 Compatibility
Diagnostics and Callbacks
Device Drivers
Recompiling RTIP-32 Driver Source Files
Using Jumbo Ethernet Frames
Encrypted (SSL/TLS) Network Communication
Demo Programs
PPP
DHCP Client
DHCP Server
FTP Client
FTP Server
TFTP Client
TFTP Server
Telnet Client
Telnet Server
Web Server
SNMP Agent
POP3 Client
SMTP Client
SNTP Client
SMB Server
SMB Client
SMB3 Server
SMB3 Client
WLAN Driver
RTIP-32 Reference Manual
RTPEG-32
RTUSB-32
|
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 |
82551
82558
82559
82562
82801 |
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
i217
i218
i219
DH89XXCC
ICH8/9/10 |
PCI |
10/100/1000Mbs |
I8254X_DEVICE |
xn_bind_i8254x |
Intel |
82575
82576
82580
i210
i211
i350
i354 |
PCI |
10/100/1000Mbs |
I82575_DEVICE |
xn_bind_i82575 |
Intel |
i225 |
PCI |
100/1000/2500Mbs |
I225_DEVICE |
xn_bind_i255 |
Intel |
82598
82599
X540
X550 |
PCIe |
1000/10000Mbs |
I82599_DEVICE |
xn_bind_i82599 |
Intel |
EG20T |
PCI |
10/100/1000Mbs |
EG20T_DEVICE |
xn_bind_eg20t1 |
ROHM Semiconductor |
ML7223
ML7831 |
PCI |
10/100/1000Mbs |
EG20T_DEVICE |
xn_bind_eg20t |
RealTek |
8129
8139 |
PCI |
10/100Mbs |
R8139_DEVICE |
xn_bind_r8139 |
RealTek |
8168
8169
8100/1/2/3/4/5/6
8110
8111
8401 |
PCI |
10/100/1000Mbs |
R8168_DEVICE |
xn_bind_r8168 |
RealTek |
8139C+
8169
8169S
8110S
8168
8111
8101E |
PCI |
10/100/1000Mbs |
R8169_DEVICE |
xn_bind_r8169 |
D-Link |
DGE-528T |
PCI |
10/100/1000Mbs |
R8168_DEVICE |
xn_bind_r8168 |
TP-Link |
TG-3468 |
PCI |
10/100/1000Mbs |
R8169_DEVICE |
xn_bind_r8169 |
Corega |
CG-LAPCIGT |
PCI |
10/100/1000Mbs |
R8169_DEVICE |
xn_bind_r8169 |
Linksys |
EG1032 |
PCI |
10/100/1000Mbs |
R8169_DEVICE |
xn_bind_r8169 |
USRobotics |
997902 |
PCI |
10/100/1000Mbs |
R8169_DEVICE |
xn_bind_r8169 |
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 |
VIA Technologies |
VT6122
VT6130
VT6132 |
PCI |
10/100/1000Mbs |
VIAVELO_DEVICE |
xn_bind_viavelo |
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_ppp2 |
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 |
n/a |
USB CDC ECM |
USB |
10/100/1000Mbs |
CDCECM_DEVICE |
xn_bind_cdcecm4 |
acontis |
- |
Virtual |
- |
RTVMF_DEVICE |
xn_bind_rtvmf5 |
Real-Time Systems |
- |
Virtual |
- |
RTRTH_DEVICE |
xn_bind_rtrth6 |
- |
Loopback |
- |
- |
LOOP_DEVICE |
xn_bind_loop |
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 for ISA devices. 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
|