OWFS SF.net project page New OWFS Website! by Paul H Alfille SourceForge.net Logo
OWFS Design

OWFS Features

OWFS Software
Install instructions
Bootable CD
Filesystem (owfs)
Web Server (owhttpd)
Backend Server (owserver)
Perl bindings (owperl)
Python bindings (owpython)
PHP bindings (owphp)
Tcl bindings (owtcl)
Daily Configured Package
CVS -- newest
CVS Statistics
Examples & Usage
1-wire wireless
1-Wire Hardware
OWFS Project
Table of Contents


owfs - 1-wire filesystem


owfs [-C | -F | -K | -R ] [ -r | - w ] -d serialport | -u | -s [host:]port [host:]port mountpoint
owfs [-C | -F | -K | -R ] [ -r | - w ] [ -f f[.]i[[.]c] ] [ -t timeout ] [ --background | --foreground ] [ --link | --nolink ] [ -P --pid-file filename ] [ --error_print 0|1|2|3 ] [ --error_level 0|1|2|3|9 ] [ --msec_read milliseconds -d serialport | -u | -s [host:]port [ --fuse_opt options ] mountpoint
owfs -V --version
owfs -h | --help

owfs --morehelp



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

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

The 1-wire bus is accessed via one of a number of serial, parallel or USB adapters.

OWFS design

OWFS is a suite of programs that fundementally make the 1-wire bus and its devices easily accessible. The underlying priciple is to create a virtual filesystem, with the unique ID being the directory, and the individual properties of the device files.

There is optional data caching to improved performance, but possible confusion over stale data.


owfs (1) is the filesystem client of the OWFS family of programs. It is Linux-specific, and requires the fuse kernel module and library. (http://fuse.sourceforge.net) which is a user-mode filesystem driver.

Essentially, the entire 1-wire bus is mounted to a place in your filesystem. All the 1-wire devices are accessible using standard file operations (read, write, directory listing). The system is safe, no actual files are exposed, these files are virtual. Not all operations are supported. Specifically, file creation, deletion, linking and renaming are not allowed. (You can link from outside to a owfs file, but not the other way around).

Standard Options

-C --Celsius | -F --Fahrenheit | -K --Kelvin | -R --Rankine

Temperature scale used for data output. Celsius is the default.

-r --readonly

-w --write

Do we allow writing to the 1-wire bus (writing memory, setting switches, limits, PIOs)? The write option is available for symmetry, it’s the default.

-d --device "deviceport"

Sets the serial port. It should have a LINK, DS9097U or DS9097 (passive adapter) attached. The "-d" is implied if two arguments are supplied. (See examples). Also accepted is i2c devices (e.g. /dev/i2c-0)
Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

-s [host:]port

Connect via tcp (network) to an owserver process that is connected to a physical 1-wire bus. This allows multiple processes to share the same bus. The owserver process can be local, or remote.
Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

-u --usb

Use the USB adapter (DS9490) as 1-wire bus master. An optional number 1,2,... specifies which adapter to use if more than one is present.
Use all instead of a number (e.g. -uall) to discover and use all DS9490 USB adapters. Note: multiple instances of -d, -u, -s are allowed. Each corresponds to a different 1-wire bus. The result will reflect the logical union of those buses.

Help Options

-h --help

Shows basic summary of options.


Show less common options.

-V --version

Version of this program and related libraries.

Other Options

--background | --foreground

Whether the program releases the console and runs in the .I background after evaluating command line options. background is the default.

--link | --nolink

All serial adapters manufactured by iButtonLink should be used in their ascii mode rather than the (default)DS9097U emulation. This allows some extended features, but interfears with DS2409 (3) hubs.


  1. default mixed destination: stderr foreground / syslog background
  2. syslog only
  3. stderr only
  4. dev/null (supress all).


  1. default errors only
  2. connections/disconnections
  3. all high level calls
  4. data summary for each call
  5. details level
    debugging chaff

    -f --format "f[.]i[[.]c]"

    Display format for the 1-wire devices. Each device has a 8byte address, consisting of:
    family code, 1 byte
    ID number, 6 bytes
    CRC checksum, 1 byte

    Possible formats are f.i (default, 01.A1B2C3D4E5F6), fi fic f.ic f.i.c and fi.c

    All formats are accepted as input, but the output will be in the specified format.

    -P --pid-file "filename"

    Places the PID -- process ID of owfs into the specified filename. Useful for startup scripts control.

    -t --timeout "seconds"

    Set the number of seconds that volitile data (measured values like temperature and voltage) should be cached before requerying the BUS. More stable values will be saved ten times longer (switch settings, memory contents). 10 seconds is the default.


    Milliseconds before read timeout (for serial reads). Some embedded systems, and USB->serial adapters seem to need more than the default 500 msec.

    Specific Options

    --fuse-opt "options"

    Sends options to the fuse-mount process. Options should be quoted, e.g. "-x" (which allows others to mount this directory).


    owfs -d /dev/ttyS0 /mnt/1wire
    Adapter on serial port
    owfs -F -u /mnt/1wire
    USB adapter, temperatures reported in Fahrenheit
    owfs -s 10.0.1.html.2.html:3001 /mnt/1wire
    Connect to a OWFS server process ( owserver ) that was started on another machine at tcp port 3001

    See Also


    owfs (1) owhttpd (1) owftpd (1) owserver (1)

    Language bindings

    owtcl (3) owperl (3)


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


    DS2401 (3) DS1990A (3)


    DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3) DS1995 (3) DS1996 (3) DS2431 (3) DS2433 (3) DS2502 (3) DS2506 (3) DS2804 (3)


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


    DS1822 (3) DS18B20 (3) DS18S20 (3) DS1920 (3) DS1921 (3) DS1821 (3)


    DS1922 (3)


    DS2450 (3)


    DS2890 (3)


    DS2436 (3) DS2438 (3) DS2760 (3)


    DS2423 (3)

    LCD Screen

    LCD (3) DS2408 (3)


    DS1977 (3)




    Paul Alfille (palfille@earthlink.net)

    Table of Contents

© 2003-4 Paul H. Alfille and The owfs Team
$Id: owfs.1.html,v 1.18 2006/06/17 22:04:11 alfille Exp $