Blogs
The latest posts about WinDriver's most interesting topics

Version 5.0.4

New Features

  • Added USB 2.0 support under Windows 2000 and Windows XP.
  • WinDriver Hardware Debugger now sends debug messages to the operating system’s kernel debugger.
  • Added version information to wdpnp.sys that can be retrieved by reading the file properties.
  • WinDriver User’s Guide now includes new, improved, function reference.

Enhancements

  • WinDriver for USB — New API:WD_UsbResetDeviceEx(), allows reset of devices that are not in disabled state.
  • WinDriver for USB — AddedUSB_SHORT_TRANSFERoption toWD_UsbTransfer(). If set, the function will return successfully if a short packet (less than maximum packet size) was transferred, regardless as to whether the data buffer was filled.
  • WinDriver for USB — AddedUSB_FULL_TRANSFERoption toWD_UsbTransfer(). If set, the function will return successfully if all the requested data was transferred.
  • Minimized quantity of warning messages — when compiling code generated by DriverWizard under warning level 4.
  • The descriptions and remarks embedded in the code generated by the DriverWizard were improved.

Fixes

  • PCI — GeneralAccess to EEPROM of PLX 9030, 9054 and IOP480 chipsets was improved. Now when access to EEPROM of these chipsets fails, WinDriver retries the entire access process.Interrupt handling by DriverWizard was fixed. A bug since version 5.0 caused DriverWizard to handle interrupts without implementing all the parameters assigned by the user; this affected level sensitive interrupt handling and data transfer operation type definition.Execution method of interrupts transfer commands was improved. Now the interrupt transfer commands are executed only if the application handling the interrupts exits abnormally. A bug since version 4.4.0 caused interrupts transfer commands to be executed each time the interrupt was disabled.Fixed a bug that caused WinDriver to issue application assertion under Windows 2000 checked-build.FixedWD_MultiTransfer()to support Delphi.DriverWizard was fixed to disable generation ofXXX_AccessRanges(hXXX)functions when the relevant PCI device has no I/O or memory resources at all. This bug caused compilation errors when trying to compile generated code for devices with no I/O or memory resources.
  • Access to EEPROM of PLX 9030, 9054 and IOP480 chipsets was improved. Now when access to EEPROM of these chipsets fails, WinDriver retries the entire access process.
  • Interrupt handling by DriverWizard was fixed. A bug since version 5.0 caused DriverWizard to handle interrupts without implementing all the parameters assigned by the user; this affected level sensitive interrupt handling and data transfer operation type definition.
  • Execution method of interrupts transfer commands was improved. Now the interrupt transfer commands are executed only if the application handling the interrupts exits abnormally. A bug since version 4.4.0 caused interrupts transfer commands to be executed each time the interrupt was disabled.
  • Fixed a bug that caused WinDriver to issue application assertion under Windows 2000 checked-build.
  • FixedWD_MultiTransfer()to support Delphi.
  • DriverWizard was fixed to disable generation ofXXX_AccessRanges(hXXX)functions when the relevant PCI device has no I/O or memory resources at all. This bug caused compilation errors when trying to compile generated code for devices with no I/O or memory resources.
  • Windows NT 4.0 — PCIFixed the support for interrupt handling on dual CPU platforms. Interrupt line and device resources information is now retrieved from the operating system (instead of directly from the hardware).
  • Fixed the support for interrupt handling on dual CPU platforms. Interrupt line and device resources information is now retrieved from the operating system (instead of directly from the hardware).
  • Windows 9x — PCISet Auto Masking for non-sharable interrupts only. A bug since v4.4.2 could have causedWD_IntDisable(), when using sharable interrupts, to disable other interrupts as well.
  • Set Auto Masking for non-sharable interrupts only. A bug since v4.4.2 could have causedWD_IntDisable(), when using sharable interrupts, to disable other interrupts as well.
  • Linux — GeneralThe operation of the functionWD_DMALock()for contiguous DMA under Linux was fixed. The bug caused the function to reserve one extra page (if the allocation was page aligned). This resulted in kernel panic insidekfree()(which was observed when the following sequence was performed: lock, lock, free, free).Modified user makefiles for compilation under RedHat Linux 7.0 and above.
  • The operation of the functionWD_DMALock()for contiguous DMA under Linux was fixed. The bug caused the function to reserve one extra page (if the allocation was page aligned). This resulted in kernel panic insidekfree()(which was observed when the following sequence was performed: lock, lock, free, free).
  • Modified user makefiles for compilation under RedHat Linux 7.0 and above.
  • Windows — GeneralFixed a dependency problem betweenwindrvr.sysandwdpnp.sys. A bug since version 5.0.3 causedwindrvrto return error code 37 (STATUS_INTERNAL_ERROR) ifwdpnp.syswas loaded beforewindrvr.sys/vxd. Now, the resource management is handled bywdpnp.sysinstead ofwindrvr.sys/vxdand ifwindrvr.sys/vxdis loaded afterwdpnp.sys, it will initiate the transfer of the card resources instead ofwdpnp.sys.Moreover, nowwdpnp.sysdoes not assume thatwindrvr.sysis loaded and the two files open a communication path between them only to perform short operations, and then close it. This allows eliminating the dependency between the files and results in an improved stability and robustness.Fixed the methodwdpnp.sysretrieves the bus number of PCI devices. It now retrieves the bus number by directly inquiring the PCI devices, instead of inquiring the Windows operating system, since the operating system always returns 0.Fixed IDE to invoke combo box behavior on Windows platforms. The bug caused the default IDE to invoke to be “none”. Now IDE to invoke is with accordance to the IDE chosen by the user to generate project makefiles for; the default IDE to invoke is MS Visual C++ 6.0.
  • Fixed a dependency problem betweenwindrvr.sysandwdpnp.sys. A bug since version 5.0.3 causedwindrvrto return error code 37 (STATUS_INTERNAL_ERROR) ifwdpnp.syswas loaded beforewindrvr.sys/vxd. Now, the resource management is handled bywdpnp.sysinstead ofwindrvr.sys/vxdand ifwindrvr.sys/vxdis loaded afterwdpnp.sys, it will initiate the transfer of the card resources instead ofwdpnp.sys.Moreover, nowwdpnp.sysdoes not assume thatwindrvr.sysis loaded and the two files open a communication path between them only to perform short operations, and then close it. This allows eliminating the dependency between the files and results in an improved stability and robustness.
  • Fixed the methodwdpnp.sysretrieves the bus number of PCI devices. It now retrieves the bus number by directly inquiring the PCI devices, instead of inquiring the Windows operating system, since the operating system always returns 0.
  • Fixed IDE to invoke combo box behavior on Windows platforms. The bug caused the default IDE to invoke to be “none”. Now IDE to invoke is with accordance to the IDE chosen by the user to generate project makefiles for; the default IDE to invoke is MS Visual C++ 6.0.
  • USBThe “send to pipe” operation in DriverWizard was fixed to allow input of long data strings (i.e., more than 1024 chars). The bug caused DriverWizard to issue application error when long data strings were sent.Timeout expiration was fixed to avoid BSOD if the USB device is no longer connected.WinDriver now uses the operating system’s DeviceAddress as a USB uniqueId instead of obtaining the Pointer to Device Object (PDO) from the operating system. Now WinDriver obtains the PDO only for the purpose of communicating with the USB device at theWD_GetConfiguration()andWD_DeviceRegister()stages. The reason is that obtaining the PDO is an intrusive operation, which could interfere with the operation of other devices drivers.For Isochronous data transfers, now WinDriver sends the last packet in a separate transaction, instead of the same transaction. The bug caused, in certain circumstances, the operating system USBD to send the last packet twice.
  • The “send to pipe” operation in DriverWizard was fixed to allow input of long data strings (i.e., more than 1024 chars). The bug caused DriverWizard to issue application error when long data strings were sent.
  • Timeout expiration was fixed to avoid BSOD if the USB device is no longer connected.
  • WinDriver now uses the operating system’s DeviceAddress as a USB uniqueId instead of obtaining the Pointer to Device Object (PDO) from the operating system. Now WinDriver obtains the PDO only for the purpose of communicating with the USB device at theWD_GetConfiguration()andWD_DeviceRegister()stages. The reason is that obtaining the PDO is an intrusive operation, which could interfere with the operation of other devices drivers.
  • For Isochronous data transfers, now WinDriver sends the last packet in a separate transaction, instead of the same transaction. The bug caused, in certain circumstances, the operating system USBD to send the last packet twice.
  • KernelDriverDriverWizard was fixed to allow the Debug Monitor GUI to run under Linux.Fixed DriverWizard so that it will generate code with an IOCTL to performWD_License().
  • DriverWizard was fixed to allow the Debug Monitor GUI to run under Linux.
  • Fixed DriverWizard so that it will generate code with an IOCTL to performWD_License().


