Stager Electron USB Devices Driver

  
  • August 22, 2019 2.9.8

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.8

    Released

    August 22, 2019

    Type

    ZIP

    Filesize

    3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 controller
    • Graphics card with 24 or 32 bit
    • Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Added several internal interfaces for particular sensors (J003).
  • January 25, 2019 2.9.6

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.6

    Released

    January 25, 2019

    Type

    ZIP

    Filesize

    3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 controller
    • Graphics card with 24 or 32 bit
    • Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Added missing Tonemapping Auto property.
  • May 4, 2018 2.9.5

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.5

    Released

    May 4, 2018

    Type

    ZIP

    Filesize

    3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 controller
    • Graphics card with 24 or 32 bit
    • Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Enabled tonemapping for 8bit video formats, e.g. Y800, RGB24 and RGB32.
  • November 21, 2017 2.9.4

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.4

    Released

    November 21, 2017

    Type

    ZIP

    Filesize

    3.2MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Repaired not working J003 mono sensor pattern fix on particular video formats.
    2. This driver version is the last that works in Windows XP.
  • January 9, 2017 2.9.3

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.3

    Released

    January 9, 2017

    Type

    ZIP

    Filesize

    3.2MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Added a pattern fix for J003 mono sensors.
  • January 9, 2017 2.9.1

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.9.1

    Released

    January 9, 2017

    Type

    ZIP

    Filesize

    3.2MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Fixed the driver signature Code 52 error on new Windows 10 v1607 systems.
  • January 15, 2016 2.8.9

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.8.9

    Released

    January 15, 2016

    Type

    ZIP

    Filesize

    2.3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Changed certificates so that the driver can also be installed in Vista.
  • November 9, 2015 2.8.7

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.8.7

    Released

    November 9, 2015

    Type

    ZIP

    Filesize

    2.3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Fixed an error which can appear when using sharpness on older CPUs.
  • October 20, 2015 2.8.5

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.8.5

    Released

    October 20, 2015

    Type

    ZIP

    Filesize

    2.3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Fixed a bug which can appear on LivePause call.
  • July 15, 2015 2.8.0

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.8.0

    Released

    July 15, 2015

    Type

    ZIP

    Filesize

    2.4MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Support of DFK ECU010-L34 with serial number property.
    2. Added tone mapping.
  • February 17, 2015 2.7.33

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.7.33

    Released

    February 17, 2015

    Type

    ZIP

    Filesize

    2.4MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. The Auto Focus Onepush Running flag now resets correctly after the auto focus has finished.
  • February 5, 2015 2.7.32

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.7.32

    Released

    February 5, 2015

    Type

    ZIP

    Filesize

    2.4MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Video format MJPG (2592x1944) of DFK AFU050-L34 camera can now be used.
  • January 14, 2015 2.7.31

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.7.31

    Released

    January 14, 2015

    Type

    ZIP

    Filesize

    2.3MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Support for IMX236 based cameras.
    2. Support for RGB64 color formats.
    3. Several performance improvements.
  • June 6, 2014 2.7.9.1152

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.7.9.1152

    Released

    June 6, 2014

    Type

    ZIP

    Filesize

    2.1MB

    Requirements

    • Intel Core i3 or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Added new properties: Brightness, sharpness, de-noise, saturation, hue and contrast.
    2. Added new property: Highlight reduction.
    3. Added new property: White balance temperature controls.
    4. Pixelfix for Y16 cameras now works as expected.
    5. VideoControl_ExternalTrigger (DirectShow property) can now be set as expected.
  • January 1, 2014 2.6.5.1014

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.6.5.1014

    Released

    January 1, 2014

    Type

    ZIP

    Filesize

    1.9MB

    Requirements

    • Intel Pentium IV or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. Fixed missing auto-gain for DFK AFU130.
    2. Fixed focus when start value is out of auto_focus_range.
    3. Fixed problem with AUTOFOCUS_ROI_RIGHT: minimum possibly wrong.
    4. Fixed auto focus ROI not working for 21*UC cameras.
    5. Fixed crash on load/connect with certain cameras 22/72xUC.
    6. Fixed previous exposure settings not being loaded on reconnect.
    7. Complete reworking of internal property system.
    8. Fixed Windows XP driver load crash.
    9. Fixed drop counter to be accessible from DirectShow.
    10. Fixed Windows 8 problem with certain video formats needing converters with standard DirectShow filters (e.g. Y800, capturing to an Y800 avi file was not possible).
    11. Fixed a problem with Windows 8 usbxhci driver not allowing transfers larger then 4 MB.
  • February 26, 2013 2.4.14.851

    Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.

    Version

    2.4.14.851

    Released

    February 26, 2013

    Type

    ZIP

    Filesize

    1.9MB

    Requirements

    • Intel Pentium IV or similar, 2 GB RAM
    • USB 3.0 or USB 2.0 controller (depends upon camera model)
    • Graphics card with 24 or 32 bit
    • Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit)
    • DirectX 9.0c or higher

    Changelog

    1. WHQL certification.

