Provided by: owfs-doc_3.1p1-2ubuntu1_all bug

NAME

       DS1991 - 1152bit MultiKey iButton

SYNOPSIS

       Non-volatile memory with password protection.

       02   [.]XXXXXXXXXXXX[XX][/[   subkey0/reset.    hex_pwd  |  subkey0/password.   hex_pwd  |
       subkey0/secure_data.  hex_pwd | subkey0/id.  hex_pwd

       02  [.]XXXXXXXXXXXX[XX][/[  subkey1/reset.   hex_pwd  |   subkey1/password.    hex_pwd   |
       subkey1/secure_data.  hex_pwd | subkey1/id.  hex_pwd

       02   [.]XXXXXXXXXXXX[XX][/[   subkey0/reset.    hex_pwd  |  subkey2/password.   hex_pwd  |
       subkey2/secure_data.  hex_pwd | subkey2/id.  hex_pwd address |  crc8  |  id  |  locator  |
       r_address | r_id | r_locator | type ]]

FAMILY CODE

       02

SPECIAL PROPERTIES

   subkey[0|1|2]/reset.hex_pwd
       write-only, yes-no
       Initialize one of the three secure data areas and set a new password.

       The   extension   (hex_pwd)   is   the   new   8-byte   password   in   hexidecimal  (e.g.
       password.000204006080A0C0E for bytes 0,2,4,6,8,10,12,14)

       The data must be "1" or "yes" to actually reset the subkey.

       Note: writing a password will clear any existing data and ID.

   subkey[0|1|2]/password.hex_pwd
       write-only, binary
       Change the password of one of the secure subkey areas without losing data.

       The  extension  (hex_pwd)  is  the  existing  8-byte   password   in   hexidecimal   (e.g.
       password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

       The data portion is 8 bytes that will be used as a new password.

   subkey[0|1|2]/secure_data.hex_pwd
       read-write, binary
       Read or write data in one of the three sucure data areas.

       The   extension   (hex_pwd)   is   the  existing  8-byte  password  in  hexidecimal  (e.g.
       password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

       The data portion binary data. Up to 48 bytes in each subkey area, starting at location  0.
       If the wrong password is specified, "random data" is returned on read and data is silently
       ignored on write.

   subkey[0|1|2]/id.hex_pwd
       read-write, binary
       Read or write the subkey id.

       The  extension  (hex_pwd)  is  the  existing  8-byte   password   in   hexidecimal   (e.g.
       password.00020406080A0C0E for bytes 0,2,4,6,8,10,12,14)

       The data portion 8 binary bytes. This is the subkey id.  The correct password must be used
       to write a new id but not to read it.

STANDARD PROPERTIES

   address
   r_address
       read-only, ascii
       The entire 64-bit unique ID. Given as upper case hexidecimal digits (0-9A-F).
       address starts with the family code
       r address is the address in reverse order, which is often used in other  applications  and
       labeling.

   crc8
       read-only, ascii
       The  8-bit  error  correction  portion.  Uses  cyclic  redundancy check. Computed from the
       preceding 56 bits of the unique ID number. Given as upper case hexidecimal  digits  (0-9A-
       F).

   family
       read-only, ascii
       The  8-bit  family  code.  Unique  to each type of device. Given as upper case hexidecimal
       digits (0-9A-F).

   id
   r_id
       read-only, ascii
       The 48-bit middle portion of the unique ID number. Does not include  the  family  code  or
       CRC. Given as upper case hexidecimal digits (0-9A-F).
       r id is the id in reverse order, which is often used in other applications and labeling.

   locator
   r_locator
       read-only, ascii
       Uses  an  extension  of  the 1-wire design from iButtonLink company that associated 1-wire
       physical connections with a unique 1-wire code. If the connection is behind a Link Locator
       the  locator  will  show  a  unique 8-byte number (16 character hexidecimal) starting with
       family code FE.
       If no Link Locator is between the device and the master, the locator field will be all FF.
       r locator is the locator in reverse order.

   present (DEPRECATED)
       read-only, yes-no
       Is the device currently present on the 1-wire bus?

   type
       read-only, ascii
       Part name assigned by Dallas Semi. E.g.  DS2401 Alternative packaging  (iButton  vs  chip)
       will not be distiguished.

ALARMS

       None.

DESCRIPTION

   1-Wire
       1-wire  is  a  wiring  protocol  and series of devices designed and manufactured by Dallas
       Semiconductor, Inc. The bus is a low-power low-speed low-connector scheme where  the  data
       line can also provide power.

       Each  device  is  uniquely  and  unalterably numbered during manufacture. There are a wide
       variety of devices, including memory, sensors (humidity,  temperature,  voltage,  contact,
       current),  switches,  timers  and  data  loggers.  More complex devices (like thermocouple
       sensors) can be built with these basic devices. There are also 1-wire  devices  that  have
       encryption included.

       The  1-wire  scheme uses a single bus master and multiple slaves on the same wire. The bus
       master initiates  all  communication.  The  slaves  can  be  individually  discovered  and
       addressed using their unique ID.

       Bus  masters  come in a variety of configurations including serial, parallel, i2c, network
       or USB adapters.

   OWFS design
       OWFS is a suite of programs that designed to make the 1-wire bus and  its  devices  easily
       accessible. The underlying principle is to create a virtual filesystem, with the unique ID
       being the directory, and the individual properties of the device are represented as simple
       files that can be read and written.

       Details of the individual slave or master design are hidden behind a consistent interface.
       The goal is to provide an easy set of tools for a software designer to  create  monitoring
       or  control  applications.  There are some performance enhancements in the implementation,
       including data caching,  parallel  access  to  bus  masters,  and  aggregation  of  device
       communication.  Still  the  fundemental  goal  has  been  ease  of  use,  flexibility  and
       correctness rather than speed.

   DS1991
       The DS1991 (3) is  an  iButton  with  password  protected  non-volatile  memory.  Data  is
       read/written  with  error checking (transparent to the user). The memory is divided into 3
       different pages with 3 separate passwords.

       In theory, choosing an incorrect password is hard to discern  because  the  chip  responds
       normally  but  with  incorrect  data.  There  is  a published analysis suggesting that the
       "random data" follows a pattern and so a concerted attack might be successful.

       The password (in hexidecimal) is  used  a  the  file  extension  02.1234123414/subkey0/id.
       password allowing a password to be passed to the program within the filesystem paradigm.

ADDRESSING

       All  1-wire  devices  are factory assigned a unique 64-bit address. This address is of the
       form:

       Family Code
              8 bits

       Address
              48 bits

       CRC    8 bits

       Addressing under OWFS is in hexidecimal, of form:

              01.123456789ABC

       where 01 is an example 8-bit family code, and 12345678ABC is an example 48 bit address.

       The dot is optional, and the CRC code can included. If included, it must be correct.

DATASHEET

       http://pdfserv.maxim-ic.com/en/ds/DS1991.pdf

SEE ALSO

   Programs
       owfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1)  owwrite  (1)  owpresent
       (1) owtap (1)

   Configuration and testing
       owfs (5) owtap (1) owmon (1)

   Language bindings
       owtcl (3) owperl (3) owcapi (3)

   Clocks
       DS1427 (3) DS1904(3) DS1994 (3) DS2404 (3) DS2404S (3) DS2415 (3) DS2417 (3)

   ID
       DS2401 (3) DS2411 (3) DS1990A (3)

   Memory
       DS1982  (3)  DS1985  (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3) DS1995 (3) DS1996 (3)
       DS2430A (3) DS2431 (3) DS2433 (3) DS2502 (3) DS2506 (3) DS28E04 (3) DS28EC20 (3)

   Switches
       DS2405 (3) DS2406 (3) DS2408 (3) DS2409 (3) DS2413 (3) DS28EA00 (3)

   Temperature
       DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3) DS1921 (3) DS1821  (3)
       DS28EA00  (3)  DS28E04  (3)  EDS0064  (3)  EDS0065 (3) EDS0066 (3) EDS0067 (3) EDS0068 (3)
       EDS0071 (3) EDS0072 (3) MAX31826 (3)

   Humidity
       DS1922 (3) DS2438 (3) EDS0065 (3) EDS0068 (3)

   Voltage
       DS2450 (3)

   Resistance
       DS2890 (3)

   Multifunction (current, voltage, temperature)
       DS2436 (3) DS2437 (3) DS2438 (3) DS2751 (3) DS2755 (3) DS2756 (3) DS2760  (3)  DS2770  (3)
       DS2780 (3) DS2781 (3) DS2788 (3) DS2784 (3)

   Counter
       DS2423 (3)

   LCD Screen
       LCD (3) DS2408 (3)

   Crypto
       DS1977 (3)

   Pressure
       DS2406 (3) TAI8570 EDS0066 (3) EDS0068 (3)

   Moisture
       EEEF (3) DS2438 (3)

AVAILABILITY

       http://www.owfs.org

AUTHOR

       Christian Magnusson (mag@mag.cx) and Paul Alfille