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


owftpd - Anoymous FTP server for 1-wire access


owftpd [-C | -F | -K | -R ] [ -r | - w ] -d serialport | -u | -s [host:]port
owftpd [-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 -p host:tcp-port
owftpd -h --help
owftpd --morehelp
owftpd -V --version



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.


owhttpd (1) is an anonymous ftp (file-transfer-protocol) server that shows the Dallas/Maxim 1-Wire bus attached to a computer. The main directory shows the devices found, You can then navigate to individual devices, and view their properties.

owftpd (1) uses the same naming convention as owfs (1) and owhppt (1) , where the URL corresponds to the filename.

The ftp server is a modified version of oftpd by Shane Kerr. It serves no files from the disk, only virtual files from the 1-wire bus. Security should therefore be good. Only the 1-wire bus is at risk.

Specific Options

-p host:portnum

(Optional) Sets the tcp port the ftp server runs on. Access with the URL ftp://anonymous@servernameoripaddress:portnum
The well known ftp port, 21, will be used by default.

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.


    owftpd -d /dev/ttyS0
    Ftp server runs on default tcp port 21, serial adapter at ttyS0
    owftpd -s littlehost:3001 --error_level=3
    Ftp server on default port 21, from owserver process on host "littlehost", extensive error messages.



    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: owftpd.1.html,v 1.1 2006/06/17 22:04:11 alfille Exp $