ndis(4)
NAME
ndis - NDIS miniport driver wrapper
SYNOPSIS
options NDISAPI device ndis device wlan
DESCRIPTION
- The ndis driver is a wrapper designed to allow binary Win
- dows(R) NDIS
miniport network drivers to be used with FreeBSD. The ndis - driver is
provided in source code form and must be combined with the - Windows(R)
driver supplied with your network adapter. The ndis driver - uses the
ndisapi(9) kernel subsystem to relocate and link the Win - dows(R) binary so
that it can be used in conjunction with native code. The - ndisapi(9) subsystem provides an interface between the NDIS API and the
- FreeBSD networking infrastructure. The Windows(R) driver is essential
- ly fooled into
thinking it is running on Windows(R). Note that this means - the ndis
driver is only useful on x86 machines. - To build a functional driver, the user must have a copy of
- the driver
distribution media for his or her card. From this distribu - tion, the user
must extract two files: the .SYS file containing the driver - binary code,
and its companion .INF file, which contains the definitions - for driverspecific registry keys and other installation data such as
- device identifiers. These two files can be converted into a
- ndis_driver_data.h file
using the ndiscvt(8) utility. This file contains a binary - image of the
driver plus registry key data. When the ndis driver loads, - it will create sysctl(3) nodes for each registry key extracted from the
- .INF file.
- The ndis driver is designed to support mainly Ethernet and
- wireless network devices with PCI and PCMCIA bus attachments. (Cardbus
- devices are
also supported as a subset of PCI.) It can support many - different media
types and speeds. One limitation however, is that there is - no consistent
way to learn if an Ethernet device is operating in full or - half duplex
mode. The NDIS API allows for a generic means for determin - ing link state
and speed, but not the duplex setting. There may be driver - specific registry keys to control the media setting which can be config
- ured via the
sysctl(8) command.
DIAGNOSTICS
- ndis%d: watchdog timeout A packet was queued for transmis
- sion and a
transmit command was issued, however the device failed to - acknowledge the
transmission before a timeout expired.
SEE ALSO
- arp(4), netintro(4), ng_ether(4), ifconfig(8), ndiscvt(8),
- ndisapi(9)
- NDIS 5.1 specification, http://www.microsoft.com.
HISTORY
The ndis device driver first appeared in FreeBSD 5.3.
AUTHORS
- The ndis driver was written by Bill Paul <wpaul@windriv
- er.com>.
- BSD December 10, 2003