Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
NDIS(4)		       FreeBSD Kernel Interfaces Manual		       NDIS(4)

     ndis -- NDIS miniport driver wrapper

     options NDISAPI
     device ndis
     device wlan

     The ndis driver is	a wrapper designed to allow binary Windows(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 kernel subsystem to relocate and link the Windows(R) binary so
     that it can be used in conjunction	with native code.  The ndisapi subsys-
     tem provides an interface between the NDIS	API and	the FreeBSD networking
     infrastructure.  The Windows(R) driver is essentially fooled into think-
     ing 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	distribution, the user
     must extract two files: the .SYS file containing the driver binary	code,
     and its companion .INF file, which	contains the definitions for driver-
     specific registry keys and	other installation data	such as	device identi-
     fiers.  These two files can be converted into a kernel module file	using
     the ndisgen(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 net-
     work devices with PCI and USB bus attachments.  (Cardbus devices are also
     supported as 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 determining	link state and speed, but not
     the duplex	setting.  There	may be driver-specific registry	keys to	con-
     trol the media setting which can be configured via	the sysctl(8) command.

     This driver is scheduled for removal prior	to the release of FreeBSD 14.0

     ndis%d: watchdog timeout  A packet	was queued for transmission and	a
     transmit command was issued, however the device failed to acknowledge the
     transmission before a timeout expired.

     altq(4), arp(4), netintro(4), ng_ether(4),	ifconfig(8), ndis_events(8),
     ndiscvt(8), ndisgen(8), wpa_supplicant(8)

     NDIS 5.1 specification,

     The ndis device driver first appeared in FreeBSD 5.3.

     The ndis driver was written by Bill Paul <>.

FreeBSD	13.0			March 14, 2010			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help