Welcome to the 1-Wire Drivers Installation
Version 4.02 Beta
The 1-Wire Drivers installation (formerly known as iButton-TMEX RTE) is a set of drivers used to facilitate communications between software applications and Maxim Integrated Products’ 1-Wire devices. Included in the installation are the following:
OneWireViewer.exe - a JavaTM program for communicating with iButtons and other 1-Wire Net compatible 1-Wire devices. It integrates most iButton and other 1-Wire utilities in a single, user-friendly piece of software. The OneWireViewer supports a true network environment. Device-specific viewers allow evaluation of special function devices. A 32-bit Java Runtime Environment (JRE) is required to be downloaded and installed before this program will run properly. Visit the following website to download the latest JRE: http://www.java.com.
Default 1-Wire Net.exe - a Windows program for selecting the default 1-Wire Net port to be used by 1-Wire applications. Note that 1-Wire applications only use this default port on the first invocation. Thereafter, they store their own current 1-Wire Net port. Applications without a means to select a new 1-Wire Net port may rely chiefly on the default port selected by this program.
OneWireViewer.htm – an html page documenting in more detail the OneWireViewer program.
Readme.htm – this document.
Special Considerations for USB
1. Do not plug-in any 1-Wire USB devices until after the 1-Wire Drivers install has completed.
2. If having difficulty upgrading a machine to use WinUSB versus the legacy DS2490.sys, please update the driver by clicking
"Start->Control Panel->System". Then click on the "Hardware" tab and click the "Device Manager" button. Double-click an entry entitled "1-Wire Devices" or "1Wire Devices". Then right-click the resulting sub-entry and choose "Update Driver". An install wizard will appear. Point the wizard to the directory where the 1-Wire drivers were copied (usually under "Program Files\Maxim Integrated Products\1-Wire Drivers x32"), and look for a subdirectory named "WinUSB_Driver". Select this subdirectory. If problems are encountered, see the USB troubleshooting guide in the Appendix of White Paper 6, located online here: http://www.maxim-ic.com/appnotes.cfm/appnote_number/1740.
USB Adapter Port Numbering Notes
1. The way 1-Wire USB adapter (specifically, the DS9490R or DS9490B) enumeration occurs is a bit different from other 1-Wire adapters as some TMEX USB port numbers are reserved.
2. The 1-Wire USB driver supports hot-swap for the default device on Port number 1.
3. Port numbers 2 though 15 are assigned to a particular adapter based on its unique number. This port will remain the same even after the PC is rebooted or devices are removed and reinserted.
4. Port 0 is reserved for DS2490-based adapters with no unique number assigned.
Port |
Description |
0 |
Reserved for adapters with no ROM ID detected |
1 |
Reserved for duplicate handle to first adapter found in USB enumeration |
2-15 |
Assigned port based on ROM ID found |
1-Wire COM (OWCOM API) has been removed from the 1-Wire Drivers package. It is no longer published or supported due to the lack of availability of the Microsoft Java Virtual Machine (MSJVM). If code has been compiled against this COM object, please use the one found in version 4.00 of the 1-Wire Drivers.
1. “WinUSB.dll not found” error message fixed. This message was seen by customers who install the 1-Wire Drivers but only use 1-Wire adapters other than a USB adapter.
2. Timeout added to all WinUSB pipes in the USB underpinnings of the TMEX API. This prevents “hangs” on byte communication for the TMEX API in Windows XP and should improve performance and stability.
3. The WinUSB install script has been re-written to model Microsoft’s example WinUSB install script put out in December, 2007. It should fix the occasional “File Not Found” error generated by Windows Vista installs of the 1-Wire Drivers.
4. Microsoft released new WinUSB-related CoInstaller dll and CoInstaller update dlls. This will update a WinUSB install to the latest version of WDF and should improve stability.
5. TMEX dlls have been modified and their associated Registry keys changed to allow for both x64 and x86 programs to run on x64 Microsoft operating systems. For 32-bit operating systems, the main TMEX keys are stored in their normal key. For x64 operating systems, they are now stored here: [HKEY_CURRENT_USER\Software\Maxim Integrated Products\1-Wire Drivers\x64]
6. OneWireAPI.NET.dll and TMEX API lib files has been removed due to the fact that they now reside in the latest 1-Wire SDK for Windows (version 4.00 beta 2).
7. OneWireViewer is new and updated to version 3.14.10. It now contains support for the DS28EC20 1-Wire EEPROM and the DS1922E iButton temperature data logger.
8. New software publisher’s certificate used to sign the device drivers, OneWireViewer, TMEX dlls, and MSI installer package
1. MSI package modified to install as "ALLUSERS" instead of just for the current user.
2. Updated IBUSB32.dll to patch TMSetup() lengthy delays.
3. Updated IBUSB32.dll to patch a memory leak occurring when looping through available USB port numbers and attaching to a port number with no connected USB devices.
4. Updated IBUSB32.dll to patch incorrect return codes from TMFirstAlarm().
1. The OneWireViewer is now integrated into the 1-Wire Drivers install as an executable and does not require being connected to the internet to run. The on-line Web Start (online) version of the OneWireViewer is also available on the OneWireViewer's homepage.
2. Now supports the following 32-bit Microsoft platforms: Windows XP SP2, Vista, and 2008. If legacy platform support is needed (such as Windows 98 or Windows 2000), please use a previous version of the 1-Wire Drivers, specifically, Version 4.00 and below.
3. Switched to using Microsoft's generic userland device driver and API known collectively as WinUSB. The DS2490.SYS custom device driver is now considered legacy. WinUSB is digitally signed by Microsoft, and the device driver package has been signed with Maxim's software publisher's certificate (SPC).
4. All device drivers and TMEX dlls have been signed with Maxim's SPC.
5. Changed deployment packager to Microsoft's Windows Installer XML (WIX). More information about WIX can be found here: http://wix.sourceforge.net.
6. 1-Wire COM (OWCOM API) is no longer published or supported due to the lack of availability of the Microsoft Java Virtual Machine. We are considering pursuing a ".NET-to-COM" layer for a future release. If code has been compiled against this COM object, please use the one found in version 4.00 of the 1-Wire Drivers. The MSJVM might still be downloaded and installed from a web or ftp site other than Microsoft, such as http://www.linktivity.com/get_java.asp.
7. 1-Wire Drivers .NET support (OneWireAPI.NET.dll) has been upgraded to version 2.0 of the .NET framework due to its wide support and availability on 64-bit Windows systems. It is installed in its own directory and is available to be referenced by other .NET applications. It is an "AnyCPU" build which means it will run as 32-bit on 32-bit systems and 64-bit on 64-bit systems. Example .NET 1-Wire programs can be found on-line on our software “Examples Search”: http://www.maxim-ic.com/products/ibutton/example/. We will be re-compiling these to Version 2.0 of the .NET framework time permitting. Since the .NET 1-Wire support is our 1-Wire API for Java compiled with Microsoft’s J#, the behavior of the 1-Wire .NET support is identical to the 1-Wire API for Java. Please note the following:
a. DotNetAdapterx86 and DotNetAdapterx64 – The new adapter classes are exactly like the TMEX adapter, except it utilizes the TMEX DLLs directly (instead of the TMEX wrapper ibtmjava.dll). Interface and use is unchanged from the standard 1-Wire API for Java. Specify adapters with a ‘curly brace (i.e. {DS9097U}, {DS9490})’.
b. Required Support Libraries that need to be downloaded and installed prior to running 1-Wire .NET examples (see .NET section below for how to download):
i. .NET Runtime or .NET SDK version 2.0
ii. Visual J# .NET redistributable version 2.0
8. Added support for new 1-Wire devices (to .NET):
a. Since Version 4.01 Beta 1: OneWireContainer1C (DS28EA00).
9. Parallel port 1-Wire adapter updates:
a. The DS1410D.SYS driver has had a critical update made to it. A pointer problem has been fixed that could possibly cause a debug-check when booting Windows. This has been fixed.
b. A registry key change is required for proper functioning in Windows Vista.
10. Registry keys have changed. See below for details on the new registry keys.
How to Get Started
1. Attach a 1-Wire Adapter to your USB, COM, or LPT.
2. Attach iButtons or other 1-Wire devices to the adapter.
3. Double-click the OneWireViewer icon created with the install.
To create your own 1-Wire application, see the Software Development Kit (SDK) web page: http://www.maxim-ic.com/products/ibutton/software/sdk/sdks.cfm. It contains information on all the various SDKs we offer. It also contains links to complete documentation and downloads for each of our APIs.
These 32-bit Windows Drivers support the following Maxim 1-Wire adapters.
Adapter |
Port |
Win 2008 |
Win Vista |
Win XP SP2 |
DS9490R DS9490B, (Other DS2490–based adapters)
|
USB |
X |
X |
X |
DS1410E,
|
Parallel (Legacy) |
X |
X |
X |
DS9480 (future USB-to-serial device), DS9097U-009, iButtonLink
|
Serial |
X |
X |
X |
DS9097E,
|
Serial (Legacy) |
X |
X |
X |
Building Custom 1-Wire Drivers Installation Packages
For detailed information on building custom 1-Wire Drivers installation packages, please see White Paper 6: “White Paper 6: 1-Wire Drivers Installation Guide for Windows.” It is available on Maxim Integrated Products’ website here:
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1740/ln/en. It covers the installation process of 1-Wire drivers, including which drivers and DLLs go with which 1-Wire port adapter (USB, serial port, and parallel port), the correct directories to which the drivers need to be copied, their associated registry entries, and any special system checks.
Drivers Installed
The following drivers are installed with this utility. The location the drivers will be copied-to is described in the generic location specified by <>. This location is system dependent and will automatically be changed for your system.
Driver and API Files
Provides general-purpose access to all 1-Wire devices through the standard APIs. See the SDK web page given above for more details.
Drivers:
All Supported Platforms
<windows\system32>\ibfs32.dll
<windows\system32>\ib97u32.dll
<windows\system32>\ib97e32.dll
<windows\system32>\ib10e32.dll
<windows\system32>\ibusb32.dll
<windows\system32>\ibtmjava.dll
<windows\system32\drivers>\ds1410d.sys
<application>\WinUSB_Driver\ds2490winusb_x86.cat
<application>\WinUSB_Driver\ds2490winusb_x86.inf
<application>\WinUSB_Driver\WdfCoInstaller01007.dll
<application>\WinUSB_Driver\WUDFUpdate_01007.dll
<application>\WinUSB_Driver\WinUSBCoInstaller.dll
See above for ibtmjava.dll. It provides native access to the 1-Wire drivers from Java. This library layers on top of the other dlls and device drivers. See the 1-Wire API for Java software development kit on this web page: http://www.ibutton.com/software/1wire/1wire_api.html
The following is a list of registry keys added during this installation.
TMEX dlls:
[HKEY_CURRENT_USER\SOFTWARE\Maxim
Integrated Products\1-Wire Drivers]
"MainDriver"="IBFS32.DLL"
"TYPE1"="IB97E32.DLL"
"TYPE2"="IB10E32.DLL"
"TYPE5"="IB97U32.DLL"
"TYPE6"="IBUSB32.DLL"
"DefaultPortNum"="1" *set by “Default 1-Wire Net” program
"DefaultPortType"="6" *set by “Default 1-Wire Net” program
DS1410E device driver (ds1410d.sys):
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DS1410D]
"ErrorControl"=dword:00000001
"Group"="Extended Base"
"Start"=dword:00000001
"Tag"=dword:00000002
"Type"=dword:00000001
Copyright (C) 2008 Maxim Integrated Products, All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL MAXIM INTEGRATED PRODUCTS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Maxim Integrated Products shall not be used except as stated in the Maxim Integrated Products' Branding Policy.
Information
The complete 1-Wire Drivers Documentation and Software Downloads
http://www.maxim-ic.com/products/ibutton/software/resources.cfm
iButton information:
Maxim Integrated Products information:
Technical Support: