These options specify the device (bus master) connecting
the computer to the 1-wire bus. The 1-wire slaves are
connected to the 1-wire bus, and the bus master connects to
a port on the computer and controls the 1-wire bus. The bus
master is either an actual physical device, the kernel w1
module, or an At least one device option is required. There
is no default. More than one device can be listed, and all
will be used. (A logical union unless you explore the
/bus.n/ directories.) Linux and BSD enforce a
security policy restricting access to hardware ports. You
must have sufficient rights to access the given port or
access will silently fail. specifies a serial port, e.g. or
an USB port accessed as serial port, e.g.
/dev/ttyUSB0 If OWFS was built with libftdi
support, you may be able to use the prefix in any of the
options as port to address a FTDI-based USB device.
For details, see the FTDI ADDRESSING section. -d port
| --device=port (DS2480B) DS2480B-based bus master
(like the DS9097U or an adapter of the LINK
family in emulation mode). If the adapter doesn’t
respond, a passive type (DS9907E or diode/resistor) circuit
will be assumed.
Changes details of bus timing (see DS2480B datasheet). Some
devices, like the cannot work with
--baud=1200|9600|19200|38400|57600|115200
(DS2480B,LINK,HA5) Sets the initial serial port
communication speed for all bus masters. Not all serial
devices support all speeds. You can change the individual
bus master speed for a device of the family and in the
interface/settings directory. The speed is set in hardware,
so the command line baud rate should match that rate.
Usually the default settings (9600 for a device of the
family and ) and 115200 for the are sane and shouldn’t
be changed. --straight_polarity |
--reverse_polarity (DS2480B) Reverse polarity of
the DS2480B output transistors? Not needed for the DS9097U,
but required for some other designs. --link=port
(LINK) adapter (all versions) in non-emulation mode. Uses
an ascii protocol over serial.
This supports the simplified ftdi:<serial
number> addressing scheme. --ha7e=port
(HA7E) adapter ( and ) in native ascii mode.
−−ha5=port | −−ha5=port:a |
−−ha5=port:acg (HA5) mutidrop adapter in
native ascii mode. Up to 26 adapters can share the same
port, each with an assigned letter. If no letter specified,
the program will scan for the first response (which may be
slow).
Turn on (default) or off the checksum feature of the HA5
communication. --passive=port | --ha2=port
| --ha3=port | --ha4b=port (Passive)
Passive 1-wire adapters. Powered off the serial port and
using passive electrical components (resitors and diodes).
Synthesize the 1-wire waveforme using a 6-bit (default)
serial word, or 8-bit word. Not all UART devices support 6
bit operation. --timeout_serial=5 Timeout (in
seconds) for all serial communications. 5 second default.
Can be altered dynamically under The only supported true USB
bus masters are based on the DS2490 chip. The most common is
the DS9490R which has an included 1-wire ID slave with
family code 81. There are also bus masters based on the
serial chip with a USB to serial conversion built in. These
are supported by the serial bus master protocol. DS2490
based bus master (like the DS9490R). Use the second USB bus
master. (The order isn’t predicatble, however, since
the operating system does not consistently order USB
devices). Use all the USB devices. Changes the details of
1-wire waveform timing for certain network configurations.
Willy Robion’s alternative USB timing. Timeout for USB
communications. This has a 5 second default and can be
changed dynamically under I2C is 2 wire protocol used for
chip-to-chip communication. The bus masters: and can specify
(via pin voltages) a subset of addresses on the i2c bus.
Those choices are 0,1,2,3 0x18,0x19,0x1A,0x1B 4,5,6,7
0x1C,0x1D,0x1E,0x1F (DS2482-800 only) for i2c masters have
the form −d port | −−device=port
This simple form only permits a specific and the first
available −−i2c=port |
−−i2c=port:i2c_address |
−−i2c=port:ALL Specific i2c and the is either
the first, specific, or all or them. The is 0,1,2,...
−−i2c | −−i2c=: |
−−i2c=ALL:ALL Search the available i2c buses
for either the first, the first, or every i2c adapter. The
masters 8 1-wire buses and so will generate 8 entries. These
bus masters communicate via the tcp/ip network protocol and
so can be located anywhere on the network. The is of the
form tcp_address:port E.g. 192.168.0.1:3000 or
localhost:3000 LinkHubE network LINK adapter by HA7Net
network 1-wire adapter with specified tcp address or
discovered by udp multicast. By
specific timeout for HA7Net communications (60 second
default). Etherweather adapter −s network_address
| −−server=network_address Location of an
program that talks to the 1-wire bus. The default port is
4304. Timeout for network bus master communications. This
has a 1 second default and can be changed dynamically under
Used for testing and development. No actual hardware is
needed. Useful for separating the hardware development from
the rest of the software design. is a list of
comma-separated 1-wire devices in the following formats.
Note that a valid CRC8 code is created automatically.
10,05,21 Hexadecimal (the DS18S20, DS2405 and DS1921 in this
example). 10.12AB23431211 A more complete hexadecimal unique
address. Useful when an actual hardware device should be
simulated. DS2408,DS2489 The 1-wire device name. (Full ID
cannot be speciifed in this format). Random address and
random values for each read. The device ID is also random
(unless specified). Specify the temperature limits for the
adapter simulation. These should be in the same temperature
scale that is specified in the command line. It is possible
to change the limits dynamically for each adapter under
Predictable address and predictable values for each read.
(See the website for the algorhythm). This a linux-specific
option for using the operating system’s access to bus
masters. Root access is required and the implementation was
still in progress as of owfs v2.7p12 and linux 2.6.30. Bus
masters are recognized and added dynamically. Details of the
physical bus master are not accessible, bu they include USB,
i2c and a number of GPIO designs on embedded boards. Access
is restrict to superuser due to the netlink broadcast
protocol employed by w1. Multitasking must be configured
(threads) on the compilation. Use the linux kernel w1
virtual bus master. Timeout for w1 netlink communications.
This has a 10 second default and can be changed dynamically
under FTDI is a brand of USB-to-serial chips which are very
common. If your serial device is connected via a USB serial
dongle based on a FTDI chip, or if your adapter uses a
built-in FTDI USB chip (for example, the LinkUSB), you can
use this FTDI addressing. The main benefit with this mode of
access is that we can decrease the communication delay,
yielding twice as fast 1-Wire communication in many cases.
The following values for port can be used to identify a
specific FTDI port in several of the serial devices options.
Note that this requires that OWFS is built with libftdi
support, which might not be the case in standard
repositories. ftdi:d:<device-node> path of
bus and device-node (e.g. "003/001") within usb
device tree (usually at /proc/bus/usb/ or /dev/bus/usb/)
ftdi:i:<vendor>:<product> first device
with given vendor and product id, ids can be decimal, octal
(preceded by "0") or hex (preceded by
"0x")
ftdi:i:<vendor>:<product>:<index>
as above with index being the number of the device (starting
with 0) if there are more than one
ftdi:s:<vendor>:<product>:<serial
number> the device with given vendor id, product id and
serial number string The above formats are parsed fully by
libftdi (minus the ftdi: prefix). An additional
format is supported, for certain bus types. This only
specifies the USB serial number. ftdi:<serial
number> Identifies a FTDI device by serial number only.
Currently, this is only valid for the VID/PID found on the
LinkUSB (i.e. --link). Note that those VID/PID’s are
the default for any FT232R device, and in no way exclusive
to LinkUSB. In order to run owserver (1) without root
privileges - as you should, you must have sufficient
permissions to the raw USB node your adapter is connected to
e.g. "003/001" (usually at /proc/bus/usb/ or
/dev/bus/usb/). An easy way to achieve this would be using
chown (1): sudo chown :<your user>
/dev/bus/usb/003/001 changes the group of the raw USB node
"003/001" from default "root" to
"<your user>" You can also write a udev
(1) rule for your adapter:
SUBSYSTEM=="usb", DRIVER=="usb",
ATTR{idVendor}=="0403",
ATTR{idProduct}=="6001",
ATTR{serial}=="AK0048A0",
GROUP="owsrv" saved as a file e.g.
"10-FTDI-LinkUSB.rules" in
"/etc/udev/rules.d/", this rule will automate the
process of changing the group to "owsrv" of the
raw USB node the LinkUSB adapter with S/N:AK0048A0 is
connected to. Communication in FTDI mode accesses the RAW
USB node and NOT the serial USB node your OS might have
created automatically e.g. /dev/ttyUSB0.
As a side effect, if existing, the serial USB node e.g.
/dev/ttyUSB0 is removed on successful starting of
owserver (1). After it’s termination un- and
re-plugging the adapter, or un- and reloading of the module
ftdi_sio will recreate the serial USB node.
owusbprobe is THE tool to find the information needed
for direct FTDI addressing
However this tool might not yet be packaged in your version.
Alternatively you can also use lsusb to find the usb node
your adapter is connected to, and then use lsusb again on
this very node: sudo lsusb -D
/path/to/your/raw/USB/device/node |egrep
"idVendor|idProduct|iSerial" sudo is necessary to
get the value of iSerial field, if the permissions are still
unchanged owserver -d ftdi:s:0x0403:0x6001:A800bXHr
starts owserver with a LinkUSB
(VID:0x0403,PID:0x6001,S/N:A800bXHr) as bus master in
DS2480B-based emulation mode with direct FTDI access
owserver --link=ftdi:A800bXHr starts owserver with a
LinkUSB (S/N:A800bXHr) as bus master identified by serial
number only in native mode with direct FTDI access