1-wire DS18B20 Teploměr (w1-gpio error -2)

Zdravím přátelé,

začal jsem si hrát s GPIO na omnii a zjistil jsem, že nedokážu připojit teploměr DS18B20 (1-wire).

Na omnii jsem postupoval podle tohoto návodu https://www.gl-inet.com/forums/topic/gl-inet6416-and-i2c-rtc-ds1307-at24c32-rtc/
jenže když zadám insmod w1-gpio-custom bus0=0,56,0
tak mám v logu:

[ 1634.605726] Custom GPIO-based W1 driver version 0.1.1
[ 1634.605858] w1-gpio w1-gpio.0: Failed to parse gpio property for data pin (-2)
[ 1634.613713] w1-gpio: probe of w1-gpio.0 failed with error -2

Podle této stránky (https://dev.openwrt.org/ticket/21965) je problém v OpenWRT
Dokonce je k dispozici i patch, problém pro mě je, že je nad mé vědomosti kam s ním.
Tak nějak pouze vím, že se to musí kompilovat ale kam a jak :smiley:

Je tu někdo kdo řeší podobný problém?

PS: Na RPI bylo vše funkční, a evidentně nejsem sám z turristů: https://www.turris.cz/forum/topic_show.pl?tid=45

Zkusil jsem to schválně se stejným postupem na GL-Inet AR6416 s dnešním buildem LEDE, a vše je funkční.
Tímto bych rád požádal TO tým o nápravu. Předem díky.

root@lede:/# opkg update
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_core.
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/Packages.sig.
Signature check passed.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/base/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_base.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/base/Packages.sig.
Signature check passed.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/luci/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_luci.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/luci/Packages.sig.
Signature check passed.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_packages.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages/Packages.sig.
Signature check passed.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/routing/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_routing.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/routing/Packages.sig.
Signature check passed.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/telephony/Packages.gz.
Updated list of available packages in /var/opkg-lists/reboot_telephony.
Downloading http://downloads.lede-project.org/snapshots/packages/mips_24kc/telephony/Packages.sig.
Signature check passed.
root@lede:/# opkg install kmod-w1 kmod-w1-master-gpio kmod-w1-gpio-custom
Installing kmod-w1 (4.4.42-1) to root…
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/kmod-w1_4.4.42-1_mips_24kc.ipk.
Installing kmod-w1-master-gpio (4.4.42-1) to root…
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/kmod-w1-master-gpio_4.4.42-1_mips_24kc.ipk.
Installing kmod-w1-gpio-custom (4.4.42-3) to root…
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/kmod-w1-gpio-custom_4.4.42-3_mips_24kc.ipk.
Configuring kmod-w1.
Configuring kmod-w1-master-gpio.
[ 309.317445] Driver for 1-wire Dallas network protocol.
Configuring kmod-w1-gpio-custom.
root@lede:/# insmod w1-gpio-custom bus0=0,20,0
[ 556.271255] Custom GPIO-based W1 driver version 0.1.1
root@lede:/# [ 556.311688] w1_master_driver w1_bus_master1: Family 28 for 28.000007e50aa1.7a is not registered.
[ 556.351694] w1_master_driver w1_bus_master1: Family 28 for 28.000007e50b9b.95 is not registered.
root@lede:/# cat /sys/kernel/debug/gpio
GPIOs 0-29, platform/ath79-gpio, ath79:
gpio-0 ( |gl-inet:red:wlan ) out lo
gpio-11 ( |reset ) in lo
gpio-13 ( |gl-inet:green:lan ) out lo
gpio-20 ( |w1 ) in hi

GPIOs 496-511, platform/ar933x_wmac, ath9k-phy0:
gpio-497 ( |ath9k-phy0 ) out lo
root@lede:/# opkg install kmod-w1-slave-therm
Installing kmod-w1-slave-therm (4.4.42-1) to root…
Downloading http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/kmod-w1-slave-therm_4.4.42-1_mips_24kc.ipk.
Configuring kmod-w1-slave-therm.
root@lede:/# cat /sys/bus/w1/drivers/w1_slave_driver/28-000007e50aa1/w1_slave
e4 ff 4b 46 7f ff 0c 10 a8 : crc=a8 YES
e4 ff 4b 46 7f ff 0c 10 a8 t=-1750
root@lede:/# cat /sys/bus/w1/drivers/w1_slave_driver/28-000007e50b9b/w1_slave
4a 01 4b 46 7f ff 06 10 f7 : crc=f7 YES
4a 01 4b 46 7f ff 06 10 f7 t=20625
root@lede:/# uname --all
Linux lede 4.4.42 #0 Mon Jan 16 19:40:14 2017 mips GNU/Linux
root@lede:/# cat /tmp/sysinfo/model
GL-iNet 6416A v1
root@lede:/# cat /proc/version
Linux version 4.4.42 (buildbot@builds) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3009-968fa53) ) #0 Mon Jan 16 19:40:14 2017
root@lede:/#

No ano, problém s tím w1-gpio-custom je, že to je pořádný hack, co nepůjde nikdy upstreamovat.

Napadá mi, že by bylo mnohem rozumnější dostat podporu dynamické specifikace GPIO pinu přes parametr hlavního modulu. Ale patrně to nikoho nepálilo dost na to, aby to udělal.

Hack/patch do w1-gpio, aby se to rozjelo s w1-gpio-custom dodáme v dalším releasu. :frowning:

Díky za info, sice Vám zas až tak nerozumím, toto jsou věci hodně nad můj level :slight_smile: , ale jsem rád, že to bude v dalším releasu. Je nějaký předběžný/přibližný termín kdy by tento release mohl být? Děkuji.

Jinak pro ostatní, je to linkované na tuto issue na githubu: https://github.com/CZ-NIC/turris-os/issues/44

Tak kdy bude relase nevím. Ale @miska muj patch přijal do testing větve minulý týden, takže v nejbližším vydání to bude…

1 Like