Download WinDriver Free 30 Days Trial

Please fill the form below to download a fully featured WinDriver evaluation

Software License Agreement of WinDriver (TM) Version v16.3.0
© Jungo Connectivity Ltd. 2024 All Rights Reserved

IMPORTANT – READ CAREFULLY: THIS SOFTWARE LICENSE AGREEMENT (“AGREEMENT”) IS A LEGAL AGREEMENT BETWEEN YOU AND JUNGO CONNECTIVITY LTD. (“JUNGO”), FOR THE WINDRIVER SOFTWARE PRODUCT ACCOMPANYING THIS LICENSE (THE “SOFTWARE”). BY INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE LEGALLY BOUND BY THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT, DO NOT INSTALL, COPY, OR OTHERWISE USE THE SOFTWARE.

1.  OWNERSHIP OF THE SOFTWARE. All right, title, and interest in and to the Software, including associated intellectual property rights, of any sort and/or kind, are and shall remain solely with Jungo and its licensors, and may be protected by copyright, trademark, patent and trade secret law and international treaties. This Agreement does not convey to you an interest in or to the Software, but only a limited, non-transferable, non-sublicensable, non-exclusive, and revocable right of use, in accordance with the terms of this Agreement. You may not remove any proprietary notices and/or any legends from the Software, in whole or in part.

