CP210x Windows 10 (32/64/arm), 8/8.1 (64/32), 7 (64/32) Driver v6.7.3 Release Notes
CP210x Windows Vista (64/32), and XP Driver v6.7 Release Notes
Copyright (C) 2014-2016 Silicon Laboratories Inc.

This release contains the following components:

* x64 directory
	* silabser.sys
* x86 directory
	* silabser.sys
* CP210xVCPInstaller_x86.exe (DPInst)
* CP210xVCPInstaller_x64.exe (DPInst)
* dpinst.xml (DPInst initialization file)
* ReleaseNotes.txt (this file)
* SLAB_License_Agreement_VCP_Windows.txt
* slabvcp.cat
* slabvcp.inf


Driver Installation
-------------------

	See Kit User's Guide for installation instructions.


Release Dates
-------------

	CP210x USB to UART Bridge Driver v6.7.3 - March 3, 2016
	CP210x USB to UART Bridge Driver v6.7.2 - November 23, 2015


Supported Operating Systems
---------------------------

	Windows 10 (64/32), 8/8.1 (64/32), 7 (64/32)
	(v6.7 supports Windows Vista (64/32), and XP)


CP210x Windows Driver Revision History
--------------------------------------

version 6.7.3

	New features/Enhancements
	-------------------------
	Down-rev the verison of KMDF the driver uses (CP210XFW-591. Use version of KMDF natively included on Windows release)
	Bug fix of blue-screen system crash (CP210XFW-575. driver tries to clear a Cancel Routine in a Request that doesn't have it.)

	
	version 6.7.2 (November 23, 2015)

	New features/Enhancements
	-------------------------
	Unified Windows 7, 8, 8.1 & 10 support (XP, Vista and Server 2003 available in version 6.7).
	ARM support added for Windows 10 and Windows 10 IoT Core.
	Silicon Labs-specific Serial Enumeration driver silabenm removed in favor of the Windows "in-box" serenm.
	UpperFilter Serial Enumeration driver not enabled by default
	Updated to latest Microsoft build tools
	Resolved /W4 compilation warnings
	Resolved code analysis warnings
	Added a registry value ControlHandShakeForcedSetBits that can force certain bits in the ControlHandShake variable to always be set.
	Add SAL-annotations to API header files.
	Bugfix an invalid memory access on device stop.
	Standardize branding Properties resources across all deliverables.
	Digitally sign all signable deliverables.
	Rewrote driver synchronization for data transmission paths.
	Resolve bugs arising from extended stress test.
	Added diagnostic variables to device extension.
	Bugfix a Write IRP stuck forever cauding bugcheck 9f-4 if call to USB returns with error.
	Bugfix "packetized write" timeout may fail to act. And improved debug prints.
	New reg value DisableS0Idle (default: 0) to replace EnablePowerManagewment (default: 0 which actually ment "enable"). Also, DisableS0Idle=1 now forces AllowIdleWhileOpen to 0.
	Driver ignores BreakOnEntry, DebugLevel and DebugFlag in registry.
	New CP2108 bug workarounds - GET_LINE_CTL byte swap and tx_empty().
	Fixed crash in read path.
	Simplified, commented and synchronized with NEWSTUFF EvtIoStop and EvtIoResume.
	Fixed memory leak on device removal when multiple devices are present.
	Bugfix Read IRP may never complete if other read IRPs are already waiting when it arrives.
	Add CP2102N part numbers. Hnadle new part numbers in WriteLatch()/ReadLatch().
	Resolve HCK INF warnings that became errors on HLK.
	Bugfix: Potential invalid memory access on device stop.
	Fixed possible memory overrun when writing CP2108 latch.
	Cumulative collection of improvements (due to code analysis, application of latest toolset, etc.) and bug fixes.

version 6.7.1 (June 29, 2015)

	New features/Enhancements
	-------------------------
	Added certification for Windows 10 Preview (Note: Windows 10 only; use v6.7 for Windows prior to Windows 10)

version 6.7 (Apr 11, 2014)

	Corrections
	-----------
	Added vendor-specific commands to the driver that do not affect normal operation with
	standard CP210x devices.
	Modified write behavior to packetize data as a work around for a rare USB 2.0 hub behavior
	seen only in Windows XP (x86).

version 6.6.1 (Oct 24, 2013)
	New features/Enhancements
	-------------------------
	Added certification for Windows 8.1

version 6.6.1
	New features/Enhancements
	-------------------------
	Added support for CP2108 devices

	Corrections
	-----------
	Corrected bug where OS would hang on repetition of many rapid open/closes on
	certain systems.

version 6.6
	New features/Enhancements
	-------------------------
	Moving installer format to DPInst
	Supported under Windows 8

	Corrections
	-----------
	Corrected bug in total write timeout calculation
	Corrected bug where EV_BREAK event could be misreported based on incoming data
	Corrected another BSOD corner case regarding write cancellation

version 6.5.3
	Corrections
	-----------
	Corrected BSOD corner case for a write cancellation

	Corrected memory leak that occurs when a device is plugged/unplugged rapidly enough to
	allow driver startup function to fail

version 6.5
	Corrections
	-----------
	Corrected BSOD corner case issue for handling control requests

	Corrected issue where USB 3.0 hubs would deliver data to the driver out of order

version 6.4
	Corrections
	-----------
	Corrected multiple BSOD issues by updating request handling for control requests to the USB
	device, and the write completion method

	Corrected device removal routine to also undo the COM port naming in the registry at removal time
	instead of when the device is closed after the removal.

version 6.3a
	Corrections
	-----------
	Updated to 3.2 DriverInstaller to correct a bug seen when updating from an old driver
	installer version	

version 6.3
	Corrections
	-----------
	Corrected a bug introduced in 6.2 which caused BSOD during surprise removal.
	
	Corrected a bug found in I/O cancellation corner case
	
	
version 6.2
	Corrections
	-----------
	Corrected return value for DeviceIoControl() and other COM API functions once the device is
	removed to properly show ERROR_ACCESS_DENIED (0x05) instead of ERROR_BAD_COMMAND in GetLastError()

	Corrected bug in DTR/RTS reporting latency seen if you set DTR/RTS and ask for it before the
	device has reported it to the host - now when it is written it reads back immediately

	Corrected several USB requests that were improperly defined as device requests when they are actually
	interface requests - this doesn't exhibit and bugs in current single interface devices but was changed
	to be complete and correct

	New features/Enhancements
	-------------------------
	Added support for CP2104 and CP2105 devices	

version 6.1
	Corrections
	-----------	
	Corrected a memory leak which could bog the system down after extended use of a contiuously
	opened COM port, and conditionally yield bluescreens on certain systems

	Corrected a problem where an IO reqest would sometimes return a busy status to
	user mode, instead the queue is restarted if necessary before adding an IO request
	to the queue

	Corrected a condition which would blue screen on cancelling write request that hasn't been
	fully sent out USB

	Corrected the Capabilites return value, which incorrectly reported that timeouts are not supported

	Corrected several Queue size return values, which affected behavior in the MSCOMM control
	
	Corrected DTR/RTS value on device insertion, visible when Serial Enumeration is disabled

	Corrected the ability to override Baud Rate and Line Control from the INF file

version 6.0
	Corrections
	-----------
	Corrected multiple blue screens and driver hangs related to race conditions in the driver
	Corrected problem where driver hangs when 4 or more devices are connected to a single
	transaction translator hub
	Corrected bugs that prohibited serial enumeration
	Corrected problem where IO requests were not completed/cancelled on a close
	Corrected problem with dialing out or PPP connections
	
	New features/Enhancements
	-------------------------
	Created IO queueing mechanism so that multiple reads, writes, etc. can be queued and
	waited on

version 5.4.29
	Corrections
	-----------
	Fixed a bug which causes GET_COMM_STATUS to take longer than expected (previously corrected
	in version 5.3)
	Corrected several conditions which cause blue screens
	Corrected bug in surprise removal which can cause a blue screen
	Corrected bug where TX_EMPTY wasn't being reported properly

	New features/Enhancements
	-------------------------
	Added Windows 7 to the general installer for XP/2003/Vista under KMDF 1.9
	Modified driver to support selective suspend in Vista/7
	Updated silabenm.sys to include latest changes from serenum in the WDK
	WHQL Certified for XP/2003/Vista(32/64)/7(32/64)

version 5.4.24
	Corrections
	-----------
	Fixed a bug which caused a random crash if a write took longer than normal to complete

	New features/Enhancements
	-------------------------
	WHQL Certified for XP/2000/2003/Vista(32/64)

version 5.4.23
	Corrections
	-----------
	Fixed a bug which caused a crash if the device is surprise removed during communication.
	Fixed a bug which incorrectly uses the TX_EMPTY flag.
	Fixed incorrect/incosistent status return values.
	Corrected the default software flow control values

version 5.4
	Corrections
	-----------
	Fixed bug where the first packet of data is dropped in Windows 2000.
	
	New features/Enhancements
	-------------------------
	Added support to keep all GPIO pin states and all baud rate and line control data if
	the device loses power during standby or hibernation.
	Updated to use the latest version 1.7 of KMDF

version 5.3
	Corrections
	-----------
	Corrected the IOCTL_SERIAL_SET_QUEUE_SIZE to allow expansion of the receive buffer.
	Modified driver to limit the device access only when necessary to improve performance.
	Corrected a case where read interval timeouts do not get started properly.

version 5.2.2
	Corrections
	-----------
	Fixed a bug that was causing random bluescreens after a device is opened and closed.

version 5.2.1
	Corrections
	-----------
	Fixed a bug caused by the previous fix for incomplete reads in Hyperterminal.
	Fixed a bug when using the Manufacturing DLL where no data comes back from the part for
	customization type settings in Vista 64.


version 5.2
	Corrections
	-----------
	Fixed a BAD_POOL_HEADER blue screen issue.
	Fixed a crash during surprise disconnect in HyperTerminal on Vista.
	Fixed a problem causing various incomplete reads, sometimes visible in HyperTerminal.
	
	New features/Enhancements
	-------------------------
	CP210xVCPInstaller.exe updated to v2.4.
	
	
version 5.1
	Corrections
	-----------
	Multiple devices can be used now with no problems.
	Driver now correctly works with the MSCOMM ActiveX control.


version 5.0
	New features/Enhancements
	-------------------------
	Driver has been updated to use the KMDF.
	Driver now includes a Serial Enumeration filter driver.
	WHQL Certified for XP/2000/2003/Vista(32/64).


version 4.40
	New features/Enhancements
	-------------------------
	Driver has been updated to include Vista (x86/x64) support.
	CP210xVCPInstaller.exe updated to v2.0.


version 4.38a
	New features/Enhancements
	-------------------------
	Driver version 4.38 is the same, however the installation procedure changed and a new
	installation utility has been provided.

	INF files have been changed to be independent of the installer, making reseller submissions
	easier.

	Windows 2K\XP\2003 now all have the same catalog file making the installation a single
	utility for all OS's.


version 4.38
	New features/Enhancements
	-------------------------
	Extended surprise removal support added to fix COM port hang.
	WHQL Certified for Windows XP and 2000.


Version 4.28a
	New features/Enhancements
	-------------------------
	WHQL Certified for Windows XP and 2000.


Version 4.28
	New features/Enhancements
	-------------------------
	Includes Preinstaller executable and with added preinstaller support in uninstaller
	executable and ini files.
	
	Corrections
	-----------
	Fixed driver lock condition caused by certain invalid port settings.

	Fixed Windows 98 PreInstaller issue.


Version 4.20

	New features/Enhancements
	-------------------------

	Changed driver binary file names from cyg_* to slab*.  Also changed 
	default inf file strings to SLAB and Silicon Laboratories.

	This installation includes catalog files for Windows 2000/XP Windows 
	Hardware Quality Lab (WHQL) Certification.

	
	Corrections
        -----------

	Modified behavior of SERIAL_EV_TXEMPTY event notification.  Applications 
	will no longer miss TXEMPTY events if a	write is pending during the 
	IOCTL_SERIAL_WAIT_ON_MASK control request.


Version 4.16

	New features/Enhancements
	-------------------------
	
	Corrections
        -----------

	Changed behavior for IOCTL_SERIAL_LSRMST_INSERT for correct modem 
	event insertion.


Version 4.09
	
	Initial Release


