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