Step 3 The microscope driver will switch to 'USB2.0 UVC PC Camera'. Open the Amcap or other microscope software to use the microscope. Method 2: Uninstall the 'GL USB2.0 UVC Camera Device' driver in Device Manager Step 1 Open the Device Manager (search 'Device Manager' in Cortana or click 'Control Panel System and Security System). Stager VSpeed VS4800 programmer is EEPROM FLASH MCU PLD universal programmer, VSpeed VS4800 programmer is the upgrade products from G840 programmer, programming speed is much faste. Support 18000+ devices. Stager VSpeed VS4800 universal programmer Support 48PIN VS4800 programmer make erase, blank check, programming, comparison and encryption functions as one key.

These non-standardized USB devices require hardware vendors to write native drivers and SDKs in order for you (the developer) to take advantage of them. Sadly this native code has historically prevented these devices from being used by the Web. And that's one of the reasons the WebUSB API has been created: to provide a way to expose USB device.

Access USB Devices on the Web

If I said plainly and simply 'USB', there is a good chance that you will immediately think of keyboards, mice, audio, video, and storage devices. You're right but you'll find other kinds of Universal Serial Bus (USB) devices out there.

These non-standardized USB devices require hardware vendors to write native drivers and SDKs in order for you (the developer) to take advantage of them. Sadly this native code has historically prevented these devices from being used by the Web. And that's one of the reasons the WebUSB API has been created: to provide a way to expose USB device services to the Web. With this API, hardware manufacturers will be able to build cross-platform JavaScript SDKs for their devices. But most importantly this will make USB safer and easier to use by bringing it to the Web.

Let's see the behavior you could expect with the WebUSB API:

  1. Buy a USB device.
  2. Plug it into your computer. A notification appears right away, with the right website to go to for this device.
  3. Click the notification. The website is there and ready to use!
  4. Click to connect and a USB device chooser shows up in Chrome where you can pick your device.

Tada!

What would this procedure be like without the WebUSB API?

  1. Install a platform-specific application.
  2. If it's even supported on my operating system, verify that I've downloaded the right thing.
  3. Install the thing. If you're lucky, you'll get no scary OS prompts or popups warning you about installing drivers/applications from the internet. If you're unlucky, the installed drivers or applications malfunction and harm your computer. (Remember, the web is built to contain malfunctioning websites).
  4. If you only use the feature once, the code stays on your computer until you think to remove it. (On the Web, the space for unused is eventually reclaimed.)

Before I start #

This article assumes you have some basic knowledge of how USB works. If not, I recommend reading USB in a NutShell. For background information about USB, check out the official USB specifications.

The WebUSB API is available in Chrome 61.

Available for origin trials #

In order to get as much feedback as possible from developers using the WebUSB API in the field, we've previously added this feature in Chrome 54 and Chrome 57 as an origin trial.

Stager Electron Usb Devices Driver Adapter

The latest trial has successfully ended in September 2017.

Privacy and security #

HTTPS only #

Because of this feature's power, it only works on secure contexts. This means you'll need to build with TLS in mind.

User gesture required #

As a security precaution, navigator.usb.requestDevice() may only be called through a user gesture such as a touch or mouse click.

Feature Policy #

A feature policy is a mechanism that allows developers to selectively enable and disable various browser features and APIs. It can be defined via an HTTP header and/or an iframe 'allow' attribute.

You can define a feature policy that controls whether the usb attribute is exposed on the Navigator object, or in other words if you allow WebUSB.

Below is an example of a header policy where WebUSB is not allowed:

Below is another example of a container policy where USB is allowed:

Let's start coding #

Stager Electron USB Devices Driver

The WebUSB API relies heavily on JavaScript Promises. If you're not familiar with them, check out this great Promises tutorial. One more thing, () => {} are simply ECMAScript 2015 Arrow functions.

Get access to USB devices #

Stager Electron Usb Devices Driver Updater

You can either prompt the user to select a single connected USB device using navigator.usb.requestDevice() or call navigator.usb.getDevices() to get a list of all connected USB devices the origin has access to.

The navigator.usb.requestDevice() function takes a mandatory JavaScript object that defines filters. These filters are used to match any USB device with the given vendor (vendorId) and, optionally, product (productId) identifiers. The classCode, protocolCode, serialNumber, and subclassCode keys can also be defined there as well.

For instance, here's how to get access to a connected Arduino device configured to allow the origin.

Before you ask, I didn't magically come up with this 0x2341 hexadecimal number. I simply searched for the word 'Arduino' in this List of USB ID's.

The USB device returned in the fulfilled promise above has some basic, yet important information about the device such as the supported USB version, maximum packet size, vendor, and product IDs, the number of possible configurations the device can have. Basically it contains all fields in the device USB Descriptor.

By the way, if a USB device announces its support for WebUSB, as well as defining a landing page URL, Chrome will show a persistent notification when the USB device is plugged in. Clicking this notification will open the landing page.

From there, you can simply call navigator.usb.getDevices() and access your Arduino device as shown below.

Talk to an Arduino USB board #

Okay, now let's see how easy it is to communicate from a WebUSB compatible Arduino board over the USB port. Check out instructions at https://github.com/webusb/arduino to WebUSB-enable your sketches.

Don't worry, I'll cover all the WebUSB device methods mentioned below later in this article.

Please keep in mind that the WebUSB library I'm using here is just implementing one example protocol (based on the standard USB serial protocol) and that manufacturers can create any set and types of endpoints they wish. Control transfers are especially nice for small configuration commands as they get bus priority and have a well defined structure.

And here's the sketch that has been uploaded to the Arduino board.

The third-party WebUSB Arduino library used in the sample code above does basically two things:

  • The device acts as a WebUSB device enabling Chrome to read the landing page URL.
  • It exposes a WebUSB Serial API that you may use to override the default one.

Look at the JavaScript code again. Once I get the device picked by the user, device.open() runs all platform-specific steps to start a session with the USB device. Then, I have to select an available USB Configuration with device.selectConfiguration(). Remember that a configuration specifies how the device is powered, its maximum power consumption and its number of interfaces. Speaking of interfaces, I also need to request exclusive access with device.claimInterface() since data can only be transferred to an interface or associated endpoints when the interface is claimed. Finally calling device.controlTransferOut() is needed to set up the Arduino device with the appropriate commands to communicate through the WebUSB Serial API.

From there, device.transferIn() performs a bulk transfer onto the device to inform it that the host is ready to receive bulk data. Then, the promise is fulfilled with a result object containing a DataViewdata that has to be parsed appropriately.

If you're familiar with USB, all of this should look pretty familiar.

I want more #

The WebUSB API lets you interact with the all USB transfer/endpoint types:

  • CONTROL transfers, used to send or receive configuration or command parameters to a USB device, are handled with controlTransferIn(setup, length) and controlTransferOut(setup, data).
  • INTERRUPT transfers, used for a small amount of time sensitive data, are handled with the same methods as BULK transfers with transferIn(endpointNumber, length) and transferOut(endpointNumber, data).
  • ISOCHRONOUS transfers, used for streams of data like video and sound, are handled with isochronousTransferIn(endpointNumber, packetLengths) and isochronousTransferOut(endpointNumber, data, packetLengths).
  • BULK transfers, used to transfer a large amount of non-time-sensitive data in a reliable way, are handled with transferIn(endpointNumber, length) and transferOut(endpointNumber, data).

You may also want to have a look at Mike Tsao's WebLight project which provides a ground-up example of building a USB-controlled LED device designed for the WebUSB API (not using an Arduino here). You'll find hardware, software, and firmware.

Tips #

Debugging USB in Chrome is easier with the internal page chrome://device-log where you can see all USB device related events in one single place.

The internal page chrome://usb-internals also comes in handy and allows you to simulate connection and disconnection of virtual WebUSB devices. This is be useful for doing UI testing without for real hardware.

On most Linux systems, USB devices are mapped with read-only permissions by default. To allow Chrome to open a USB device, you will need to add a new udev rule. Create a file at /etc/udev/rules.d/50-yourdevicename.rules with the following content:

where [yourdevicevendor] is 2341 if your device is an Arduino for instance. ATTR{idProduct} can also be added for a more specific rule. Make sure your user is a member of the plugdev group. Then, just reconnect your device.

Microsoft OS 2.0 Descriptors used by the Arduino examples only work on Windows 8.1 and later. Without that Windows support still requires manual installation of an INF file.

Resources #

Stager Electron Usb Devices Driver Win 7

  • Stack Overflow: https://stackoverflow.com/questions/tagged/webusb
  • WebUSB API Spec: http://wicg.github.io/webusb/
  • Chrome Feature Status: https://www.chromestatus.com/feature/5651917954875392
  • Spec Issues: https://github.com/WICG/webusb/issues
  • Implementation Bugs: http://crbug.com?q=component:Blink>USB
  • WebUSB ❤ ️Arduino: https://github.com/webusb/arduino
  • IRC: #webusb on W3C's IRC
  • WICG Mailing list: https://lists.w3.org/Archives/Public/public-wicg/
  • WebLight project: https://github.com/sowbug/weblight

Please share your WebUSB demos with the #webusb hashtag.

Acknowledgements #

Stager Electron USB Devices Driver

Thanks to Joe Medley for reviewing this article.

Last updated: Improve article