Return to site

The Energy Conservatory Port Devices Driver

broken image


When you plug the device into your USB, Windows will look for the associated driver, if it cannot find this driver then you will be prompted to insert the driver disc that came with your device. Common USB Device errors are ‘ usb port not working ‘, ‘device descriptor request failed error' or ‘bugcodeusbdriver' issues. Michael Bleekemolen (born 2 October 1949 in Amsterdam, the Netherlands) is a former racing driver who raced for the RAM and ATS teams in Formula One. New!!: Amsterdam and Michael Bleekemolen See more » Middle Ages. In the history of Europe, the Middle Ages (or Medieval Period) lasted from the 5th to the 15th century.

  1. The Energy Conservatory Port Devices Drivers
  2. The Energy Conservatory Port Devices Driver
-->
The Energy Conservatory Port Devices driver

Bluetooth Radio Reset and Recovery is a technology in Windows 10, version 1803 and later that introduces a robust reset and recovery mechanism for Bluetooth radios. This mechanism enables Bluetooth radios to recover from hardware failures that lead to malfunction, loss of connectivity, or unresponsiveness to operational commands. The goal is to automatically recover the radio, making the user experience seamless and reducing the likelihood of requiring a system restart.

Bluetooth radio reset and recovery can be implemented with or without firmware dependencies. IHV or OEM partners can extend the software-based reset mechanisms available on all Windows PCs with supported device- or firmware-level reset mechanisms to increase the likelihood of successful recovery.

Important

This topic is for developers. If you are a customer experiencing bluetooth problems see Fix Bluetooth problems in Windows 10.

Bluetooth Reset and Recovery Scenarios

There are three broad categories of issues where Bluetooth Reset and Recovery is initiated:

  • Bus enumeration failures: The radio fails enumeration or re-enumeration by the underlying bus (for Bluetooth, this is typically USB or UART) as indicated by a visible failed state (yellow bang) in Device Manager, which may be symptomatic of underlying hardware errors.

  • Driver enumeration failures: The Bluetooth radio is in a failed state after successful enumeration by the underlying bus. This typically occurs when building up the driver stack for the radio, e.g. when a filter or function driver is installed on the Bluetooth radio device node (devnode). Failures could occur if a driver encounters an error during one or more start operations and as a result reports a PnP failure. An example of such an operation could be a firmware download to the device.

  • Non-enumeration failures: The device is not in a failed state but is otherwise non-operational as seen by the driver stack. These are failures outside of the enumeration pathway and could be general critical transport-specific failures or device-specific failures such as a catastrophic firmware error. The Bluetooth Reset and Recovery mechanisms described below are used in these cases.

Reset and Recovery Mechanisms

The Energy Conservatory Port Devices Drivers

While there are different approaches to recover from a failed state, Bluetooth uses a standardized ACPI-based recovery mechanism to attempt to restore the radio to a working state.

GUID_DEVICE_RESET_INTERFACE_STANDARD defines two levels of reset. Note that:

  • The reset mechanisms work only for internal devices so externally-pluggable Bluetooth radios such as dongles are not supported.

  • The reset mechanisms require support both in Windows (typically by the function driver stack) and the underlying firmware (typically in the ACPI BIOS) to actually perform the reset.

  • The actual reset mechanism is system-specific.

Reset LevelImplementation
Function-level device reset (FLDR)The reset operation is restricted to a specific device and is not visible to other devices. There is no re-enumeration. Function drivers must assume that the hardware has returned to its original state after the operation. Intermediary state is not preserved.
Platform-level device reset (PLDR)The reset operation affects a specific device and all other devices that are connected to it via the same power rail or reset line. The reset operation causes the device to be reported as missing from the bus and re-enumerated. This type of reset has the most impact on the system since all devices that share the resource go back to their original state.
  • To support FLDR there must be an __RST method defined within the _ADR namespace as detailed in ACPI firmware: Function-level reset.

  • To support PLDR there must be an _RST or _PR3 method defined within the _ADR namespace as detailed in ACPI firmware: Platform-level reset. Note that if a _PR3 method is used, ACPI uses the D3Cold power cycle mechanism to reset. This emulates removing power from the device and subsequently restoring it. If any other devices share the same power rail they will also be reset. If an _RST method is defined and referenced by a _PRR (PowerResource) then all devices that use that PowerResource will be affected.

    • Since PLDR works only for internal devices, it must be declared as such in ACPI. For USB devices, to specify a port that is internal (not user visible) and can be connected to an integrated device, set the _UPC.PortIsConnectable byte to 0xFF and the _PLD.UserVisible bit to 0.

    • If the _PR3 (D3Cold) mechanism is used for PLDR, ensure that scenarios like SystemWake and DeviceWake continue to work. Nominally, this means that there are appropriate power resources defined for D2, e.g. _PR2. The following table is a useful guide:

Power stateACPI resourceBehavior
D2_PR2Any power or clocks required for the class-defined reduced-functionality of this state.
D3 Hot (reqd.)_PR2The same resources as the next higher state that is supported (D2, D1, or D0).
D3cold_PR3Only the power or clocks required for the device to appear on its bus and respond to a bus-specific command.

Related links

Have you had difficulty using a USB to RS-232 adapter to connect your RS-232 device to a computer? If so, you are not alone. Our customers frequently encounter issues with these adapters. In this article, I'll briefly discuss the origin of these issues and provide you with some suggestions for successfully handling them.

The Evolution from RS-232 to USB

In the old days of personal computers, one of the primary connections available was the RS-232 serial port. Apart from the parallel port, it was the primary means to connect an external device. The connector was reduced from a 25-pin connector to a 9-pin connector, but RS-232 ports remained present on every computer for many years. Built-in RS-232 ports featured direct mapping to memory and worked at a high priority. Data practically flowed directly to and from the software that was accessing the serial port.

In 1996, the Universal Serial Bus (USB) standard was introduced as a replacement for the serial connector and other connector types that were typically found on the back of computers. The USB provided smaller connectors and more data throughput than the serial and parallel interfaces it replaced.

USB devices have high throughput, but they use a shared data bus. Data is wrapped up and transferred in packets. To handle the packets and move data in and out of the program accessing the USB device, a software driver is needed. The software driver sits between the hardware and the computer program you are using, and it must be installed and working correctly.

The Necessity of an Adapter

With the widespread adoption of USB, most computers sold now do not have an RS-232 port. Therefore, to connect an RS-232 device (such as a CR1000) to a computer, you need to use a USB to RS-232 adapter, such as the 17394 converter.

While USB to RS-232 adapters perform a necessary function, they do have some limitations. For example, there are three types of problems that you may encounter when using a USB to RS-232 adapter:

  • Driver issues
  • Hardware issues
  • Performance issues

Issue #1: Driver

Driver

The most common problem that our customers encounter with a USB to RS-232 adapter is getting the proper driver installed. The driver must correspond to the chip inside the cable—not to the manufacturer of the cable.

The Energy Conservatory Port Devices Driver

For USB to RS-232 chips, there are two primary manufacturers: Prolific and FTDI. Because off-brand chips with poor drivers are unreliable, Campbell Scientific recommends and currently sells a cable using an FTDI chip (part number 17394). We chose this cable because it uses a chip that has a certified driver available on Windows Update. (The older cables were silver in color and did not have a driver available for Windows beyond version 7.)

Tip: Test your USB adapters in the office with your field computer. When you are in the field, your computer won't have an Internet connection to automatically download and install the driver.