2.  GRANT OF LICENSE. Jungo hereby grants you a personal, non-exclusive, nontransferable, and non-sublicensable node-locked and time limited license to use the Software.

Individuals: Jungo grants you, as an individual, a personal, non-exclusive, “single-user” license to use the Software on a single computer, in the manner provided below, at the site for which the license was given.

Entities: If you are an entity, Jungo grants you the right to designate one individual within your organization (and only one) to have the right to use the Software on a single computer, in the manner provided below, at the site for which the license was given.

License Scope: A single user license allows usage of WinDriver and redistribution of certain components (as defined below) within a single end product SKU, for a single device (identified by its VID/PID (USB) or VID/DID (PCI)), and without SDK/API capabilities.  If you need extended license or distribution rights, please contact Jungo.

3.  EVALUATION LICENSE. If you have not yet paid license fees for the use of the Software, then Jungo hereby grants you a personal, non-exclusive, non-transferable and non-sublicensable license to internally use the Software for evaluation purposes only, for a period of 30 days (the “Evaluation License”). If, after the expiration of the Evaluation License, you wish to continue using the Software and accompanying written materials, you may do so by remitting the required payment to Jungo, and you will then receive a registration code and a license string that will permit you to use the Software on a single computer under one of the license schemes specified in Section 2 above.

4.  OPEN SOURCE. The Software includes certain files that are subject to open source licenses. These files are identified in their header files (“Open Source Files”). You must use the Open Source Files in accordance with the terms of their respective licenses.
In the event of any contradiction between the terms of this Agreement, and the terms of the open source license accompanying a certain Open Source File, the terms of the latter shall prevail, with regard to the said Open Source File.

RESTRICTIONS ON USE AND TRANSFER

5.  Distribution of Files:

(a) You may not distribute, or otherwise transfer or assign, any portion of the Software, including any of the headers or source files that are included in the Software, unless otherwise expressly permitted in this Agreement, subject to the provisions of Section 4 above.

(b) Subject to your full and continued compliance with the terms of this Agreement, including the ongoing payment of annual license fees, you may distribute the following files:

Windows:
windrvr1630.sys
windrvr1630.inf
wd1630.cat
wdapi1630.dll
wdapi_dotnet1630.dll
wdapi_java1630.dll wdapi_java1600.jar
wdreg.exe
difxapi.dll

Windows_CE:
windrvr1220.dll
wdapi1220.dll

Linux:
windrvr_gcc_v2.a windrvr_gcc_v3.a windrvr_gcc_v3_regparm.a
kp_linux_gcc_v2.o kp_linux_gcc_v3.o kp_linux_gcc_v3_regparm.o
libwdapi1630.so
libwdapi_java1630.so wdapi_java1600.java
kp_wdapi1630_gcc_v2.a kp_wdapi1600_gcc_v3.a kp_wdapi1600_gcc_v3_regparm.a
linux_wrappers.c linux_wrappers.h wdusb_linux.c
wdusb_interface.h wd_ver.h linux_common.h windrvr.h windrvr_usb.h
wdreg
configure makefile.in
configure.wd makefile.wd.in makefile.wd.kbuild.in
configure.usb makefile.usb.in makefile.usb.kbuild.in
setup_inst_dir

