Dallas Semiconductor 1-Wire Temperature sensor
ow_temp module supports many of the 1-Wire
The sensor is read periodically and the results returned via a
as described below.
These temperature sensors are supported by the
- 1-Wire Digital Thermometer
- High-Precision 1-Wire Digital Thermometer
- Programmable Resolution 1-Wire Digital Thermometer
- Econo 1-Wire Digital Thermometer
- Programmable Resolution 1-Wire Digital Thermometer with 4-bit ID
- 1-Wire, Parasite-Power, Ambient Temperature Sensor
The driver supports Family codes 0x10, 0x22, 0x28, and 0x3b.
ow_temp driver reports data via
entries in the device's node in the
- The last temperature read, in milli-Kelvin.
- The number of CRC errors in reading the temperature form the device. Some
CRC errors are to be expected. High rates of CRC errors, however,
generally indicate a noisy environment, cabling issues, or too many
devices on the bus.
- The number of times a non-CRC error was encountered reading the
temperature from the card. This type of error is very rare.
- The time, in ticks, between successive reads of the sensor.
- This item is non-zero when the device is connected using its parasitic
power mode. It can also indicate a wiring error.
Temperatures are reported in milli-Kelvin, even though the
absolute accuracy is around 0.2 degrees for the good devices and around 1
degree for cheaper devices. The devices report in steps of 0.0625 degrees.
The driver preserves the precision of the device's measurements in its
reports. These devices often have a much higher relative accuracy and
repeatability than their absolute accuracy. This makes them well suited for
control loops that strive for stability and become possible if the full
precision is preserved.
1-Wire is a registered trademark of Maxim Integrated Products, Inc.
ow_temp driver first appeared in
ow_temp device driver and this manual page were
written by Warner Losh.
The parasitic mode of the devices does not work. It requires support from the
driver that is unimplemented.
The ID bits from the DS1825 are not recognized
The type of the device is not reported via
Alarm mode is not supported. It is not possible to set the low and
high alarm temperatures.
There is no way to write to the EEPROM.
“Convert Temperature” requests are sent directly to
the device. There is no way to use the broadcast ability of the 1-Wire bus
to do all the conversions in parallel.
It is not possible to set the precision on those devices that
The time to convert is fixed at 1 second, even though some devices
There is no character device to supply a stream of readings to a
program. Programs interested in the temperature must poll the sysctl to get