xref: /freebsd-13-stable/share/man/man4/ndis.4 (revision b144e70a3325e033163aa4e6e15d0446e245702d)
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.Dd March 14, 2010
32.Dt NDIS 4
33.Os
34.Sh NAME
35.Nm ndis
36.Nd NDIS miniport driver wrapper
37.Sh SYNOPSIS
38.Cd "options NDISAPI"
39.Cd "device ndis"
40.Cd "device wlan"
41.Sh DESCRIPTION
42The
43.Nm
44driver is a wrapper designed to allow binary
45.Tn Windows\[rg]
46NDIS miniport
47network drivers to be used with
48.Fx .
49The
50.Nm
51driver is provided in source code form and must be combined with
52the
53.Tn Windows\[rg]
54driver supplied with your network adapter.
55The
56.Nm
57driver uses the
58.Nm ndisapi
59kernel subsystem to relocate and link the
60.Tn Windows\[rg]
61binary so
62that it can be used in conjunction with native code.
63The
64.Nm ndisapi
65subsystem provides an interface between the NDIS API and the
66.Fx
67networking infrastructure.
68The
69.Tn Windows\[rg]
70driver is essentially
71fooled into thinking it is running on
72.Tn Windows\[rg] .
73Note that this
74means the
75.Nm
76driver is only useful on x86 machines.
77.Pp
78To build a functional driver, the user must have a copy of the
79driver distribution media for his or her card.
80From this distribution,
81the user must extract two files: the
82.Pa .SYS
83file containing the driver
84binary code, and its companion
85.Pa .INF
86file, which contains the
87definitions for driver-specific registry keys and other installation
88data such as device identifiers.
89These two files can be converted
90into a kernel module file using the
91.Xr ndisgen 8
92utility.
93This file contains a binary image of the driver plus
94registry key data.
95When the
96.Nm
97driver loads, it will create
98.Xr sysctl 3
99nodes for each registry key extracted from the
100.Pa .INF
101file.
102.Pp
103The
104.Nm
105driver is designed to support mainly Ethernet and wireless
106network devices with PCI and USB bus attachments.
107(Cardbus devices are also supported as PCI.)
108It can
109support many different media types and speeds.
110One limitation
111however, is that there is no consistent way to learn if an
112Ethernet device is operating in full or half duplex mode.
113The NDIS API allows for a generic means for determining link
114state and speed, but not the duplex setting.
115There may be
116driver-specific registry keys to control the media setting
117which can be configured via the
118.Xr sysctl 8
119command.
120.Sh DEPRECATION NOTICE
121This driver is scheduled for removal prior to the release of
122.Fx 14.0
123.Sh DIAGNOSTICS
124.Bl -diag
125.It "ndis%d: watchdog timeout"
126A packet was queued for transmission and a transmit command was
127issued, however the device failed to acknowledge the transmission
128before a timeout expired.
129.El
130.Sh SEE ALSO
131.Xr altq 4 ,
132.Xr arp 4 ,
133.Xr netintro 4 ,
134.Xr ng_ether 4 ,
135.Xr ifconfig 8 ,
136.Xr ndis_events 8 ,
137.Xr ndiscvt 8 ,
138.Xr ndisgen 8 ,
139.Xr wpa_supplicant 8
140.Rs
141.%T "NDIS 5.1 specification"
142.%U http://www.microsoft.com
143.Re
144.Sh HISTORY
145The
146.Nm
147device driver first appeared in
148.Fx 5.3 .
149.Sh AUTHORS
150The
151.Nm
152driver was written by
153.An Bill Paul Aq Mt wpaul@windriver.com .
154