Table of Contents


owfs - 1-wire filesystem


owfs -c config ] -d serialport | -u | -s [host:]port -m mountdir



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 unalterably numbered during manufacture. There is 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 bus is accessed via one of a number of serial, parallel, i2c, network 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. ( 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).

Device Options

These options specify the 1-wire bus master the physically connects to the 1-wire bus. More than one can be specified. The result will be the logical union of all the specified bus masters. Individual adapters can be addressed as bus.0 bus.1 ...

At least one device option is required. There is no default.

Note that your operating system will likely restrict access to physical ports to authorised users.

-d /dev/ttyS0

Serial adapter. The address of the serial port is operating system-dependent. Adapters supported are the DS2480B-based DS9097U , iButtonLink's LINK in emulation mode, or the passive DS9097

-d /dev/i2c-0

Use i2c adapter 0. Based on the DS2482-100 or the DS2482-800. The DS2482-800 is interesting, it actually has 8 separately addressable 1-wire bus lines, and will appear as 8 separate busses.

-u --usb

USB adapter (based on the DS2490, like the DS9490R).

In general the operating system will assign the first avaliable adapter. Use the option: -u2 or --usb=2 for the second adapter. To use all the available USB adapters: -all or --usb=all


The iButtonlink LINK adapter on serial port 0. The LINK uses it's own ascii communication protocol.

-s localhost:4304

Connect to an owserver at the listed network location.


Create a simulated bus with simulated devices (family codes 10,12 and 28 in this case). All the responses are random, and writing is not supported.


Create a simulated bus with simulated devices (family codes 10,12 and 28 in this case). All the responses are predictable (see the web site for the algorithm) and thus useful for automated test scripts.

Specific Options

-m --mountpoint=directory_path

Path of a directory to mount the 1-wire file system

The mountpoint is required. There is no default.


Shorthand for fuse mount option "-o allow_other" Allows uther users to see the fuse (owfs) mount point and file system. Requires a setting in /etc/fuse.conf as well.

--fuse-opt "options"

Sends options to the fuse-mount process. Options should be quoted, e.g. "

Temperature Scale Options

-C --Celsius

-F --Fahrenheit

-K --Kelvin

-R --Rankine

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

Can also be changed within the program at /settings/units/temperature_scale

Format Options

Choose the representation of the 1-wire unique identifiers. OWFS uses these identifiers as unique directory names.

Although several display formats are selectable, all must be in family-code-first form, unlike some other programs and the labelling on iButtons, which are CRC8-first.

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

Job Control Options

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

-P --pid-file "filename"

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

--background | --foreground

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


default mixed destination: stderr foreground / syslog background
syslog only
stderr only
/dev/null (quiet mode).


default errors only
all high level calls
data summary for each call
details level
debugging chaff

--error_level=9 produces a lot of output

Configuration File

-c file | --configuration file

Name of an owfs (5) configuration file with

more command line parameters

Help Options

See also this man page and the web site

-h --help=[device|cache|program|job|temperature]

Shows basic summary of options.
1-wire bus master options
cache and communication size and timing
mountpoint or TCP server settings
control and debugging options
Unique ID display format and temperature scale

-V --version

Version of this program and related libraries.

Time Options

These options affect the times that data stays in memory, and the times that the program will wait for network or external device responses. Default values are shown.


Seconds until a volatile property expires in the cache. Volatile properties are those (like temperature) that change on their own.

Can be changed within the program at /settings/timeout/volatile


Seconds until a stable property expires in the cache. Stable properties are those that shouldn't change unless explicitly changed. Memory contents for example.

Can be changed within the program at /settings/timeout/stable


Seconds until a directory listing expires in the cache. Directory lists are the 1-wire devices found on the bus.

Can be changed within the program at /settings/timeout/directory


Seconds until the presence and bus location of a 1-wire device expires in the cache.

Can be changed within the program at /settings/timeout/presence


Seconds until the expected response from the serial port adapter is deemed tardy. Applies to the LINK, DS9097U and DS9097 (passive) adapter.

Can be changed within the program at /settings/timeout/serial


Seconds until the expected response from the usb port adapter is deemed tardy. Applies to the DS9490.

Can be changed within the program at /settings/timeout/network


Seconds until the expected response from the tcp port adapter is deemed tardy. Includes the LINK-HUB-E and HA7Net

Can be changed within the program at /settings/timeout/network


Seconds until the expected response from the owserver (1) is deemed tardy.

Can be changed within the program at /settings/timeout/server


Seconds that an ftp session is kept alive.

Can be changed within the program at /settings/timeout/ftp


Seconds that the program will wait for a (tcp) response from the HA7Net adapter.

Can be changed within the program at /settings/timeout/ha7


owfs -d /dev/ttyS0 -m /mnt/1wire
Adapter on serial port
owfs -F -u -m /mnt/1wire
USB adapter, temperatures reported in Fahrenheit
owfs -s -m /mnt/1wire
Connect to an owserver (1) process that was started on another machine at tcp port 4304

See Also


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)


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


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


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)


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


DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3) DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3)


DS1922 (3)


DS2450 (3)


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)


DS2423 (3)

LCD Screen

LCD (3) DS2408 (3)


DS1977 (3)


DS2406 (3) -- TAI8570



Paul Alfille (

Table of Contents