kernel/usb4bsd: Bring in the axge(4) ethernet driver.
[dragonfly.git] / share / man / man4 / ndis.4
1 .\" Copyright (c) 2003
2 .\"     Bill Paul <wpaul@windriver.com>. All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by Bill Paul.
15 .\" 4. Neither the name of the author nor the names of any co-contributors
16 .\"    may be used to endorse or promote products derived from this software
17 .\"   without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
23 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29 .\" THE POSSIBILITY OF SUCH DAMAGE.
30 .\"
31 .\" $FreeBSD: src/share/man/man4/ndis.4,v 1.5 2010/03/14 15:49:04 gavin Exp $
32 .\"
33 .Dd May 10, 2011
34 .Dt NDIS 4
35 .Os
36 .Sh NAME
37 .Nm ndis
38 .Nd NDIS miniport driver wrapper
39 .Sh SYNOPSIS
40 .Cd "options NDISAPI"
41 .Cd "device ndis"
42 .Cd "device wlan"
43 .Sh DESCRIPTION
44 The
45 .Nm
46 driver is a wrapper designed to allow binary
47 .Tn Windows\[rg]
48 NDIS miniport
49 network drivers to be used with
50 .Dx .
51 The
52 .Nm
53 driver is provided in source code form and must be combined with
54 the
55 .Tn Windows\[rg]
56 driver supplied with your network adapter.
57 The
58 .Nm
59 driver uses the
60 .Nm ndisapi
61 kernel subsystem to relocate and link the
62 .Tn Windows\[rg]
63 binary so
64 that it can be used in conjunction with native code.
65 The
66 .Nm ndisapi
67 subsystem provides an interface between the NDIS API and the
68 .Dx
69 networking infrastructure.
70 The
71 .Tn Windows\[rg]
72 driver is essentially
73 fooled into thinking it is running on
74 .Tn Windows\[rg] .
75 .\"Note that this
76 .\"means the
77 .\".Nm
78 .\"driver is only useful on x86 machines.
79 .Pp
80 To build a functional driver, the user must have a copy of the
81 driver distribution media for his or her card.
82 From this distribution,
83 the user must extract two files: the
84 .Pa .SYS
85 file containing the driver
86 binary code, and its companion
87 .Pa .INF
88 file, which contains the
89 definitions for driver-specific registry keys and other installation
90 data such as device identifiers.
91 These two files can be converted
92 into a kernel module file using the
93 .Xr ndisgen 8
94 utility.
95 This file contains a binary image of the driver plus
96 registry key data.
97 When the
98 .Nm
99 driver loads, it will create
100 .Xr sysctl 3
101 nodes for each registry key extracted from the
102 .Pa .INF
103 file.
104 .Pp
105 The
106 .Nm
107 driver is designed to support mainly Ethernet and wireless
108 network devices with PCI, PCMCIA and USB bus attachments.
109 (Cardbus
110 devices are also supported as a subset of PCI.)
111 It can
112 support many different media types and speeds.
113 One limitation
114 however, is that there is no consistent way to learn if an
115 Ethernet device is operating in full or half duplex mode.
116 The NDIS API allows for a generic means for determining link
117 state and speed, but not the duplex setting.
118 There may be
119 driver-specific registry keys to control the media setting
120 which can be configured via the
121 .Xr sysctl 8
122 command.
123 .\".Sh EXAMPLES
124 .\"Refer to the
125 .\".Sx EXAMPLES
126 .\"section of
127 .\".Xr wlan 4 .
128 .Sh DIAGNOSTICS
129 .Bl -diag
130 .It "ndis%d: watchdog timeout"
131 A packet was queued for transmission and a transmit command was
132 issued, however the device failed to acknowledge the transmission
133 before a timeout expired.
134 .El
135 .Sh SEE ALSO
136 .Xr altq 4 ,
137 .Xr arp 4 ,
138 .Xr ifmedia 4 ,
139 .Xr netintro 4 ,
140 .Xr ng_ether 4 ,
141 .Xr wlan 4 ,
142 .Xr ifconfig 8 ,
143 .Xr ndis_events 8 ,
144 .Xr ndiscvt 8 ,
145 .Xr ndisgen 8 ,
146 .Xr wpa_supplicant 8
147 .Rs
148 .%T "NDIS 5.1 specification"
149 .%O http://www.microsoft.com
150 .Re
151 .Sh HISTORY
152 The
153 .Nm
154 device driver first appeared in
155 .Fx 5.3 .
156 .Sh AUTHORS
157 The
158 .Nm
159 driver was written by
160 .An Bill Paul Aq Mt wpaul@windriver.com .