Welcome to the 1-Wire Drivers Installation

Version 4.01 R2 (32-bit)

 

 

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.

 

1-Wire API for .NET.txt– text file documenting in more detail the .NET 1-Wire library included in this installation.

 

 

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.

 

USB Adapter Port Number Mapping

 

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

 

Special Considerations for OWCOM API

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).  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.

 

New for Version 4.01 R2 (Revision 2)

 

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().

 

New for Version 4.01

 

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.

 

Adapters Supported

 

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,
DS1410D

 

Parallel

(Legacy)

X

X

X

DS9097U-009,
DS9097U-S09,
DS9097U-E25,
DS1411

iButtonLink

 

Serial

X

X

X

DS9097E,
DS9097,
DS1413,
HA2,
HA3,
HA4

 

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\WdfCoInstaller01005.dll

<application>\WinUSB_Driver\WinUSBCoInstaller.dll

<application>\OW.NET\OneWireAPI.NET.dll

               

 

 

.NET

 

See above for OneWireAPI.NET.dll.  This is a .NET friendly dll that encapsulates the entire 1-Wire API for Java.  To use the dll requires the installation of the .NET framework Version 2.0 along with the Visual J# .NET Redistributable Package (Version 2.0 Second Edition x86) available from Microsoft.  To obtain the correct runtime/redistributables, go to:

http://msdn.microsoft.com/netframework/

 

Then, search for the following two items using the appropriate keywords:

1.        .NET Framework Version 2.0.  Perform a site search using the

keywords ".net 2.0 redistributable".  Click on the first item in the results list.

It should contain download and installation instructions.

2.        Visual J# .NET Redistributable Version 2.0 – Second Edition (x86).  Perform a site search

using the keywords "J# 2.0 redistributable".  Click on the first item in the results list.

It should contain download and installation instructions.

 

Java

 

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

 

 


Registry Keys Added

 

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

 

 

License

 

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:

http://www.ibutton.com/

Maxim Integrated Products information: 

http://www.maxim-ic.com/

Technical Support:

http://discuss.dalsemi.com