http://armbedded.eu/node/388 ls /sys/bus/w1/devices ls 89-5e700faafa21 w1 bus master On board is 1kbit EEPROm chip DS2502. Soldered temperature sensorDS18B20 to pin 2. It shows up ls /sys/bus/w1/devices 28-000002def034 89-5e700faafa21 w1 bus master ls 28-000002def034 driver id name power rw subsystem uevent temperature values not available. No directory w1_slave. Sorry, but would need further help. I start to feel like a detective. As there is no 1-wire chip in documentation schematics and pinout tables. Here is what helped http://sites.google.com/site/bifferboard/Home/desktop-linux-distributions/slackware/1-wire modprobe wire modprobe w1-gpio modprobe w1-therm cd /sys/bus/w1/devices/ ls 28-000002def034 89-5e700faafa21 w1 bus master cd 28-000002def034 cat w1_slave a3 01 4b 46 7f ff 0d 10 ce : crc=ce YES a3 01 4b 46 7f ff 0d 10 ce t=26187 Nice it works. Now need to figure out how to process theese data http://blog.mardihas.de/index.php?/archives/8-Bifferboard-and-1-Wire-temperature-sensor.html #!/bin/sh while (true) do t1=$(echo "scale=3;"`cat /sys/bus/w1/drivers/w1_slave_driver/28-000002def034/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }'`"/1000" | bc -l) t2=$(echo "scale=3;"`cat /sys/bus/w1/drivers/w1_slave_driver/28-000002defad3/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }'`"/1000" | bc -l) echo $t1 $t2 sleep 2 done Below is a code checking for errors =================================================================== modprobe wire modprobe w1-gpio modprobe w1-therm while true; do t1=$(cat /sys/bus/w1/drivers/w1_slave_driver/28-000002def034/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }') t2=$(cat /sys/bus/w1/drivers/w1_slave_driver/28-000002defad3/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }') e=0; echo $t1 " " $t2 if [ "$t1" = "-62" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t2" = "-62" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t1" = "85000" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t2" = "85000" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ -z "$t1" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ -z "$t2" ];then echo "bad value"; e=1 ; else echo "fine"; fi echo "error = "$e if [ "$e" -eq "0" ];then echo "update database " t1=$(echo "scale=3;$t1/1000" | bc -l) t2=$(echo "scale=3;$t2/1000" | bc -l) echo $t1 " " $t2 else echo "bad values" fi sleep 2 done =========================================================================== This code check repeats measurement 10 times if there was error -------------------------------------------------------------------------- for i in {1..10};do t1=$(cat /sys/bus/w1/drivers/w1_slave_driver//28-000002dedb58/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }') t2=$(cat /sys/bus/w1/drivers/w1_slave_driver//28-000002dee77a/w1_slave | \ tail -1 | awk -F "=" '{ print $2; }') e=0; echo $t1 " " $t2 if [ "$t1" = "-62" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t2" = "-62" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t1" = "85000" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$t2" = "85000" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ -z "$t1" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ -z "$t2" ];then echo "bad value"; e=1 ; else echo "fine"; fi if [ "$e" -eq "0" ];then break else echo "repeating" fi done -----------------------------------------------------------------------------