Device Drivers

A board support package (BSP) indicates that it does not support a particular hardware feature by using the following BSP_NO* variables:

  • BSP_NOAUDIO
  • BSP_NODISPLAY
  • BSP_NOKEYBD
  • BSP_NOETHER
  • BSP_NOPARALLEL
  • BSP_NOSERIAL
  • BSP_NOPCMCIA
  • BSP_NOSIR
  • BSP_NOUSB
  • BSP_NOUSBSER

In the Platform Builder Catalog, component types are typically excluded from a project when a variable, such as BSP_NO*, is set. For example, the audio component is excluded from a project when BSP_NOAUDIO=1. An initial project integrated development environment (IDE), will not include an audio driver because the platform does not support audio. If later you select from the Catalog a driver, like Ensoniq ES1371, from this component type you override the BSP_NOAUDIO variable.

When you select from the Catalog device drivers that do not automatically have a Sysgen variable set, you must select a feature that automatically sets the Sysgen variable from the Core OS category to activate those device drivers. For example, if you selected the Ensoniq ES1371 driver, you also need to select the Waveform Audio feature in the Catalog under Core OS, Display based devices (or Headless devices), Multimedia Technologies, Multimedia Components, and then Audio to set SYSGEN_AUDIO.

The following table shows the Sysgen variables that correspond to Core OS features that you need to select in the Catalog to activate certain device drivers.

Sysgen variable Core OS feature Feature location in Catalog
SYSGEN_AUDIO Waveform Audio Display based devices or Headless devices, Multimedia Technologies, Multimedia Components, Audio
SYSGEN_DISPLAY Display Support Headless devices, Core OS Services
Note   This feature is automatically selected for display-based devices.
SYSGEN_MINGDI Minimal GDI Configuration Display based devices or Headless devices, Shell and User Interface, Graphics, Windowing and Events
SYSGEN_MININPUT Minimal Input Configuration Display based devices or Headless devices, Shell and User Interface, Graphics, Windowing and Events
SYSGEN_ETHERNET Wired Local Area Network (802.3, 802.5) Display based devices or Headless devices, Communication Services and Networking, Networking - Local Area Network (LAN)
SYSGEN_IRDA IrDA Display based devices or Headless devices, Communication Services and Networking, Networking - Personal Area Network (PAN)
SYSGEN_PARALLEL Parallel Port Support Display based devices or Headless devices, Core OS Services
SYSGEN_DEVICE Device Manager Headless devices, Core OS Services
SYSGEN_USB USB Host Support Display based devices or Headless devices, Core OS Services

The following table shows the device drivers that appear in the Platform Builder Catalog. The BSP variable column indicates the BSP_NO* variable, which acts as an exclude when set as a variable, as well as the variable that the IDE overrides, should you manually select the component from the Catalog. These components also indicate the Sysgen variable that you need to set to activate your device driver.

Device driver BSP variable Sysgen variable Description
Ensoniq ES1371 BSP_NOAUDIO=""

BSP_WAVEDEV_ES1371=1

Set SYSGEN_AUDIO The Ensoniq driver using the model device driver (MDD)/platform-dependent driver (PDD) model.
Ensoniq ES1371 (Unified) BSP_NOAUDIO=""

BSP_WAVEDEV_ENSONIQ=1

Set SYSGEN_AUDIO The Ensoniq driver using Unified Audio Model (UAM).
Geode/MediaGX Audio (Unified) BSP_NOAUDIO=""

BSP_WAVEDEV_GXUAMAUD=1

Set SYSGEN_AUDIO The audio driver for the National/GeodeGX microprocessor-native chip using UAM.
Geode/MediaGX Waveform Audio Device BSP_NOAUDIO="" Set SYSGEN_AUDIO The audio driver for the National Geode/MediaGX microprocessor-native chip.
TVIA 5000 Waveform Audio Device BSP_NOAUDIO=""

BSP_WAVEDEV_TVIA5000=1

Set SYSGEN_AUDIO The audio driver for the TVIA CyberPro 5050.
ATI (Victoria Card) BSP_NODISPLAY=""

BSP_DISPLAY_ATI=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver for the ATI Victoria Card with Microsoft® DirectDraw® support and hardware acceleration.
Geode/MediaGX BSP_NODISPLAY=""

BSP_DISPLAY_MEDIAGX=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver for the National Geode/MediaGX with DirectDraw support and no rotation support.
Geode/MediaGX (Rotation Support) BSP_NODISPLAY=""