(c) The files listed in Section 5.b above may be distributed only as part
of a complete application that you distribute under your organization name,
and only if they significantly contribute to the functionality of your
application. For avoidance of doubt, each organization distributing these
files as part of the organization products is required to have valid
license(s) under the organization name/VID, irrespective of the party who
actually performed the product development. Licenses granted to
subcontractors do not grant distribution or other rights to the
organizations for which they are developing.

(d) The distribution of the windrvr.h header file is permitted only on Linux.

(e) You may not modify the distributed files specified in Section 5.b of this Agreement.

(f) You may not distribute any header file that describes the WinDriver functions, or functions that call the WinDriver functions and have the same basic functionality as that of the WinDriver functions.

6.  The Software may not be used to develop a development product, an API, or any products, which will eventually be part of a development product or environment, without the written consent of Jungo and subject to additional fees and licensing terms.

7.  You may make printed copies of the written materials accompanying the Software, provided that only users bound by this license use them.

8.  You may not allow any third party to use the Software, grant access to the Software (or any portion thereof) to any third party, or otherwise make any commercial use of the Software, including without limitation, assign, distribute, sublicense, transfer, pledge, lease, rent, or share your rights in the Software or any of your rights under this Agreement, all whether or not for any consideration.

9.  You may not translate, reverse engineer, decompile, disassemble, reproduce, duplicate, copy, or otherwise disseminate all or any part of the Software, or extract source code from the object code of the Software.

10. Jungo reserves the right to revise, update, change, modify, add to, supplement, or delete any and all terms of this License Agreement; provided, however, that changes to this License Agreement will not be applied retroactively. Such changes will be effective with or without
prior notice to you. You can review the most current version of this License Agreement under the WinDriver download form page.

11.  You may not incorporate or link any open source software with any open source software part of the Software, or otherwise take any action which may cause the Software or any portion thereof to be subjected to the terms of the Free Software Foundation’s General Public License (GPL) or Lesser General Public License (LGPL), or of any other open source code license.

12.  DISCLAIMER OF WARRANTY. THIS SOFTWARE AND ITS ACCOMPANYING WRITTEN
MATERIALS ARE PROVIDED BY JUNGO “AS IS” WITHOUT ANY WARRANTY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT, ARE HEREBY DISCLAIMED TO THE FULLEST EXTENT PERMITTED UNDER APPLICABLE LAW.

13.  NO LIABILITY. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO
EVENT SHALL JUNGO OR ITS LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, SAVINGS, IP INFRINGEMENT OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

14.  Governing Law. This Agreement and use of the Software are governed by the
laws of the State of Israel, regardless of its conflict of laws rules, and the
competent courts of the State of Israel shall have sole and exclusive
jurisdiction over any dispute under this Agreement or otherwise related to the
Software.

15.  Confidentiality. The Software, including any additional information
related thereto, contains confidential and proprietary information of Jungo.
Accordingly, you agree that you will not, nor allow any third party to,
disseminate, transfer, grant access to, or otherwise disclose to any third
party the Software or any part thereof or any other confidential or proprietary
information of Jungo provided in connection therewith. You will maintain all
copies of the Software and all related documentation in confidence.

16.  Termination and Effects of Termination. Jungo may terminate this Agreement
and the licenses granted to you hereunder at any time if you breach any of your
obligations hereunder, by issuance of written notice to such effect, addressed
to you at the address you provided in your registration form. Upon expiration
or other termination of this Agreement, the Licenses granted to you hereunder
shall immediately and automatically be canceled, and you will immediately
remove all copies of the Software from your computer(s) and cease any use
thereof.

17.  Contact Details. If you have any questions concerning this Agreement or wish to contact Jungo for any reason —

Web site: www.jungo.com
Email:    [email protected]

18.  U.S. GOVERNMENT RESTRICTED RIGHTS. The Software and documentation are provided with RESTRICTED RIGHTS.
Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1)(ii) and (2) of Commercial Computer Software – Restricted Rights at 48 CFR 52.227-19, as applicable.

19. Automatic Renewal. The subscription shall be automatically renewed, unless Licensee notifies Licensor 30 days or more prior to the expiration date of the subscription, of its intent not to renew the subscription.

 

Accessibility Toolbar