If the driver for your adapter is not automatically installed or cannot be installed from a CD, you will need to identify the chip in your cable and locate the driver on the Internet. Some manufacturers identify on their packaging which chip is used inside their cable. You can also identify a cable's chip from the Windows Device Manager by following these steps:

  1. In the Windows Device Manager, right-click your device from the list.
  2. In the drop-down menu that opens, select Properties.
  3. In the Properties dialog box, select the Details tab.
  4. In the Property field, select Hardware Ids from the drop-down menu.
  5. In the Value field, there is both a VID (Vendor ID) and a PID (Product ID). These IDs respectively indicate the manufacturer and the model number of the chip.
  6. In the example above, I did a quick Internet search for VID 0403 PID 6011, which revealed to me that the chip is an FT4232 manufactured by FTDI.
  7. After you know your chip type and manufacturer, you can locate and download the correct driver for your version of Windows.

Issue #2: Hardware

USB to RS-232 adapters are commodity pieces of computer equipment. As much as we all wish that everything was as reliable as the CR1000, all adapter cables eventually fail.

Although there are two primary companies that manufacture USB to RS-232 adapter chips, there are many cable manufacturers who offer varying levels of cable quality.

  • Higher-quality, industrial models should last longer, but they wear out over time—just like any field tool.
  • A poorly constructed cable could have components that fail in a short period of time—perhaps even by the time you receive the cable.

I have seen several cases where old cables could no longer handle 115200 baud, but the cables still worked on low baud rates. There have been many more cases where a USB cable stopped working half-way through a day in the field.

Tip: If your field site is far from your office, take two USB to RS-232 cables with you. Lost time in the field can be a lot more costly than the purchase price of a second cable.

Issue #3: Performance

As mentioned previously, USB uses a shared data bus with packetized communication. The packetized communication introduced some latency (data transfer time) that wasn't present with built-in RS-232 ports. Unfortunately, latency makes a noticeable difference when you download large amounts of data or upload a new operating system.

The Energy Conservatory Port Devices Driver

The driver for FTDI chips allows you to lower the latency time on packets. To do this, you can use the Latency Timer field, which is accessed through the Windows Device Manager. Follow these steps:

The Energy Conservatory Port Devices driver

Bluetooth Radio Reset and Recovery is a technology in Windows 10, version 1803 and later that introduces a robust reset and recovery mechanism for Bluetooth radios. This mechanism enables Bluetooth radios to recover from hardware failures that lead to malfunction, loss of connectivity, or unresponsiveness to operational commands. The goal is to automatically recover the radio, making the user experience seamless and reducing the likelihood of requiring a system restart.

Bluetooth radio reset and recovery can be implemented with or without firmware dependencies. IHV or OEM partners can extend the software-based reset mechanisms available on all Windows PCs with supported device- or firmware-level reset mechanisms to increase the likelihood of successful recovery.

Important

This topic is for developers. If you are a customer experiencing bluetooth problems see Fix Bluetooth problems in Windows 10.

Bluetooth Reset and Recovery Scenarios

There are three broad categories of issues where Bluetooth Reset and Recovery is initiated:

  • Bus enumeration failures: The radio fails enumeration or re-enumeration by the underlying bus (for Bluetooth, this is typically USB or UART) as indicated by a visible failed state (yellow bang) in Device Manager, which may be symptomatic of underlying hardware errors.

  • Driver enumeration failures: The Bluetooth radio is in a failed state after successful enumeration by the underlying bus. This typically occurs when building up the driver stack for the radio, e.g. when a filter or function driver is installed on the Bluetooth radio device node (devnode). Failures could occur if a driver encounters an error during one or more start operations and as a result reports a PnP failure. An example of such an operation could be a firmware download to the device.

  • Non-enumeration failures: The device is not in a failed state but is otherwise non-operational as seen by the driver stack. These are failures outside of the enumeration pathway and could be general critical transport-specific failures or device-specific failures such as a catastrophic firmware error. The Bluetooth Reset and Recovery mechanisms described below are used in these cases.

Reset and Recovery Mechanisms

The Energy Conservatory Port Devices Drivers

While there are different approaches to recover from a failed state, Bluetooth uses a standardized ACPI-based recovery mechanism to attempt to restore the radio to a working state.

GUID_DEVICE_RESET_INTERFACE_STANDARD defines two levels of reset. Note that:

  • The reset mechanisms work only for internal devices so externally-pluggable Bluetooth radios such as dongles are not supported.

  • The reset mechanisms require support both in Windows (typically by the function driver stack) and the underlying firmware (typically in the ACPI BIOS) to actually perform the reset.

  • The actual reset mechanism is system-specific.

Reset LevelImplementation
Function-level device reset (FLDR)The reset operation is restricted to a specific device and is not visible to other devices. There is no re-enumeration. Function drivers must assume that the hardware has returned to its original state after the operation. Intermediary state is not preserved.
Platform-level device reset (PLDR)The reset operation affects a specific device and all other devices that are connected to it via the same power rail or reset line. The reset operation causes the device to be reported as missing from the bus and re-enumerated. This type of reset has the most impact on the system since all devices that share the resource go back to their original state.
  • To support FLDR there must be an __RST method defined within the _ADR namespace as detailed in ACPI firmware: Function-level reset.

  • To support PLDR there must be an _RST or _PR3 method defined within the _ADR namespace as detailed in ACPI firmware: Platform-level reset. Note that if a _PR3 method is used, ACPI uses the D3Cold power cycle mechanism to reset. This emulates removing power from the device and subsequently restoring it. If any other devices share the same power rail they will also be reset. If an _RST method is defined and referenced by a _PRR (PowerResource) then all devices that use that PowerResource will be affected.

    • Since PLDR works only for internal devices, it must be declared as such in ACPI. For USB devices, to specify a port that is internal (not user visible) and can be connected to an integrated device, set the _UPC.PortIsConnectable byte to 0xFF and the _PLD.UserVisible bit to 0.

    • If the _PR3 (D3Cold) mechanism is used for PLDR, ensure that scenarios like SystemWake and DeviceWake continue to work. Nominally, this means that there are appropriate power resources defined for D2, e.g. _PR2. The following table is a useful guide:

Power stateACPI resourceBehavior
D2_PR2Any power or clocks required for the class-defined reduced-functionality of this state.
D3 Hot (reqd.)_PR2The same resources as the next higher state that is supported (D2, D1, or D0).
D3cold_PR3Only the power or clocks required for the device to appear on its bus and respond to a bus-specific command.

Related links

Have you had difficulty using a USB to RS-232 adapter to connect your RS-232 device to a computer? If so, you are not alone. Our customers frequently encounter issues with these adapters. In this article, I'll briefly discuss the origin of these issues and provide you with some suggestions for successfully handling them.

The Evolution from RS-232 to USB

In the old days of personal computers, one of the primary connections available was the RS-232 serial port. Apart from the parallel port, it was the primary means to connect an external device. The connector was reduced from a 25-pin connector to a 9-pin connector, but RS-232 ports remained present on every computer for many years. Built-in RS-232 ports featured direct mapping to memory and worked at a high priority. Data practically flowed directly to and from the software that was accessing the serial port.

In 1996, the Universal Serial Bus (USB) standard was introduced as a replacement for the serial connector and other connector types that were typically found on the back of computers. The USB provided smaller connectors and more data throughput than the serial and parallel interfaces it replaced.

USB devices have high throughput, but they use a shared data bus. Data is wrapped up and transferred in packets. To handle the packets and move data in and out of the program accessing the USB device, a software driver is needed. The software driver sits between the hardware and the computer program you are using, and it must be installed and working correctly.

The Necessity of an Adapter

With the widespread adoption of USB, most computers sold now do not have an RS-232 port. Therefore, to connect an RS-232 device (such as a CR1000) to a computer, you need to use a USB to RS-232 adapter, such as the 17394 converter.

While USB to RS-232 adapters perform a necessary function, they do have some limitations. For example, there are three types of problems that you may encounter when using a USB to RS-232 adapter:

  • Driver issues
  • Hardware issues
  • Performance issues

Issue #1: Driver

The most common problem that our customers encounter with a USB to RS-232 adapter is getting the proper driver installed. The driver must correspond to the chip inside the cable—not to the manufacturer of the cable.

For USB to RS-232 chips, there are two primary manufacturers: Prolific and FTDI. Because off-brand chips with poor drivers are unreliable, Campbell Scientific recommends and currently sells a cable using an FTDI chip (part number 17394). We chose this cable because it uses a chip that has a certified driver available on Windows Update. (The older cables were silver in color and did not have a driver available for Windows beyond version 7.)

Tip: Test your USB adapters in the office with your field computer. When you are in the field, your computer won't have an Internet connection to automatically download and install the driver.

If the driver for your adapter is not automatically installed or cannot be installed from a CD, you will need to identify the chip in your cable and locate the driver on the Internet. Some manufacturers identify on their packaging which chip is used inside their cable. You can also identify a cable's chip from the Windows Device Manager by following these steps:

  1. In the Windows Device Manager, right-click your device from the list.
  2. In the drop-down menu that opens, select Properties.
  3. In the Properties dialog box, select the Details tab.
  4. In the Property field, select Hardware Ids from the drop-down menu.
  5. In the Value field, there is both a VID (Vendor ID) and a PID (Product ID). These IDs respectively indicate the manufacturer and the model number of the chip.
  6. In the example above, I did a quick Internet search for VID 0403 PID 6011, which revealed to me that the chip is an FT4232 manufactured by FTDI.
  7. After you know your chip type and manufacturer, you can locate and download the correct driver for your version of Windows.

Issue #2: Hardware

USB to RS-232 adapters are commodity pieces of computer equipment. As much as we all wish that everything was as reliable as the CR1000, all adapter cables eventually fail.

Although there are two primary companies that manufacture USB to RS-232 adapter chips, there are many cable manufacturers who offer varying levels of cable quality.

  • Higher-quality, industrial models should last longer, but they wear out over time—just like any field tool.
  • A poorly constructed cable could have components that fail in a short period of time—perhaps even by the time you receive the cable.

I have seen several cases where old cables could no longer handle 115200 baud, but the cables still worked on low baud rates. There have been many more cases where a USB cable stopped working half-way through a day in the field.

Tip: If your field site is far from your office, take two USB to RS-232 cables with you. Lost time in the field can be a lot more costly than the purchase price of a second cable.

Issue #3: Performance

As mentioned previously, USB uses a shared data bus with packetized communication. The packetized communication introduced some latency (data transfer time) that wasn't present with built-in RS-232 ports. Unfortunately, latency makes a noticeable difference when you download large amounts of data or upload a new operating system.

The Energy Conservatory Port Devices Driver

The driver for FTDI chips allows you to lower the latency time on packets. To do this, you can use the Latency Timer field, which is accessed through the Windows Device Manager. Follow these steps:

  1. From the Windows Device Manager, right-click your device from the list.
  2. In the drop-down menu that opens, select Properties.
  3. Click the Port Settings tab.
  4. Click the Advanced… button.
  5. In the Advanced Settings window, navigate to the Latency Timer field, and reduce the setting to 1 for best performance.

In addition to lowering your latency time, I also recommend disabling the Selective Suspend option for your cable. The Selective Suspend option allows Windows to put your hardware to sleep, which can result in corrupt data packets. To disable the Selective Suspend option, clear the checkbox for the Enable Selective Suspend field on the Advanced Settings window for your device.

Note: The Selective Suspend option is already disabled by default in the FTDI driver.

Conclusion

Newer data logger designs, such as the CR6, feature a native USB connection. Many devices, however, will feature RS-232 connections for years to come, and we'll need to continue using USB to RS-232 adapter cables. I hope the suggestions I've provided help. Feel free to share any USB to RS-232 issues that you have encountered by posting a comment below.





broken image