OW_TEMP(4)
Hey bestie π welcome to the OW_TEMP(4) page β itβs giving Kernel Interfaces Manual, and yes, the manual name is literally OW_TEMP(4). This is your cozy little guide to the Dallas Semiconductor 1-Wire Temperature sensor situation. Letβs get into it, no cap. π«Ά
πΈ NAME πΈ
ow_tempβ Dallas Semiconductor 1-Wire Temperature sensor
β¨ SYNOPSIS β¨
Okay so the whole config vibe is literally this and nothing else, bestie:
device ow_temp
Thatβs it. Iconic. π
π¦ DESCRIPTION π¦
The ow_temp module supports many of the 1-Wire temperature sensors. The sensor is read periodically and the results returned via a sysctl(3) as described below. So yes, itβs lowkey polling behind the scenes and serving the tea through sysctl. π
π₯ HARDWARE π₯
The ow_temp driver supports these temperature sensors, bestie:
DS1820β 1-Wire Digital ThermometerDS18S20β High-Precision 1-Wire Digital ThermometerDS18B20β Programmable Resolution 1-Wire Digital ThermometerDS1822β Econo 1-Wire Digital ThermometerDS1825β Programmable Resolution 1-Wire Digital Thermometer with 4-bit IDMAX31820β 1-Wire, Parasite-Power, Ambient Temperature Sensor
The driver supports Family codes 0x10, 0x22, 0x28, and 0x3b. Slay. β¨
β¨ SYSCTL β¨
The ow_temp driver reports data via sysctl(8) entries in the device's node in the sysctl(8) tree. Hereβs the whole little menu:
temperatureβ The last temperature read, in milli-Kelvin.badcrcβ The number of CRC errors in reading the temperature from 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. Not the vibe, but good to know. πbadreadβ The number of times a non-CRC error was encountered reading the temperature from the card. This type of error is very rare. (Yes, the page says βcardβ β weβre keeping it exactly as written, bestie. π«Ά)reading_intervalβ The time, in ticks, between successive reads of the sensor.parasiteβ 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 sysctl(8) 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. Stability queen behavior. π
π SEE ALSO π
Bestie, go peek at these:
βοΈ LEGAL βοΈ
1-Wire is a registered trademark of Maxim Integrated Products, Inc. Gotta respect the trademark, bestie. π
π°οΈ HISTORY π°οΈ
The ow_temp driver first appeared in FreeBSD 11.0. Throwback. β¨
π AUTHORS π
The ow_temp device driver and this manual page were written by Warner Losh. Iconic author behavior, fr fr. π«Ά
π BUGS π
Okay bestie, hereβs the honest tea β there are some real caveats:
- The parasitic mode of the devices does not work. It requires support from the
owc(4)driver that is unimplemented. - The ID bits from the
DS1825are not recognized or reported. - The type of the device is not reported via
sysctl(8). - 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 support it.
- The time to convert is fixed at 1 second, even though some devices are faster.
- 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 the temperature.
Debian packaged this with love, dated November 22, 2024, and the footer tag is OW_TEMP(4) β bye bestie, go read those temps responsibly! ππ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: BSD-2-Clause
- Copyright (c) 2015 M. Warner Losh <imp@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms