Driver for the MCP2517FD and the MCP2518FD CAN Controllers (CAN 2.0B mode) ACAN2517FD: Driver for MCP2517FD and MCP2518FD CAN Controller (CAN FD mode) ACANT4: A Teensy 4.0 CAN / CANFD driver. AccelStepper: Allows Arduino boards to control a variety of stepper motors. My product driver displays the incorrect Media Type on OS X 10.8. What should I do? My product driver displays the incorrect Media Type on OS X 10.5.8. What should I do? 2-Sided Printing (Windows) or Two-Sided Printing Settings (Mac) is gray or not available for selection. What should I do? Dell combines x86 and x64 drivers in the same download. Many Dell drivers can be used on both platforms. Lenovo drivers will try to extract to their own, specified path, but that can be changed at runtime. Complete, downloaded driver packs can be between 300MB and 1,000MB in size, except for WinPE driver packs which are very small. OpenTX downloads OpenTX 2.3 branch. Latest OpenTX major version with added support for the FrSky X10 Express, X9D+ 2019, X-Lite S/Pro, X9 Lite and Jumper T12 radios, the new FrSky ACCESS system, and lots of new features including significant latency improvements with FrSky radios/modules.

Beagles are tiny computers ideal for learning and prototyping with electronics. Read the step-by-step getting started tutorial below to begin developing with your Beagle in minutes.

This step may or may not be necessary, depending on how old a software image you already have, but executing this, the longest, step will ensure the rest will go as smooth as possible.

Step #0.A: Download the latest software image

Download the lastest Debian image from The 'IoT' images provide more free disk space if you don't need to use a graphical user interface (GUI).

Note: Due to sizing necessities, this download may take 30 minutes or more.

Download Jason Watton Driver License

The Debian distribution is provied for the boards. The file you download will have an .img.xz extension. This is a compressed sector-by-sector image of the SD card.

Download Jason Watton Driver

Step #0.B: Install SD card programming utility

Download and install balenaEtcher.

Step #0.C: Connect SD card to your computer

Use your computer's SD slot or a USB adapter to connect the SD card to your computer.

Step #0.D: Write the image to your SD card

Use Etcher to write the image to your SD card. Etcher will transparently decompress the image on-the-fly before writing it to the SD card.

Step #0.E: Eject the SD card

Download Jason Watton Drivers

Eject the newly programmed SD card.

Step #0.F: Boot your board off of the SD card

Insert SD card into your (powered-down) board, hold down the USER/BOOT button (if using Black) and apply power, either by the USB cable or 5V adapter.

If using an original BeagleBone or PocketBeagle, you are done.

If using BeagleBone Black, BeagleBone Blue, BeagleBone AI or other board with on-board eMMC flash and you desire to write the image to your on-board eMMC, you'll need to follow the instructions at When the flashing is complete, all 4 USRx LEDs will be steady on or off. The latest Debian flasher images automatically power down the board upon completion. This can take up to 45 minutes. Power-down your board, remove the SD card and apply power again to finish.

If any step fails, it is recommended to update to the latest software image using the instructions above.

Power and boot

Most Beagles include a USB cable, providing a convenient way to provide both power to your Beagle and connectivity to your computer. If you provide your own, ensure it is of good quality.

Alternatively, your Beagle may have a barrel jack. The voltage should be 5V except for BeagleBoard-X15 and BeagleBone Blue which use 12V.

Note that BeagleBoard-X15 must always be powered by a 12V adapter with a barrel jack.

If you are using your Beagle with an SD (microSD) card, make sure it is inserted ahead of providing power. Most Beagles include programmed on-board flash and therefore do not require an SD card to be inserted.

You'll see the power (PWR or ON) LED lit steadily. Within a minute or so, you should see the other LEDs blinking in their default configurations. Consult the Quick Start Guide (QSG) or System Reference Manual (SRM) for your board to locate these LEDs.

  • USR0 is typically configured at boot to blink in a heartbeat pattern
  • USR1 is typically configured at boot to light during SD (microSD) card accesses
  • USR2 is typically configured at boot to light during CPU activity
  • USR3 is typically configured at boot to light during eMMC accesses
  • USR4/WIFI is typically configured at boot to light with WiFi (client) network association (BeagleBone Blue and BeagleBone AI only)

Enable a network connection

If connected via USB, a network adapter should show up on your computer. Your Beagle should be running a DHCP server that will provide your computer with an IP address of either or, depending on the type of USB network adapter supported by your computer's operating system. Your Beagle will reserve or for itself.

If your Beagle includes WiFi, an access point called 'BeagleBone-XXXX' where 'XXXX' varies between boards. The access point password defaults to 'BeagleBone'. Your Beagle should be running a DHCP server that will provide your computer with an IP address in the 192.168.8.x range and reserve for itself.

If your Beagle is connected to your local area network (LAN) via either Ethernet or WiFi, it will utilize mDNS to broadcast itself to your computer. If your computer supports mDNS, you should see your Beagle as beaglebone.local. Non-BeagleBone boards will utilize alternate names. Multiple BeagleBone boards on the same network will add a suffix such as beaglebone-2.local.

The below table summarizes the typical addresses and should dynamically update to indicate an active connection.

Note: You must 'load unsafe scripts' or load this page without HTTPS security for the automatic detection to work.

IP AddressConnection TypeOperating System(s)Status OS X, Linux
beaglebone.localallmDNS enabled
beaglebone-2.localallmDNS enabled

Browse to your Beagle

Using either Chrome or Firefox (Internet Explorer will NOT work), browse to the web server running on your board. It will load a presentation showing you the capabilities of the board. Use the arrow keys on your keyboard to navigate the presentation.

  • Click here to launch:
    Older software images require you to EJECT the BEAGLE_BONE drive to start the network. With the latest software image, that step is no longer required.


Do not use Internet Explorer.

Virtual machines are not recommended when using the direct USB connection. It is recommended you use only network connections to your board if you are using a virtual machine.

When using 'ssh' with the provided image, the username is 'debian' and the password is 'temppwd'.

With the latest images, it should no longer be necessary to install drivers for your operating system to give you network-over-USB access to your Beagle. In case you are running an older image, an older operating system or need additional drivers forserial access to older boards, links to the old drivers are below.

Operating SystemUSB DriversComments
Windows (64-bit)64-bit installer

If in doubt, try the 64-bit installer first.

  • Note #1: Windows Driver Certification warning may pop up two or three times. Click 'Ignore', 'Install' or 'Run'
  • Note #2: To check if you're running 32 or 64-bit Windows see this:
  • Note #3: On systems without the latest service release, you may get an error (0xc000007b). In that case, please install the following and retry:
  • Note #4: You may need to reboot Windows.
  • Note #5: These drivers have been tested to work up to Windows 10
Windows (32-bit)32-bit installer
Mac OS XNetwork
Install both sets of drivers.
Linuxmkudevrule.shDriver installation isn't required, but you might find a few udev rules helpful.

Note: Additional FTDI USB to serial/JTAG information and drivers are available from

Note: Additional USB to virtual Ethernet information and drivers are available from and

Visit for additional debugging tips.

Other currently available software images

Some of the starting images below involve multiple steps to produce an SD card image or otherwise change some of the steps above, so be sure to read all the instructions on their pages. Choose the starting point you want, download or produce the SD card image and follow the steps above.

At the time of release, not all of these distributions support BeagleBone Black, but should soon.

  • Texas Instruments releases: Android, Linux, StarterWare (no OS)
  • Linux: Debian, Angstrom Distribution, Ubuntu, ArchLinux, Gentoo, Sabayon, Buildroot, Erlang, Fedora
  • Other: QNX, FreeBSD

Hardware documentation

Time to read that manual and check out the design materials: BeagleBoard, BeagleBoard-xM, BeagleBoard-X15, BeagleBone, BeagleBone Black, BeagleBone Black Wireless, BeagleBone Blue, PocketBeagle, and BeagleBone AI.

Download Jason Watton Driverpack


Other links to design materials for various releases can be found at


For a complete list of books on BeagleBone,

Bad to the Bone

Perfect for high-school seniors or freshman univerisity level text, consider using 'Bad to the Bone'

BeagleBone Cookbook

A lighter treatment suitable for a bit broader audience without the backgrounders on programming and electronics, consider 'BeagleBone Cookbook'

Exploring BeagleBone and Embedded Linux Primer

To take things to the next level of detail, consider 'Exploring BeagleBone' which can be considered the missing software manual and utilize 'Embedded Linux Primer' as a companion textbook to provide a strong base on embedded Linux suitable for working with any hardware that will run Linux.

Last updated by default on Tue Sep 03 2019 14:12:20 GMT-0000 (UTC).

Drivers are a big part of getting Windows to work properly. Anyone who has ever had to troubleshoot a piece of hardware on Windows knows this. When generalizing an installation of Windows for capture with sysprep, all but the most basic drivers are removed. This makes the captured image applicable to many different types of hardware. During a task sequence, MDT runs a plug and play check, for hardware at a couple of different points to determine what drivers, if any, are needed. When a matching driver is found, it is injected into the image before it is applied to the computer’s hard drive. To do this, MDT has a folder/section in the deployment share that is dedicated to organizing and storing drivers. It is called “Out-of-Box-Drivers” (OOBD).

The basic INF files are what MDT needs for driver injection. Many drivers are distributed as packages, which come in the form of an executable. This is not what we need. If an executable is the only way a driver is available, it must be imported as an application into MDT, and installed via task sequence. Fortunately, OEMs like Dell, Lenovo, HP, and even Microsoft make bulk downloads of model-specific drivers available from their sites. Dell hardware drivers come in the form of a CAB file, which can be opened with the expand command, or with a compression/decompression utility like 7-zip.

Bulk-driver Download Sites for Dell, Lenovo, HP, and Microsoft (Surface)

I create a folder structure on the MDT server similar to “DriversWindows ##VendorModel.” For example: D:DriversWindows 7DellOptiPlex 990

I do not delineate between x86 and x64 versions of drivers in my folder path because nearly all of my OS deployments are 64-bit. Dell combines x86 and x64 drivers in the same download. Many Dell drivers can be used on both platforms. Lenovo drivers will try to extract to their own, specified path, but that can be changed at runtime. Complete, downloaded driver packs can be between 300MB and 1,000MB in size, except for WinPE driver packs which are very small.

Using the expand command, I’ll extract the drivers to my folder structure.

expand -f:* “D:DriversWindows 7DellOptiPlex 990”

The command prompt window will scroll really quickly and end with the prompt returning. Now, we can import them into MDT. MDT is able to handle drivers in different manners. The basic default option is to throw all drivers into the same folder at the root OOBD directory. With that, a deployment task will search the entire OOBD store for the right drivers. This increases the chance of the wrong driver being selected. WMI is great, but it is not perfect. Another option is to break down the OOBD store by manufacturer/vendor or by operating system version. Creating folders for Windows 7 and Windows 10, respectively can help minimize the chance of a wrong driver being installed. I take it one step further, actually a couple of steps further. I still use MDT’s WMI hardware-querying capabilities, but I tell it exactly where to look.

I create a specific folder structure under OOBD that matches a specific WMI query I pass on to the deployment task. For example, Windows 7: Out-of-box-driversWindows 7Dell Inc.OptiPlex 990

Download Jason Watton Driver Update

The bottom two folder tiers each correspond to variable in a WMI query, Make and Model. To find the make or manufacturer of an OEM PC, run the following command from a command prompt.

wmic computersystem get manufacturer

The returns for Dell and Lenovo are “Dell Inc.” and “Lenovo

To get the model, run the same command as above, but replace “manufacturer” with “model” Top that off with a folder for OS version and platform, and you have something to use. In the task sequence, a task variable can be inserted into the PreInstall phase, before the inject drivers step to tell the task sequence exactly where to look. The variable is “DriverGroup001”, and the value is “Windows 7 x64%Make%%Model%” This will allow a task sequence to correctly use a WMI query to find the drivers for the exact make and model being imaged.

The Inject Drivers step has its own settings that needs to be configured. For our purpose, the selection profile has to be set to “Nothing” with all drivers from the selection profile being used.

Selection profiles are the ultimate step toward driver control. They are a pre-defined selection of drivers that may encompass and individual model, or manufacturer. MDT ships with a few pre-defined selection profiles, but more can be created to suit any need. Given the exact control this approach provides, there is one detraction, it limits task versatility. Since a selection profile tells a task sequence exactly which drivers to use, MDT doesn’t query for them. The default setting for Inject Drivers is to query the entire OOBD store, but when “Nothing” is set, they querying is off. If it is desired that a task sequence only serve one or two makes of computers, this might be a good approach. I support about a dozen different models from two manufacturers, and I’d like my task sequences to be applicable to all.

I do use a selection profile to organize the drivers I use for my MDT Windows PE ISO/WIM files. Dell and Lenovo make drivers just for Windows PE available as a download too. I use the same approach as above to download, extract, and import the Windows PE drivers into MDT. Then, I create a selection profile for the Windows PE drivers and use that for my ISO/WIM file drivers.

To import drivers into OOBD, make your folders as desired, right-click the folder for the computer model, and choose “Import drivers.” A wizard will open, walking you through the process of importing the drivers from where they were extracted. It is real easy.

After the driver import, the deployment share must be updated. By default, MDT uses the all network and system drivers it has in the OOBD store for the Windows PE ISO/WIM file. This can be changed, as I described above, with a custom selection profile, but it is not mandatory. Still, note, that each time drivers are added and removed, the deployment share should be updated for those new drivers to be used. Some drivers are clearly depicted whether or not they are x86 or x64. In reality, many single drivers can be used on both platforms, but the descriptor files do not always indicate that to MDT. Thus, MDT will import the driver and override the specified platform. This is noted after all of the drivers have been imported for that operation.

I, personally, write down the name of each driver with a warning, and disable them after the wizard ends. Disabling/deleting a driver is easy, just right-click it in the MDT workbench and choose the appropriate option. Drivers must be disabled from their property sheet. Disabling a driver is a safe approach before it is determined that deletion is necessary. Only ever delete a driver from the MDT workbench. DO NOT go into the driver store via the file system and delete it that way.

Again, when disabling or deleting a driver, you must update the deployment share to take it out of Windows PE.

Finding, downloading, extracting, and importing drivers into MDT is a big part of MDT configuration, which takes a great deal of time. If it is done with forethought and planning, it can minimize the driver problems a deployment share might have, and need only be done once. I note the name and date of the driver files that I download and import into MDT. Then, I can periodically check for updates from the vendor’s web-sites. The older a model is with the manufacturer, the less-frequent they tend to update the drivers packs for that model. If the manufacturer does not make a driver pack available for your model, it is possible, though very tedious, to download each driver, and extract them individually. I try to avoid doing that.


Coments are closed
Scroll to top