OW_TEMP(4)
β¨ ow_temp(4) β the 1-Wire temperature sensor girlies β¨
okay so this is ow_temp(4), straight outta the Kernel Interfaces Manual, and she is the manual page for the Dallas Semiconductor 1-Wire Temperature sensor. buckle up bestie, we're reading temps π
π‘οΈ NAME π‘οΈ
ow_temp β Dallas Semiconductor 1-Wire Temperature sensor
β¨ SYNOPSIS β¨
device ow_temp
π DESCRIPTION π
The ow_temp module supports many of the 1-Wire temperature sensors. no cap, it's versatile like that π¦
The sensor is read periodically and the results come back to you via a sysctl(3) β all the deets are down below π
π HARDWARE π
These temperature sensors are supported by the ow_temp driver, and honestly? iconic lineup:
- DS1820 β 1-Wire Digital Thermometer
- DS18S20 β High-Precision 1-Wire Digital Thermometer
- DS18B20 β Programmable Resolution 1-Wire Digital Thermometer
- DS1822 β Econo 1-Wire Digital Thermometer
- DS1825 β Programmable Resolution 1-Wire Digital Thermometer with 4-bit ID
- MAX31820 β 1-Wire, Parasite-Power, Ambient Temperature Sensor
The driver supports Family codes 0x10, 0x22, 0x28, and 0x3b. periodt π
π 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 menu, no gatekeeping π«Ά
temperatureβ the last temperature read, in milli-Kelvin. that's the vibe check result right there π₯badcrcβ the number of CRC errors in reading the temperature from the device. ngl, some CRC errors are to be expected β she's just a little glitchy sometimes π. High rates of CRC errors, however, generally indicate a noisy environment, cabling issues, or too many devices on the bus. so if it's screaming, check your setup bestie πbadreadβ the number of times a non-CRC error was encountered reading the temperature from the card. this type of error is very rare β like, main character of a rarity β¨reading_intervalβ the time, in ticks, between successive reads of the sensor. the gap between her little check-ins πparasiteβ this item is non-zero when the device is connected using its parasitic power mode. it can also indicate a wiring error. soβ¦ not always what it looks like π
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 β which makes them so well suited for control loops that strive for stability, and that becomes possible if the full precision is preserved. ate and left no crumbs π
π SEE ALSO π
ow(4), owc(4), sysctl(8), owll(9), own(9)
βοΈ LEGAL βοΈ
1-Wire is a registered trademark of Maxim Integrated Products, Inc. gotta give credit where it's due bestie π
π HISTORY π
The ow_temp driver first appeared in FreeBSD 11.0. she's been here a minute, and she's thriving πΈ
π AUTHORS π
The ow_temp device driver and this manual page were written by Warner Losh. thank you for your service king π«Άβ¨
π BUGS π
okay so this is the part where we keep it real. there are some things she cannot do, and pretending otherwise would be lying to you:
- The parasitic mode of the devices does not work. It requires support from the
owc(4)driver that is unimplemented. so yeah, that one's just not happening π - The ID bits from the DS1825 are not recognized or reported. the 4-bit ID is giving mysterious, unread β¨
- 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. no alarm girlies here π
- 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. so no parallel slay, one at a time bestie π
- 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. she's on her own schedule π
- 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. no push notifications, you gotta go ask her yourself π²
and that's the whole page babes π this one came to you from Debian, dated July 20, 2015 β vintage but still serving. stay cozy, keep your bus quiet, and don't forget to poll πβ¨π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2015 M. Warner Losh
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms