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
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout