Merge branch 'main' of https://github.com/Seal-Ammonia/Read-Sensor-Resistances
This commit is contained in:
commit
b1498cbde1
|
@ -0,0 +1,580 @@
|
||||||
|
RELEASE NOTES
|
||||||
|
=============
|
||||||
|
Silicon Labs Virtual COM Port (VCP) Universal Driver for Windows 10 version 1803 and later, windows 11
|
||||||
|
|
||||||
|
Package version: 11.2.0
|
||||||
|
Release date: 2022-10-21
|
||||||
|
|
||||||
|
This package contains a Virtual COM Port Universal driver for Microsoft
|
||||||
|
Windows 10 version 1803 and later, windows 11 versions of Windows for use with Silicon Labs VCP USB Serial Bridges. These devices
|
||||||
|
include the CP2102N, CP2102, CP2103, CP2104, CP2105, CP2108, CP2109.
|
||||||
|
|
||||||
|
OS VERSIONS
|
||||||
|
-----------
|
||||||
|
This package provides the CP210x VCP driver for the following versions
|
||||||
|
of Windows:
|
||||||
|
|
||||||
|
- Windows 10 version 1803 and later (x64, x86)
|
||||||
|
- Windows 11 (x64)
|
||||||
|
|
||||||
|
CHOOSING VCP DRIVER VERSION
|
||||||
|
---------------------------
|
||||||
|
VCP drivers of version 11.1.0 and later are released for Microsoft
|
||||||
|
Windows 10 version 1803 and later, windows 11 versions of Windows as Universal Drivers.
|
||||||
|
This means they do not work on older version of Windows
|
||||||
|
such as Window 7 and 8.1. You should use this driver if you only need
|
||||||
|
support for Windows 10 version 1803 and later, windows 11, or you need the Universal driver. If you require
|
||||||
|
support on older versions of Windows, you should use the legacy VCP driver
|
||||||
|
which can be found on the Silicon Labs web site. The legacy Windows VCP
|
||||||
|
drivers have version numbers less than 10.0.0.
|
||||||
|
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
The VCP driver package contains the following files and directories:
|
||||||
|
- silabser.inf -- Driver information file
|
||||||
|
- SLAB_License_Agreement_VCP_Windows.txt -- Software License
|
||||||
|
- CP210x_Universal_Windows_Driver_ReleaseNotes.txt -- this file
|
||||||
|
|
||||||
|
Additional files needed by installer
|
||||||
|
- silabser.cat
|
||||||
|
- x64/silabser.sys
|
||||||
|
- x86/silabser.sys
|
||||||
|
|
||||||
|
INSTALLING
|
||||||
|
----------
|
||||||
|
The VCP driver is automatically installed by Windows Update for CP210x with
|
||||||
|
alternate PID values of 0xEA63, 0xEA7A, and 0xEA7B. These are not default
|
||||||
|
values.
|
||||||
|
|
||||||
|
Otherwise, unzip the .zip file and you will have a directory containing the
|
||||||
|
driver installer files.
|
||||||
|
|
||||||
|
### Prompted install ###
|
||||||
|
|
||||||
|
If Windows prompts you to install a driver for a CP210x device
|
||||||
|
(for example, if you plug a CP210x into your computer):
|
||||||
|
|
||||||
|
1. Use the dialog to browse for the driver location
|
||||||
|
2. Locate the driver folder (that you previously unzipped)
|
||||||
|
3. Follow the instructions
|
||||||
|
|
||||||
|
### Manual install ###
|
||||||
|
|
||||||
|
1. Using Windows File Explorer, locate the driver folder
|
||||||
|
(that you previously unzipped)
|
||||||
|
2. Right click on the silabser.inf file and select Install
|
||||||
|
3. Follow the instructions
|
||||||
|
|
||||||
|
UNINSTALLING
|
||||||
|
------------
|
||||||
|
1. The device must be plugged in
|
||||||
|
2. Run Device Manager
|
||||||
|
3. Locate the device you want to uninstall
|
||||||
|
4. Right click on the device and choose "uninstall"
|
||||||
|
5. Follow the instructions
|
||||||
|
|
||||||
|
SETUP REGISTRY KEY
|
||||||
|
------------------
|
||||||
|
Registry keys are used for setting some parameters of the serial port
|
||||||
|
For setting these parameters, we have 2 ways:
|
||||||
|
- Modify registry value using registry editor of Windows
|
||||||
|
- Modify registry value using INF file
|
||||||
|
|
||||||
|
### Modify the registry key's value in Registry Editor ###
|
||||||
|
|
||||||
|
1. Open Command Prompt on windows => type command: regedit
|
||||||
|
2. Registry tree is displayed
|
||||||
|
3. Registry key is allocated at 3 position:
|
||||||
|
- Parameters keys: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\silabser
|
||||||
|
- Software keys: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<ClassID>\
|
||||||
|
- Hardware keys: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\deviceID\
|
||||||
|
4. Right-click each key => select modify => edit value for key
|
||||||
|
|
||||||
|
### Enable the registry key in driver's INF file ###
|
||||||
|
|
||||||
|
1. To enable the registry key, Please remove character ';' to uncomment the statement
|
||||||
|
2. Registry key is allocated at 3 position:
|
||||||
|
- Parameters keys: [silabser.AddService.AddReg] directives
|
||||||
|
- Software keys: [silabser.AddReg] directives
|
||||||
|
- Hardware keys: [SiLabsDDInstallSection.HW.AddReg] directives
|
||||||
|
|
||||||
|
SUPPORT
|
||||||
|
-------
|
||||||
|
For technical support please visit the Silicon Labs support site:
|
||||||
|
|
||||||
|
https://www.silabs.com/support
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 11.2.0 (2022-10-21)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-415 | Remove code paths for XP vs not XP which is used for
|
||||||
|
| UsingWindows2000.
|
||||||
|
MCUSW-416 | Improve debug statement readability by adding device specific
|
||||||
|
| information.
|
||||||
|
MCUSW-523 | add instruction how to setting up registry in .inf file.
|
||||||
|
MCUSW-532 | Fix Automatic handshaking on RTS/CTS, and driver buffers
|
||||||
|
| overran at high baud rate.
|
||||||
|
MCUSW-1285 | add DisableIoctlIOCTL_SERIAL_PURGE in .inf file to prevent data
|
||||||
|
| lost in close.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 11.1.0 (2022-03-21)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-803 | CP210x device needs to send Xoff to the other side device
|
||||||
|
| (FTDI for example) when Windows goes to sleep
|
||||||
|
MCUSW-1038 | Fix DFx problem on Windows 11
|
||||||
|
MCUSW-1039 | Do HLK DFx testing for Windows VCP driver version 11.1.0
|
||||||
|
MCUSW-1045 | Update file version and driver version for Windows VCP
|
||||||
|
| driver version 11.1.0
|
||||||
|
MCUSW-1047 | Make the Windows VCP driver pass SDV
|
||||||
|
MCUSW-1048 | Microsoft Windows Certified ("WHQL Certified") for Windows 11
|
||||||
|
| version 21H2
|
||||||
|
MCUSW-1049 | Using Dynamic api to make Windows VCP driver to be compatible
|
||||||
|
| with different versions of Windows (Mininum required is Windows
|
||||||
|
| 10 version 1803)
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 11.0.0 (2021-11-05)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-176 | Add report SERIAL_ERROR_QUEUEOVERRUN when driver-side receive
|
||||||
|
| buffer is overrun
|
||||||
|
MCUSW-889 | Fixed HLK Test error: Static Tools Logo Test
|
||||||
|
MCUSW-749 | Fixed issue that RTS is not set to high when Windows goes to
|
||||||
|
| sleep to make sure incoming data to CP210x won't be lost when
|
||||||
|
| Windows is in sleeping state
|
||||||
|
MCUSW-841 | Removed installer to make a standalone driver package. Users
|
||||||
|
| need to use INF file to install the driver instead
|
||||||
|
MCUSW-906 | Add Microsoft Windows Certified ("WHQL Certified") for Windows 11
|
||||||
|
| version 21H2
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.10 (2021-01-13)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-651 | Support baud rate up to 2187500 for CP2102, CP2104, CP2109
|
||||||
|
MCUSW-685 | Fixed the Blue Screen issue when running Windows Hardware Lab
|
||||||
|
| Kit for customized driver
|
||||||
|
MCUSW-783 | Microsoft Windows Certified (aka "WHQL Certified") for Windows
|
||||||
|
| 10 version 20H2 (2020-10-20)
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.9 (2020-07-30)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-566 | Remove sanity/error checking on IOCTL_SERIAL_SET_BAUD_RATE for
|
||||||
|
| CP2103 devices.
|
||||||
|
MCUSW-596 | Microsoft Windows Certified (aka "WHQL Certified") for Windows
|
||||||
|
| 10 version 2004 (2020-05-27)
|
||||||
|
MCUSW-619 | Support for Directed PoFx (DFx - Directed Power Management
|
||||||
|
| Framework).
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.8 (2019-06-24 (DriverVer = 06/20/2019,10.1.8.2466))
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-412 | Certified for Windows 10 RS6.
|
||||||
|
MCUSW-484 | WDFVERIFY() added to the driver. Configurable via Registry.
|
||||||
|
MCUSW-493 | Improved the tagging/tracking and parent-hierarchy of framework
|
||||||
|
| objects and framework object reference counts.
|
||||||
|
MCUSW-495 | Clear RTS on CloseHandle().
|
||||||
|
MCUSW-508 | IOCTL_SERIAL_GET_COMMSTATUS refactored to reduce USB-bus
|
||||||
|
| bandwidth, while still offering timely reporting.
|
||||||
|
MCUSW-518 | WDFVerifier parameter ForceLogsInMiniDump Registry parameter
|
||||||
|
| added for improved supportability.
|
||||||
|
MCUSW-519 | Resolve an SDV-identified issue: do not double-complete a
|
||||||
|
| Request on error paths.
|
||||||
|
MCUSW-526 | Creates the framework USB device object with client contract
|
||||||
|
| version USBD_CLIENT_CONTRACT_VERSION_602/0x602 (I.e. Register
|
||||||
|
| with "new" (to Windows 8) Windows USB driver stack).
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.7 (2019-03-26 (DriverVer = 03/26/2019,10.1.7.2399))
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-473 | Fix length of nul-terminated legacy Dos Name string written to
|
||||||
|
| HARDWARE\DEVICEMAP\SERIALCOMM Registry key.
|
||||||
|
MCUSW-483 | Fixed bug for Max Baud rate for CP2101, CP2104, CP2105 and
|
||||||
|
| CP2108 devices.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.6 (2019-03-19 (DriverVer = 03/15/2019,10.1.6.2388))
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-445 | Fix a blue-screen system crash bug with handling of ioctl
|
||||||
|
| IOCTL_SERIAL_WAIT_ON_MASK during power state changes.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.5 (2019-02-19 (DriverVer = 02/19/2019,10.1.5.2368))
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-414 | Implement an undocumented Registry-configured feature to ignore
|
||||||
|
| IOCTL_SERIAL_PURGE.
|
||||||
|
MCUSW-417 | Read many of the Registry "parameter"-type settings first from
|
||||||
|
| the "parameters key" and then from the "hardware key", with the
|
||||||
|
| "hardware key" taking precedence (allows "driver wide, all
|
||||||
|
| devices" setting, but provides the capability to specify per-
|
||||||
|
| device settings (before we only supported per-device
|
||||||
|
| settings)).
|
||||||
|
|
|
||||||
|
MCUSW-439 | Fixed a bug whereby Close()-Open() on a CP2102N could get USB
|
||||||
|
| data toggle confused (I.e. issue USB CLEAR_FEATURE(HALT) to
|
||||||
|
| bulk endpoints to reset data toggle back to DATA0).
|
||||||
|
MCUSW-449 | Fix a Max Baud Rate bug (use device-specific MaxBauds (from the
|
||||||
|
| data-sheets): 3 Mbaud for CP2102N, 1 Mbaud for all other CP210x
|
||||||
|
| devices.).
|
||||||
|
MCUSW-450 | Fix Verification BSOD (race condition in the VCP device driver
|
||||||
|
| that can cause double completions): Only call
|
||||||
|
| DetachForCompletionUNcancelable on success of UNmark as
|
||||||
|
| cancelable in handling of IOCTL_SERIAL_WAIT_ON_MASK-related
|
||||||
|
| requests.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.4 (2018-12-07 (DriverVer = 11/26/2018,10.1.4.2290))
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-134 | Fixed an issue with handling of IOCTL_SERIAL_SET_WAIT_MASK,
|
||||||
|
| IOCTL_SERIAL_WAIT_ON_MASK, with the SERIAL_EV_RXCHAR event and
|
||||||
|
| data arriving from the device into the driver. Previously, an
|
||||||
|
| indication of arriving data was made before making the data
|
||||||
|
| available, causing, in some conditions, subsequent requests for
|
||||||
|
| data after notification of data available to not deliver any
|
||||||
|
| data.
|
||||||
|
MCUSW-144 | Onecore-based editions of Windows 10 (I.e. Windows 10 IoT Core)
|
||||||
|
| do not, by design, create PortName entries in the Registry to
|
||||||
|
| specify the device's legacy DOS name (I.e. COM<n).
|
||||||
|
| Consequently, VCP enhanced to not treat this as a failing
|
||||||
|
| condition and to continue without creating legacy COM<n> DOS
|
||||||
|
| devices.
|
||||||
|
MCUSW-148 | Rearchitected into two VCP driver packages:
|
||||||
|
| 1) Windows 7 and later Desktop Editions x86 and x64 driver
|
||||||
|
| package, and
|
||||||
|
| 2) Windows Universal (10 and later; Desktop, tablet, mobile,
|
||||||
|
| embedded) x86, x64, ARM, ARM64 driver package.
|
||||||
|
MCUSW-214 | Windows 10 Universal driver release (I.e. no Windows 7, 8 or
|
||||||
|
| 8.1 support)
|
||||||
|
MCUSW-352 | Workaround to issue where close during receipt of serial data
|
||||||
|
| caused CP2102N to hang.
|
||||||
|
MCUSW-369 | Certified for Windows 10 RS5.
|
||||||
|
MCUSW-393 | Fix bug due to some BaudRate-related math causing a divide-by-
|
||||||
|
| zero.
|
||||||
|
MCUSW-396 | Be defensive against the impossible case of getting a NULL
|
||||||
|
| object in the object completion routine.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.3 (2018-05-29)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-326 | Clear DTR on CloseHandle().
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.2 (2018-05-14)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-134 | Fixed an issue with handling of IOCTL_SERIAL_SET_WAIT_MASK,
|
||||||
|
| IOCTL_SERIAL_WAIT_ON_MASK, with the SERIAL_EV_RXCHAR event and
|
||||||
|
| data arriving from the device into the driver. Previously, an
|
||||||
|
| indication of arriving data was made before making the data
|
||||||
|
| available, causing, in some conditions, subsequent requests for
|
||||||
|
| data after notification of data available to not deliver any
|
||||||
|
| data.
|
||||||
|
MCUSW-211 | Windows 10 Universal driver release (I.e. no Windows 7, 8 or
|
||||||
|
| 8.1 support)
|
||||||
|
MCUSW-288 | Fix IOCTL_SERIAL_GET_PROPERTIES.
|
||||||
|
MCUSW-291 | Fix IOCTL_SERIAL_GET_PROPERTIES/SERIAL_COMMPROP for CP210x-like
|
||||||
|
| "Voice MB v2.0" device.
|
||||||
|
MCUSW-315 | Certified for RS4/1803.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 10.1.1 (DriverVer=11/15/2017,10.1.1.1951)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-134 | Fixed an issue with handling of IOCTL_SERIAL_SET_WAIT_MASK,
|
||||||
|
| IOCTL_SERIAL_WAIT_ON_MASK, with the SERIAL_EV_RXCHAR event
|
||||||
|
| and data arriving from the device into the driver. Previously,
|
||||||
|
| an indication of arriving data was made before making the data
|
||||||
|
| available, causing, in some conditions, subsequent requests
|
||||||
|
| for data after notification of data available to not deliver
|
||||||
|
| any data.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
LEGACY HISTORY
|
||||||
|
--------------
|
||||||
|
Everything below is the shared development history before creation of the
|
||||||
|
Windows 10 Universal driver. Everything above is development history of
|
||||||
|
the Universal driver.
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7.5 (2017-10-13)
|
||||||
|
|
||||||
|
Changes for VCP Driver
|
||||||
|
==============================================================================
|
||||||
|
MCUSW-17 | IOCTL_SERIAL_GET_STATUS TransmittedCount fixed.
|
||||||
|
MCUSW-19 | CP210x_GET_CONFIG_DESCRIPTOR_IOCTL returned byte count fixed.
|
||||||
|
MCUSW-21 | Revert IOCTL_SERIAL_GET_COMMSTATUS behaviour to return cached
|
||||||
|
| information (reverse slowdown reported with v6.7.4 in some
|
||||||
|
| applications)
|
||||||
|
|
|
||||||
|
| Improve windbg logging, w.r.t. doing less when logging is not
|
||||||
|
| enabled (say, Release builds), or when particular subsystem is
|
||||||
|
| not enabled for logging.
|
||||||
|
|
|
||||||
|
MCUSW-110 | Windows 10 certified against RS2 (Creators Update).
|
||||||
|
MCUSW-207 | In a failed initialization, discard a reference to dynamically
|
||||||
|
| allocated memory once memory has been freed.
|
||||||
|
MCUSW-234 | timestamp SHA2 Signatures with SHA2 timestamps
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7.4.261 (2017/01/30)
|
||||||
|
|
||||||
|
- Device Guard compliant
|
||||||
|
- CP210XFW-747: Add 3 new parallel PIDs one each for the single-, dual- &
|
||||||
|
quad-port CP210x devices (to be distributed via Windows Update)
|
||||||
|
- CP210XFW-741: Fix driver to use correct interface string index for the
|
||||||
|
multi-interface CP210x devices (CP2105 & CP2108). Return iProduct string
|
||||||
|
for other CP210x devices.
|
||||||
|
- CP210XFW-713: Add protection against IRP_MJ_CLOSE coming before
|
||||||
|
IRP_MJ_CLEANUP. In such case EvtFileCleanup callback was called with 0
|
||||||
|
FileObject, causeing a crash. Serenum is suspected of causing this, even
|
||||||
|
though there is no proof except that it's present, was introduced recently
|
||||||
|
and this crash was never registered before.
|
||||||
|
- CP210XFW-691: Fixed race between timer activation and request cancelation
|
||||||
|
during processing of read rwquests.
|
||||||
|
- Changed raw WDF read request timer to our wrapper.
|
||||||
|
- CP210XFW-693: bugfix: WMI command "wmic path Win32_SerialPort get
|
||||||
|
Availability^, DeviceID^, Name" is unable to enumerate the port.
|
||||||
|
- CP210XFW-686: EvtRequestCancel for wait mask IRP crashed because the
|
||||||
|
request was already completed. It didn't serialize well with other places
|
||||||
|
that can complete it. It looked like XOff IRP may have the same proble. This
|
||||||
|
patch is adding an extra check into *all* other EvtRequestCancel functions
|
||||||
|
to make sure this doesn't happen again.
|
||||||
|
- Changed IOCTLs returning polled-cached MDMSTS to explicitly read the
|
||||||
|
status. Use reg value DisableHwAccessInModemStatusIoctls to revert this
|
||||||
|
new functionality to old behavior.
|
||||||
|
- Improved debug prints.
|
||||||
|
- SerialDbgPrintEx used 1K of stack for the string, reduced to 256.
|
||||||
|
- Resolved many static Code Analysis warnings
|
||||||
|
- Added accounting for data in chip's TX queue. Added translation of
|
||||||
|
COMM_STATUS::ulErrors into SERIAL_EV_BREAK and SERIAL_EV_ERR.
|
||||||
|
- CP210XFW-549, CP210XFW-536, CP210XFW-546: Generate events for
|
||||||
|
IOCTL_SERIAL_SET_WAIT_MASK from COMM_STATUS::ulErrors. Can be disabled by
|
||||||
|
DisableCommStatusPolling reg value.
|
||||||
|
- Added spinlock around ModemStatus change detection. Refactored modem
|
||||||
|
status event signalling to use common function.
|
||||||
|
- Move passive level functions into the paged section.
|
||||||
|
- MCUFW-740: Made device close operation wait for chip's Tx queue to empty.
|
||||||
|
Added registry settings DisableTxEmptyCheckInClose and
|
||||||
|
TxEmptyTimeoutOnCloseInMs.
|
||||||
|
- Improve control transfer debug prints and clean up code, otherwise no
|
||||||
|
functional changes.
|
||||||
|
- MCUFW-740: Fixed EV_TXEMPTY to account for bytes in chip's Tx queue.
|
||||||
|
- MCUFW-740: New functions to sync access to comm error storage from
|
||||||
|
multiple threads.
|
||||||
|
- Added DisableTxEmptyCheckInGetCommStatusIoctl reg value.
|
||||||
|
- Refactor control request I/O. MCUFW-740: Fixed
|
||||||
|
IOCTL_SERIAL_GET_COMMSTATUS.
|
||||||
|
- MCUFW-740: Made device close operation wait for chip's Tx queue to empty.
|
||||||
|
Added registry settings DisableTxEmptyCheckInClose and
|
||||||
|
TxEmptyTimeoutOnCloseInMs.
|
||||||
|
- CP210XFW-648: Set a three second timeout on
|
||||||
|
WdfUsbTargetDeviceSendControlTransferSynchronously().
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7.3 (2016/03/03)
|
||||||
|
|
||||||
|
- 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.)
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7.2 (2015/11/23)
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7.1 (2015/06/29)
|
||||||
|
|
||||||
|
- Added certification for Windows 10 Preview (Note: Windows 10 only;
|
||||||
|
use v6.7 for Windows prior to Windows 10)
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.7 (2014/04/11)
|
||||||
|
|
||||||
|
- 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).
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.6.1 (2013/10/24)
|
||||||
|
|
||||||
|
- Added certification for Windows 8.1
|
||||||
|
- Added support for CP2108 devices
|
||||||
|
- Corrected bug where OS would hang on repetition of many rapid open/closes on
|
||||||
|
certain systems.
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.6
|
||||||
|
|
||||||
|
- Moving installer format to DPInst
|
||||||
|
- Supported under Windows 8
|
||||||
|
- 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
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.5.3
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.5
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.4
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.3a
|
||||||
|
|
||||||
|
- Updated to 3.2 DriverInstaller to correct a bug seen when updating from an
|
||||||
|
old driver installer version
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.3
|
||||||
|
|
||||||
|
- Corrected a bug introduced in 6.2 which caused BSOD during surprise removal.
|
||||||
|
- Corrected a bug found in I/O cancellation corner case
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.2
|
||||||
|
|
||||||
|
- 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
|
||||||
|
- Added support for CP2104 and CP2105 devices
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.1
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
RELEASE NOTES FOR 6.0
|
||||||
|
|
||||||
|
- 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
|
||||||
|
- Created IO queueing mechanism so that multiple reads, writes, etc. can be
|
||||||
|
queued and waited on
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
LICENSE AGREEMENT
|
||||||
|
SILICON LABS VCP DRIVER
|
||||||
|
IMPORTANT: READ CAREFULLY BEFORE AGREEING TO TERMS
|
||||||
|
|
||||||
|
THIS PRODUCT CONTAINS THE SILICON LABS VCP DRIVER AND INSTALLER PROGRAMS AND OTHER THIRD PARTY SOFTWARE.TOGETHER THESE PRODUCTS ARE REFERRED TO AS THE "LICENSED SOFTWARE". USE OF THE LICENSED SOFTWARE IS SUBJECT TO THE TERMS OF THIS LICENSE AGREEMENT. DOWNLOADING THE LICENSED SOFTWARE AND INDICATING YOUR CONSENT TO THE TERMS OF THIS LICENSE CONSTITUTES A BINDING AGREMENT BETWEEN SILICON LABORATORIES, INC. ("SILICON LABS") AND YOU OR YOUR EMPLOYER (IF APPLICABLE). IF YOU ARE ACCEPTING THE TERMS OF THIS AGREEMENT ON BEHALF YOUR EMPLOYER, THE TERMS "YOU" AND "YOUR" REFER TO YOUR EMPLOYER. WRITTEN APPROVAL IS NOT A PREREQUISITE TO THE VALIDITY OR ENFORCEABILITY OF THIS AGREEMENT. IF THESE TERMS ARE CONSIDERED AN OFFER BY SILICON LABS, ACCEPTANCE IS EXPRESSLY LIMITED TO THESE TERMS.
|
||||||
|
IF YOU DO NOT AGREE WITH ALL OF THE TERMS OF THIS LICENSE AGREEMENT, YOU MUST NOT USE THE LICENSED SOFTWARE AND YOU MUST DELETE ALL OF COPIES OF THE LICENSED SOFTWARE FROM YOUR COMPUTER.
|
||||||
|
1. LICENSE: The Licensed Software is and will remain the property of Silicon Labs or a third party from whom Silicon Labs has the authorization to distribute to you subject to the terms of this Agreement. This Licensed Software is protected by state, federal, and international copyright laws. Subject at all times to your compliance with the terms of this License Agreement, Silicon Labs grants to you a nonexclusive license to use the Licensed Software as described in this License Agreement. Silicon Labs may revoke this license at any time if you fail to comply with the terms of this License Agreement. Certain parts of the Licensed Software, including DPInst.exe, are licensed from Microsoft Corporation. For information concerning licensing DPInst.exe and the redistributable pieces of WDF used in the driver, refer to the license.rtf file in the 7600.16385.1 version of the Windows Driver Kit, available through Microsoft.
|
||||||
|
2. CONTENTS OF THE LICENSED SOFTWARE: The Licensed Software consists of the following items:
|
||||||
|
a. Driver binaries
|
||||||
|
b. INF file that describes the driver installation
|
||||||
|
c. DPInst.exe that provides the GUI interface to install the drivers
|
||||||
|
d. XML file that describes the DPInst.exe and GUI items
|
||||||
|
3. INSTALLATION AND USE RIGHTS:
|
||||||
|
a. You may download and install the Licensed Software on one or more computers and make any number of copies.
|
||||||
|
b. You may internally evaluate the Licensed Software. If you elect to use the Licensed Software for any other purpose, including modification and distribution, then the following additional terms apply to you.
|
||||||
|
c. You may modify only the INF and XML files. You may modify these files with information concerning your company or your company's products.
|
||||||
|
d. You may not modify the driver binary files or the DPInst.exe files.
|
||||||
|
e. You may redistribute to your customers the Licensed Software only with the modified INF and XML files. Your redistribution may be in any form, including physical media and Internet downloads.
|
||||||
|
4. RESTRICTIONS:
|
||||||
|
a. You may not use the Licensed Software with any integrated circuit products other than those designed and manufactured by Silicon Labs.
|
||||||
|
b. Except as provided above, you may not redistribute, sublicense, assign, rent or lease any portion of the Licensed Software to any third party.
|
||||||
|
c. You may not reverse engineer, decompile, disassemble, modify, translate, or make any attempt to discover the source code of the Licensed Software. You may not work around any technical limitation in the Licensed Software.
|
||||||
|
d. Except as provided above, you may not modify or create derivative works from the Licensed Software.
|
||||||
|
e. You may not modify or distribute the Licensed Software so that any part of it becomes subject to an excluded license. An excluded license is one that requires, as a condition of use, modification or distribution, that the software be disclosed or distributed in source code form, or that others have the right to modify it.
|
||||||
|
f. You may not obscure or remove any product identification, copyright or other notices that appear on the Licensed Software, including any notices from third parties.
|
||||||
|
g. You may not redistribute any modified or unmodified version of the Licensed Software to any third party as a standalone product. You may not redistribute any modified or unmodified version of the Licensed Software to any third party who has not accepted the terms of an end-user license agreement that contains terms at least as protective of Silicon Labs' rights as those contained in this License Agreement.
|
||||||
|
5. WARRANTY: Silicon Labs does not warrant that the Licensed Software will meet your requirements or that operation of the Licensed Software will be uninterrupted or error-free. You agree that the Licensed Software is provided "AS IS" and that Silicon Labs makes no other warranties regarding the Licensed Software. SILICON LABS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, RELATED TO THE LICENSED SOFTWARE, ITS USE OR ANY INABILITY TO USE IT, THE RESULTS OF ITS USE AND THIS AGREEMENT. YOU MAY HAVE OTHER RIGHTS, WHICH VARY FROM STATE TO STATE.
|
||||||
|
6. DISCLAIMER OF DAMAGES: IN NO EVENT WILL SILICON LABS BE LIABLE TO YOU FOR ANY SPECIAL, CONSEQUENTIAL, INDIRECT, OR SIMILAR DAMAGES, INCLUDING ANY LOST PROFITS OR LOST DATA ARISING OUT OF THE USE OR INABILITY TO USE THE LICENSED SOFTWARE EVEN IF SILICON LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. IN NO CASE SHALL SILICON LABS' CUMULATIVE LIABILITY TO YOU FOR ALL PURPOSES EXCEED FIFTY UNITED STATES DOLLARS ($50). The disclaimers and limitations set forth above will apply regardless of whether you accept the Licensed Software.
|
||||||
|
7. TERM AND TERMINATION: The term of this Agreement and the License granted herein shall begin upon use of the Licensed Software and continue in perpetuity unless you breach any of the obligations set out under this Agreement. Upon any breach of this Agreement by you, the license granted hereunder shall terminate immediately and you shall cease all use of the Licensed Software and return or destroy all copies of the Licensed Software to Silicon Labs immediately. Termination of this License upon your breach is only one remedy available to Silicon Labs. In addition to termination of this Agreement upon your breach, Silicon Labs shall be entitled to seek any and all other available remedies, at law or at equity, arising from your breach. Termination of this Agreement shall not affect your customers' ability to continue using copies of the modified or unmodified Licensed Software they obtained from you.
|
||||||
|
8. EXPORT: You shall comply with all applicable federal, provincial, state and local laws, regulations and ordinances including but not limited to applicable U.S. Export Administration Laws and Regulations. You shall not export or re-export, or allow the export or re-export of the Licensed Software to any country specified in the then-current Supplement No. 1 to Part 740, or, in violation of the embargo provisions in Part 746, of the U.S. Export Administration Regulations (or any successor regulations or supplement), except in compliance with and with all licenses and approvals required under applicable export laws and regulations, including without limitation, those of the U.S. Department of Commerce.
|
||||||
|
9. GENERAL: This Agreement will be governed by the laws of the State of Texas and any applicable federal laws or regulations. The waiver by either Party of any default or breach of this Agreement shall not constitute a waiver of any other or subsequent default or breach. This Agreement constitutes the complete and exclusive statement of the mutual understanding between you and Silicon Labs with respect to this subject matter herein. This Agreement may only be modified by a written addendum, which has been signed by both you and Silicon Labs.
|
||||||
|
|
||||||
|
BY CLICKING "I ACCEPT THE TERMS OF THIS AGREEMENT" YOU AGREE TO ACCEPT AND COMPLY WITH THE TERMS OF THIS LICENSE AGREEMENT WITH SILICON LABORATORIES INC.
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,247 @@
|
||||||
|
;/*++
|
||||||
|
;
|
||||||
|
;Module Name:
|
||||||
|
;
|
||||||
|
; SILABSER.INF
|
||||||
|
;
|
||||||
|
; Copyright 2019, Silicon Laboratories Inc.
|
||||||
|
;
|
||||||
|
;Abstract:
|
||||||
|
; Installation INF for Silicon Labs CP210x device
|
||||||
|
;
|
||||||
|
;--*/
|
||||||
|
|
||||||
|
[Version]
|
||||||
|
Signature="$WINDOWS NT$"
|
||||||
|
Class=Ports
|
||||||
|
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
|
||||||
|
Provider=%Provider%
|
||||||
|
DriverVer = 10/04/2022,11.2.0.167
|
||||||
|
CatalogFile = silabser.cat
|
||||||
|
PnpLockDown=1
|
||||||
|
|
||||||
|
; ================= Device section =====================
|
||||||
|
|
||||||
|
[Manufacturer]
|
||||||
|
%ManufacturerName%=SiLabsModelsSection, NTamd64.10.0...17134, NTarm.10.0...17134, NTarm64.10.0...17134, NTx86.10.0...17134
|
||||||
|
|
||||||
|
; "Architecture must be specified in INF Models sections names" -- meaning lots of
|
||||||
|
; cut'n'paste duplication in these next four per-Architecture ModelsSections
|
||||||
|
;Models sections (one per CPU Architecture)
|
||||||
|
;Models section for installation of x64 driver on Windows 10 and above
|
||||||
|
[SiLabsModelsSection.NTamd64.10.0...17134]
|
||||||
|
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA60
|
||||||
|
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA63
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_03
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_03
|
||||||
|
|
||||||
|
;Models section for installation of ARM (32-bit) driver on Windows 10 and above
|
||||||
|
[SiLabsModelsSection.NTarm.10.0...17134]
|
||||||
|
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA60
|
||||||
|
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA63
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_03
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_03
|
||||||
|
|
||||||
|
;Models section for installation of ARM (64-bit) driver on Windows 10 and above
|
||||||
|
[SiLabsModelsSection.NTarm64.10.0...17134]
|
||||||
|
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA60
|
||||||
|
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA63
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_03
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_03
|
||||||
|
|
||||||
|
;Models section for installation of x86 driver on Windows 10 and above
|
||||||
|
[SiLabsModelsSection.NTx86.10.0...17134]
|
||||||
|
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA60
|
||||||
|
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection, USB\VID_10C4&PID_EA63
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA70&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA71&Mi_03
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7A&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_00
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_01
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_02
|
||||||
|
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection, USB\VID_10C4&PID_EA7B&Mi_03
|
||||||
|
|
||||||
|
|
||||||
|
;DDInstall section
|
||||||
|
[SiLabsDDInstallSection]
|
||||||
|
AddReg=silabser.AddReg
|
||||||
|
CopyFiles=Silabser_CopyFiles_FileListSection
|
||||||
|
FeatureScore=0x40
|
||||||
|
|
||||||
|
|
||||||
|
;DDInstall.Services section
|
||||||
|
[SiLabsDDInstallSection.Services]
|
||||||
|
AddService = silabser,0x00000002,silabser.AddService
|
||||||
|
|
||||||
|
|
||||||
|
[silabser.AddService]
|
||||||
|
DisplayName = %silabser.SvcDesc%
|
||||||
|
ServiceType = 1
|
||||||
|
StartType = 3
|
||||||
|
ErrorControl = 1
|
||||||
|
ServiceBinary = %12%\silabser.sys
|
||||||
|
AddReg = silabser.AddService.AddReg
|
||||||
|
|
||||||
|
; Per-Service-level registry entries (the "parameters key")
|
||||||
|
[silabser.AddService.AddReg]
|
||||||
|
HKR, Parameters\Wdf, ForceLogsInMiniDump, 0x00010001, 1
|
||||||
|
HKR, Parameters, DebugLevel, 0x00010001, 0
|
||||||
|
HKR, Parameters, DebugFlag, 0x00010001, 0x1c01817
|
||||||
|
;To break on entry if requested in Parameters
|
||||||
|
;HKR, Parameters, BreakOnEntry, 0x00010001,1
|
||||||
|
|
||||||
|
|
||||||
|
; common registry entries
|
||||||
|
; Per-Driver-level registry entries (the "software key")
|
||||||
|
[silabser.AddReg]
|
||||||
|
HKR,,NTMPDriver,,silabser.sys
|
||||||
|
HKR,,RateLimitPurgeMS, 0x10001, 0x64, 0x00, 0x00, 0x00
|
||||||
|
;To override the default value for BaudRate/LineControl
|
||||||
|
HKR,,OverrideDefaultPortSettings, 0x10001, 01,00,00,00
|
||||||
|
HKR,,InitialBaudRate, 0x10001, 00,C2,01,00 ;115200 initial baud rate
|
||||||
|
HKR,,InitialLineControl,, "8N1" ;8-bits, No parity, 1 stop bit
|
||||||
|
HKR,,PortSubClass,1,01
|
||||||
|
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
|
||||||
|
;Prepare to hack ControlHandShake
|
||||||
|
;HKR,,ControlHandShakeForcedSetBits,0x10001,01,00,00,00
|
||||||
|
|
||||||
|
|
||||||
|
;DDInstall.HW section
|
||||||
|
[SiLabsDDInstallSection.HW]
|
||||||
|
AddReg=SiLabsDDInstallSection.HW.AddReg
|
||||||
|
|
||||||
|
|
||||||
|
; Per-device-level registry entries (the "hardware key")
|
||||||
|
[SiLabsDDInstallSection.HW.AddReg]
|
||||||
|
;Amount of time the device must be idle before idling out
|
||||||
|
HKR,,"SelectiveSuspendTimeout",0x00010001,10000
|
||||||
|
HKR,,"DisableHwAccessInModemStatusIoctls",0x00010001,1
|
||||||
|
HKR,,"DisableIoctlIOCTL_SERIAL_PURGE",0x00010001,1
|
||||||
|
; Attention! The EnablePowerManagewment value is no longer supported.
|
||||||
|
; To disable Selective Suspend, uncomment the following line:
|
||||||
|
; HKR,,"DisableS0Idle",0x00010001,1
|
||||||
|
; opt-in to DFx
|
||||||
|
HKR,"WDF","WdfDirectedPowerTransitionEnable",0x00010001,1
|
||||||
|
|
||||||
|
;To disable the checking TxEmpty in Get Comm Status Ioctl, uncomment the following line:
|
||||||
|
;HKR,,"DisableTxEmptyCheckInGetCommStatusIoctl",0x00010001,1
|
||||||
|
|
||||||
|
;To disable the checking TxEmpty in Ioctl Wait Mask, uncomment the following line:
|
||||||
|
;HKR,,"DisableTxEmptyCheckInIoctlWaitMask",0x00010001,1
|
||||||
|
|
||||||
|
;To disable the checking remaining data in Tx queue, uncomment the following line:
|
||||||
|
;HKR,,"DisableTxEmptyCheckInClose",0x00010001,1
|
||||||
|
|
||||||
|
;To disable purge In close, uncomment the following line:
|
||||||
|
;HKR,,"DisablePurgeInClose",0x00010001,1
|
||||||
|
|
||||||
|
;Don't use polling to get Comm Status, uncomment the following line:
|
||||||
|
;HKR,,"DisableCommStatusPolling",0x00010001,1
|
||||||
|
|
||||||
|
;To Skipping external naming, uncomment the following line:
|
||||||
|
;HKR,,"SerialSkipExternalNaming",0x00010001,1
|
||||||
|
|
||||||
|
;To allow device to idle with an open handle, uncomment the following line:
|
||||||
|
;HKR,,"AllowIdleWhileOpen",0x00010001,1
|
||||||
|
|
||||||
|
;To set the maximum time the close operation will wait for Tx queue to empty, uncomment the following line:
|
||||||
|
;HKR,,"TxEmptyTimeoutOnCloseInMs",0x00010001,30000
|
||||||
|
|
||||||
|
;To disable the port, uncomment the following line:
|
||||||
|
;HKR,,"DisablePort",0x00010001,1
|
||||||
|
|
||||||
|
;To obtain the polling interval to get information from the CP210x device, uncomment the following line:
|
||||||
|
;HKR,,"EventMaskPollingInterval",0x00010001,80
|
||||||
|
|
||||||
|
; To obtain the number of read requests that the framework will queue to receive data from the CP210x device, uncomment the following line:
|
||||||
|
;HKR,,"ContinuousReaderNumPendingReads",0x00010001,1
|
||||||
|
|
||||||
|
; To use of the custom 'dummy wait' code, uncomment the following line:
|
||||||
|
;HKR,,"EnableCustomWait",0x00010001,1
|
||||||
|
|
||||||
|
; To set DTR for serial, uncomment the following line:
|
||||||
|
;HKR,,"SetDTROnOpen",0x00010001,1
|
||||||
|
|
||||||
|
; To set RTS for serial, uncomment the following line:
|
||||||
|
;HKR,,"SetRTSOnOpen",0x00010001,1
|
||||||
|
|
||||||
|
|
||||||
|
[Silabser_CopyFiles_FileListSection]
|
||||||
|
silabser.sys
|
||||||
|
|
||||||
|
[SourceDisksNames]
|
||||||
|
1=%Disk_Description%,"silabser.cat"
|
||||||
|
|
||||||
|
[SourceDisksFiles.amd64]
|
||||||
|
silabser.sys = 1,\x64
|
||||||
|
[SourceDisksFiles.arm]
|
||||||
|
silabser.sys = 1,\arm
|
||||||
|
[SourceDisksFiles.arm64]
|
||||||
|
silabser.sys = 1,\arm64
|
||||||
|
[SourceDisksFiles.x86]
|
||||||
|
silabser.sys = 1,\x86
|
||||||
|
|
||||||
|
|
||||||
|
[DestinationDirs]
|
||||||
|
Silabser_CopyFiles_FileListSection = 12 ; 13 = Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository); 12 = Drivers directory (%SystemRoot%\system32\drivers)) (make sure "ServiceBinary =" matches usage of 12 vs. 13)
|
||||||
|
|
||||||
|
|
||||||
|
;---------------------------------------------------------------;
|
||||||
|
|
||||||
|
[Strings]
|
||||||
|
; For provider, enter your Company Legal/Official/Long/Full Name
|
||||||
|
Provider="Silicon Laboratories Inc."
|
||||||
|
; For ManufacturerName, enter your Company "Colloquial" Name
|
||||||
|
ManufacturerName="Silicon Labs"
|
||||||
|
Disk_Description= "Silicon Labs CP210x USB to UART Bridge Installation Disk"
|
||||||
|
USB\VID_10C4&PID_EA60.DeviceDesc= "Silicon Labs CP210x USB to UART Bridge"
|
||||||
|
USB\VID_10C4&PID_EA63.DeviceDesc= "Silicon Labs CP210x USB to UART Bridge"
|
||||||
|
USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port"
|
||||||
|
USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Standard COM Port"
|
||||||
|
USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 0"
|
||||||
|
USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 1"
|
||||||
|
USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 2"
|
||||||
|
USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 3"
|
||||||
|
USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port"
|
||||||
|
USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Standard COM Port"
|
||||||
|
USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 0"
|
||||||
|
USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 1"
|
||||||
|
USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 2"
|
||||||
|
USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 3"
|
||||||
|
|
||||||
|
silabser.SvcDesc="Silicon Labs CP210x USB to UART Bridge Driver"
|
Binary file not shown.
Binary file not shown.
|
@ -7,6 +7,9 @@ response = requests.get(URL)
|
||||||
|
|
||||||
open('ESP32driver', 'wb').write(response.content)
|
open('ESP32driver', 'wb').write(response.content)
|
||||||
# need to change user destination figure out how to get it to downloads
|
# need to change user destination figure out how to get it to downloads
|
||||||
|
# 11/5/22 --> Saving to downloads folder. No change made. Possible make a change in the inf file: https://learn.microsoft.com/en-us/windows-hardware/drivers/install/specifying-the-source-and-target-locations-for-device-files
|
||||||
|
|
||||||
with ZipFile('ESP32driver', 'r') as zipObj:
|
with ZipFile('ESP32driver', 'r') as zipObj:
|
||||||
zipObj.extractall(os.path.join(os.path.expanduser("~"), "Downloads", "ESP32driver"))
|
zipObj.extractall(os.path.join(os.path.expanduser("~"), "Downloads", "ESP32driver"))
|
||||||
# TODO: after extract the file, run the .inf file in it to actually install the driver
|
# TODO: after extract the file, run the .inf file in it to actually install the driver
|
||||||
|
# 11/5/22 --> Created bash script with same name to run files and control destination folder. MUST RUN AS AN ADMINISTRATOR
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
pnputil -i -a silabser.inf # Windows only command
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
matplotlib
|
matplotlib
|
||||||
pyserial
|
pyserial
|
||||||
wxPython
|
wxPython
|
||||||
|
os
|
||||||
|
requests
|
||||||
|
urllib.requests
|
||||||
|
zipfile
|
||||||
|
datetime
|
||||||
|
serial
|
||||||
|
time
|
||||||
|
json
|
||||||
|
numpy
|
||||||
|
|
Loading…
Reference in New Issue