BSP_DISPLAY_RMEDIAGX=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver for the National Geode MediaGX display driver with rotation support and no DirectDraw support.
MediaQ MQ200 BSP_NODISPLAY=""

BSP_DISPLAY_MQ200=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver for the MediaQ MQ200 with DirectDraw support.
Multiple-Monitor Support BSP_NODISPLAY="" Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

This adds multiple-monitor support to your driver.
NULL (Stub) BSP_NODISPLAY=""

BSP_DISPLAY_NOP=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver with stubbed functions.
Permedia3 BSP_DISPLAY_PERM3 Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The Permedia3 display driver for 3DLabs Oxygen VX1 video card with Microsoft Direct3D® support.
TVIA 5000 BSP_NODISPLAY=""

BSP_DISPLAY_TVIA5000

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The display driver for the TVIA CyberPro 5050 with DirectDraw support.
VGA Linear (Flat) Framebuffer BSP_NODISPLAY=""

BSP_DISPLAY_FLAT=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The generic display driver for any display card that is VESA BIOS 2.0-compliant.
VGA Linear (Flat) Framebuffer (Rotation Support) BSP_NODISPLAY=""

BSP_DISPLAY_RFLAT=1

Set SYSGEN_DISPLAY

Set SYSGEN_MINGDI for HLBASE (IABASE default)

The generic display driver with rotation for any display card that is VESA BIOS 2.0-compliant.
IEEE 1394 None SYSGEN_1394 The core shared components of the IEEE 1394 stack required for developing IEEE 1394 drivers on the platform.
Audio Video Control (AV/C) Protocol None SYSGEN_1394_AVC The standard shared components for the IEEE 1394 stack AV/C protocols, required for supporting any audio/video interfaces on the platform.
AV/C Streaming Filter Driver None SYSGEN_1394_AVC_STREAMING An optional filter driver that is needed by the IEEE 1394 AV/C VCR subunit and any virtual subunit drivers.
AV/C VCR Subunit Driver None SYSGEN_1394_AVC_VCR The sample driver for supporting, or serving as a client to, an IEEE 1394 AV/C VCR or Tape Recorder subunit on the 1394 bus.
AV/C VCR Virtual Subunit Driver None SYSGEN_1394_AVC_VCR_VIRTUAL A sample virtual driver for exporting an IEEE 1394 VCR subunit, for example, to emulate that functionality on the IEEE 1394 bus.
AV/C Virtual Subunit Core None SYSGEN_1394_AVC_VIRTUAL The core shared components for supporting AV/C virtual subunit devices on the platform. For example, this core component is necessary if there are eight virtual subunits on the platform.
Non-AV/C Web Camera Driver None SYSGEN_1394_DCAM A sample driver for supporting, or serving as a client to, an IEEE 1394 digital Web camera subunit on the 1394 bus.
Non-AV/C Web Camera Virtual Driver None SYSGEN_1394_DCAM_VIRTUAL A sample virtual driver for exporting an IEEE 1394 digital Web camera subunit, for example, to emulate the videoconferencing camera functionality on the IEEE 1394 bus.
Serial Bus Protocol 2 (SBP-2) None SYSGEN_1394_SBP2 The core shared components of the IEEE 1394 stack for supporting any computer peripheral type of 1394 devices.
SBP-2 Storage Driver None SYSGEN_1394_SBP2_SCSI A sample driver for supporting any IEEE 1394 SCSI block devices, for example, storage devices.
Test Tools - Diagnostics Driver None SYSGEN_1394_DIAG The IEEE 1394 Diagnostics driver that can be used to test the IEEE 1394 bus on the platform.
Test Tools - Diagnostics Virtual Driver None SYSGEN_1394_DIAG_VIRTUAL The IEEE 1394 Diagnostics driver that tests the IEEE 1394 bus on the platform, but as a virtual 1394 bus-level device.
Test Tools - Sample Application None SYSGEN_1394_TOOLS The IEEE 1394 sample tools for testing the IEEE 1394 bus.
8042 Keyboard/Mouse English BSP_NOKEYBD="" Set SYSGEN_MININPUT The English keyboard and mouse driver.
8042 Keyboard/Mouse Japanese1 (NEC layout) BSP_NOKEYBD=""

BSP_KEYBD_JPN1=1

Set SYSGEN_MININPUT The Japanese keyboard and mouse driver with the NEC layout.
8042 Keyboard/Mouse Japanese2 (IBM layout) BSP_NOKEYBD=""

BSP_KEYBD_JPN1=""

Set SYSGEN_MININPUT The Japanese keyboard and mouse driver with the IBM layout.
8042 Keyboard/Mouse Korean BSP_NOKEYBD="" Set SYSGEN_MININPUT The Korean keyboard and mouse driver.
NOP (Stub) Keyboard/Mouse English BSP_NOKEYBD=""

BSP_KEYBD_NOP=1

Set SYSGEN_MININPUT The stubbed English keyboard and mouse driver.
NOP (Stub) Keyboard/Mouse Japanese1 (NEC layout) BSP_NOKEYBD=""

BSP_KEYBD_JPN1=1

BSP_KEYBD_NOP=1

Set SYSGEN_MININPUT The stubbed Japanese keyboard and mouse driver with the NEC layout.
NOP (Stub) Keyboard/Mouse Japanese2 (IBM layout) BSP_NOKEYBD=""

BSP_KEYBD_JPN1=""

BSP_KEYBD_NOP=1

Set SYSGEN_MININPUT The stubbed Japanese keyboard and mouse driver with the IBM layout.
NOP (Stub) Keyboard/Mouse Korean BSP_NOKEYBD=""

BSP_KEYBD_NOP=1

Set SYSGEN_MININPUT The stubbed Korean keyboard and mouse driver.
Cisco 802.11b PC Card None SYSGEN_ETH_CISCO A sample Network Driver Interface Specification (NDIS) miniport driver to support the Cisco 802.11b wireless PC Card network adapter.
Intel DEC211x4 BSP_NOETHER=""

BSP_NIC_DC211X4=1

Set SYSGEN_ETHERNET The NDIS miniport driver for the Intel/DEC 2114x.
National Semiconductor DP83815 (MacPhyter) BSP_NOETHER=""

BSP_NIC_DP83815=1

Set SYSGEN_ETHERNET The NDIS miniport driver for the National DP83815.
NE2000 PC Card None None A sample NDIS miniport driver to support any NE2000-based PC Card network adapter.
NE2000-compatible BSP_NOETHER=""

BSP_NIC_NE2000_PCI=1

IMGNOETHER=""

Set SYSGEN_ETHERNET The NDIS miniport driver for the generic PCI NE2000.
NE2000-compatible (ISA card) BSP_NOETHER=""

BSP_NIC_NE2000_ISA=1

IMGNOETHER=""

Set SYSGEN_ETHERNET The NDIS miniport driver for the generic ISA NE2000.
RealTek RTL8139 BSP_NOETHER

BSP_NIC_RTL8139

Set SYSGEN_ETHERNET The NDIS miniport driver for the RealTek RTL8139.
rNDIS-compatible Ethernet adapters BSP_NOETHER=""

BSP_NORNDIS=""

IMGNOETHER=""

SYSGEN_ETH_USB_HOST The sample USB class driver to support Remote NDIS compatible Ethernet adapters.
SMS SMSC100FD BSP_NOETHER=""

BSP_NIC_SMSC100=1

Set SYSGEN_ETHERNET The NDIS miniport driver for the SMSC100.
Turbo 16/4 Token-Ring PC Card 2 None SYSGEN_TOKEN The PC Card driver for the Turbo 16/4 Token-Ring PC Card 2.
USB Remote NDIS Class Driver None SYSGEN_ETH_USB_HOST A sample USB class driver to support Remote NDIS compatible Ethernet adapters.
Xircom CE2 PC Card None SYSGEN_ETH_XIRCOM A sample NDIS miniport driver to support the Xircom CE2B PC Card network adapter.
Bluetooth with Integrated UART-Only Driver None SYSGEN_BTH_UART_ONLY A subset of Bluetooth with only universal asynchronous receiver-transmitter (UART) driver support.
Bluetooth with Integrated USB-Only Driver None SYSGEN_BTH_USB_ONLY A subset of Bluetooth with only USB driver support.
Bluetooth with Universal Loadable Drivers None SYSGEN_BTH A universal transport manager for Bluetooth. It is a layer that links to the HCI layer and manages Bluetooth devices connected to the host with different transports.

Bluetooth is a short-range wireless technology that makes data communication possible between devices and provides the capability for using a Bluetooth-enabled cellular phone as a data modem, exchanging information with other Bluetooth devices, and providing network access.

For more information, see Bluetooth Overview and Bluetooth Transport Layer Driver Samples.

Serial Infrared (SIR) BSP_NOSIR="" Set SYSGEN_IRDA This adds the infrared support to your driver.
Asyncmac NDIS Driver None SYSGEN_MODEM The NDIS miniport driver to support dial-up networking on the platform.
HD465 Parallel BSP_NOPARALLEL="" Set SYSGEN_PARALLEL The parallel port driver.
Parallel BSP_NOPARALLEL=""

CEPC_PARALLEL=1

Set SYSGEN_PARALLEL The parallel port driver.
PCI Bus BSP_NOPCIBUS="" Set SYSGEN_DEVICE for HLBASE (IABASE default) The bus driver for PCI devices and enumeration.
PCMCIA (i82365-compatible) BSP_NOPCMCIA=""

BSP_PCMCIA_I82365=1

Set SYSGEN_DEVICE for HLBASE (IABASE default) The PC Card driver for Intel 82365-compatible host controllers.
PCMCIA (TI1250) BSP_NOPCMCIA=""

BSP_PCMCIA_Tl1250=1

Set SYSGEN_DEVICE for HLBASE (IABASE default) The PC Card driver for TI 1250-compatible host controllers.
Printer Devices None SYSGEN_PRINTING The core components for enabling printing support on the platform.
PCL Printer Driver None SYSGEN_PCL A sample printer driver to support Printer Control Language (PCL)-compatible printers.
Com16550 BSP_NOSERIAL="" Set SYSGEN_DEVICE for HLBASE (IABASE default) The serial port driver for the 16550 UART (virtual COM1).
Com16550 (Second Instance) BSP_NOSERIAL=""

BSP_SERIAL2=1

Set SYSGEN_DEVICE for HLBASE (IABASE default) The serial port driver for the 16550 UART (virtual COM2).
Com16550 (Third Instance) BSP_NOSERIAL=""

BSP_SERIAL3=1

None The serial port driver for the 16550 UART (virtual COM3).
Com_Card BSP_NOSERIAL=""

BSP_NOCOMCARD=""

BSP_NOPCMCIA=""

Set SYSGEN_DEVICE for HLBASE (IABASE default) The combined serial port driver for a native 16550 UART and a PC Card 16550 UART.
Smart Card None SYSGEN_SMARTCARD The core components for enabling Smart Card support on the platform.
Bull Systems Smart TLP3 - Serial Smart Card Reader None SYSGEN_SMARTCARD_SERIAL A sample USB driver to support Bull Systems Smart TLP3 Serial Smart Card Reader.
SCM Microsystems SCR201 - PCMCIA Smart Card Reader None SYSGEN_SMARTCARD_PCMCIA A sample USB driver to support SCM Microsystems SCR 120 PC Card Smart Card Reader.
SCM Microsystems SCR300 - USB Smart Card Reader None SYSGEN_USB_SMARTCARD A sample USB driver to support SCM Microsystems SCR300 USB Smart Card Readers on the platform.
ATAPI PCI/IDE Storage Block Driver None SYSGEN_ATAPI A sample Advanced Technology Attachment (ATA) packet interface driver. IDE driver to support all IDE devices like hard disks, CD/DVD drives, PC Card ATA disks, and so on.
Compact Flash/PC Card Storage (ATADISK) None SYSGEN_ATADISK A sample ATADISK driver to only support PC Card ATA devices.
Secure Digital/Multimedia Card (SD/MMC) None SYSGEN_SDMMC A sample driver that supports only Secure Digital or Multimedia storage cards.
Netchip NET2890 USB Function (RNDIS Interface) BSP_NOUSBSER=""

BSP_RNDISMINI_NET2890=1

Set SYSGEN_ETHERNET The USB function driver for the Netchip NET2890. It exposes the RNDIS interface.
Netchip NET2890 USB Function (Serial Interface) BSP_NOUSBSER=""

IMG_NOUSBSER=""

Set SYSGEN_SERDEV The USB Function driver for the Netchip NET2890. It exposes the serial interface.
HD465 OHCI BSP_NOUSB=""

BSP_USB_OHCI=1

Set SYSGEN_USB The built-in driver for Hitachi HD64465 USB open host controller interface (OHCI).
OHCI BSP_NOUSB=""

BSP_USB_OHCI=1

Set SYSGEN_USB The generic OHCI host controller driver.
UHCI BSP_NOUSB=""

BSP_USB_UHCI=1

Set SYSGEN_USB The generic UHCI host controller driver.
Windows CE Test Kit IMG_WCETK=1 None The Microsoft Windows® CE .NET 4.2 Test Kit (CETK) is a testing tool that incorporates command line tests into a graphical user interface (GUI). The tests are designed to assist you in testing your device drivers for the Windows CE OS.

See Also

Driver Development | Board Support Packages | Catalog Features

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.