Artikel
2 Kommentare

DS9490R bringt nach kurzer Zeit Fehlermeldungen unter Archlinux am Raspberry Pi

1-Wire USB Adapter DS9490R

Ich habe mir vor 2 Monaten einen DS9490R zugelegt um meine Herde an DS18B20 über den Raspberry Pi zu verwalten und abzufragen. Die positive Bastlerstimmung wurde ziemlich schnell durch Kernelmeldungen ala

[ 1750.434431] Failed to read 1-wire data from 0x81: err=-110.
[ 1750.440617] 0x81: count=-110, status:

getrübt. Der Zugriff über die Verzeichnisse /sys/bus/w1/* funktionierte nur für eine gewisse Zeit und brachte dann keine (sinnvollen) Ergebnisse mehr.

DS9490R-Problem = Stromproblem?

Meine ersten Ideen gingen in Richtung Stromversorgung. Diese Vermutung veranlasste eine kleine Bestellarie von Netzteilen mit mehr Ampere über aktive USB-Hubs. Leider blieb das Phänomen bestehen. Ansonsten funktionieren die neuen Geräte einwandfrei und bleiben bei mir. Für einen stabilen Betrieb des Raspberry Pi tut eine gute Stromversorgung über ein starkes Netzteil und das abfrühstücken der USB-Verbraucher über einen USB-Hub sicherlich gut.

Andere Problemlösung…

Letzendlich brachte es nur was, das Kernelmodul ds2490 zu blacklisten und den Zugriff über OWFS durchzuführen. Aktuell habe ich 2 Temperatursensoren verkabelt und kann so fehlerfrei über OWFS zugreifen. Wie das geht, möchte ich auch noch kurz dokumentieren.

OWFS

Die Benutzung gestaltet sich recht unspektakulär und stabil. Mit einem:

[pi@pi ~]$ sudo owfs --allow_other -a alias.txt -u /mnt
DEFAULT: ow_usb_msg.c:(295) Opened USB DS9490 bus master at 1:6.
DEFAULT: ow_usb_cycle.c:(191) Set DS9490 1:6 unique id to 02 08 06 AF 00 00 00 01
[pi@pi ~]$

lässt sich der 1-Wire Bus nach /mnt mounten. Die Option „allow_other“ ist quasi selbsterklärend für den durchgereichten Parameter in FUSE. Mit „-a alias.txt“ kann man sich nach einmaliger Erarbeitung der IDs der Sensoren über sprechende Namen der Sensoren freuen. Statt 28.XXXXXF050000 erscheint dann im eingebundenen Ordner ein freundliches „Wohnzimmer“. Die Datei folgt dem einfachen Aufbau: $SENSORID = $TEXT. Weitere (und ja wirklich ausführliche) Informationen bietet die Seite von OWFS zu Aliasen. Die Option „-u“ gilt als Aufforderung den benannten DS9490R als Eingabe zu verwenden.

Fazit

Ich wollte beim Auslesen der Temperatursensoren eigentlich weitestgehend ohne Zusatzsoftware auskommen und direkt über die /sys/bus/w1-Daten gehen. Naja, letztendlich zählt, dass es funktioniert. Und das tut es in der Tat. Aktuell bin ich am austesten der Funktionen, die mir FHEM bietet. Hierbei setze ich auf den OWserver, der die Daten an FHEM ausliefert.

2 Kommentare

  1. Ich verwende jetzt schon längere Zeit den LinkUSB (gibts zum Beispiel im Fuchs-shop nmit owfs ohne Probleme. Macht aber ein USB2serial. Bin aber bisher sehr gut damit gefahren

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.