1-Wire - Ghost devices im Onewire Konfigurator & fehlerhafte Werte im DS2450

Hallo,

wie hierschon erwähnt, habe ich das Problem, dass ich unter der Raspberry Version (Master ist ein neuer LinkUSBi,vorher, unter Windows, hatte ich DS9490R) diverse Probleme mit dem Auslesen der 1-Wire Sensoren habe.

Ghost Devices
Äussert sich so, dass z.T. einige Devices (oft DS2450, seltener DS18B20/DS2408) mit dem Onewire Configurator nicht gefunden werden, dafür aber irgendwelche nicht existenten Devices.
Die neuen (falsch gefundenen Devices) haben folgendes Muster:

  1. die ID von neuen Device stimmt in weiten Teilen (bis auf einzelne Hex Werte) mit den IDs von existierenden Devices überein.
  2. Die ID der/des neuen Devices beginnt mit FFFF…


Fehlerhaften Messwerte
Ausserdem habe ich beim Auslesen der DS2450 zwischendurch z.T. extreme Ungenauigkeiten. :frowning:
Das sieht im Graphen merkwürdig aus, wenn alle paar Stunden die Helligkeit (mitten in der Nacht) von 0% auf 80% hochschnellt.

Unter IPS-Windows scheint der LinkUSBi zu funktionieren, ich finde diese merkwürdigen Ghost Devices nicht, die Messwerte des DS2450 sehen deutlich besser/konstanter aus.
Ich hab zur Fehlerfindung den kompletten 1-Wire Bus auseinandergerupft, auch mal ein alternatives 5V Netzteil eingebaut, Patchfeld gewechselt, alle Sensoren abgeklemmt, z.T. einzeln geprüft.

Bin mit meinem Latein am Ende… Hat jemand eine Idee/änhliches Problem? Ist es vielleicht ein Bug?

Gruß,
Kai

Das klingt sehr nach einem Fehler. Die 1-Wire Implementation für die RasPi Version ist komplett nativ und neu (ohne TMEX) und somit kann es sehr gut noch ein Fehler sein. Muss ich mir mal ansehen.

Betrifft es immer die selben Bausteine die „verschwinden“?
Unter Windows verschwinden diese Bausteine sonst nicht?

paresy

Hi Paresy,

Es sind meistens (ca. 90%?) die DS2450, ganz vereinzelt auch andere, z.B. DS18B20 oder der DS2408. Wenn ich mehrere DS2450 am Bus angeschlossen habe, verschwinden z.T. auch mehrere DS2450 und tauchen als andere Seriennummern (mit Zahlendrehern drin) wieder auf. Gefühlt: je mehr DS2450, desto mehr fehlerhafte Devices tauchen auf.

Nein, unter Windows scheint alles ok.
Test mit einem Multisensor (DS18B20, 1xDS2413 (nur am Bus, nicht beschaltet), 1xDS2450 (Helligkeitssensor, Messung der Versorungssspannung)).
Der LinkUSBi hat eine eingbaute Serial Number, die wird unter Linux auch angezeigt, bei Windows bin ich mir gerade nicht sicher, sollte aber keine Rolle spielen.

Erfolgsquote unter Windows: 20 Tests, alle erfolgreich.
Erfolgsquote unter Linux: 20 Tests, jeder 5. erfolglos, d.h. DS2450 wird nicht erkannt, dafür irgendein Device, deren Serial Number sich mit dem DS2450 ähnelt.

Hallo paresy,

konntest du dir das Thema schon anschauen?
Leider kann ich mit meinen vom DS2450 gelesenen Werten wenig anfangen, weil sie ständig fehlerhaft sind.

z.B. sieht so die Kurve der Luftfeuchtigkeit aus:

unter Windows hatte ich mit dem DS2490 eine schöne Kurve ohne diese Ausraster nach oben oder nach unten. Mit Raspberry + LinkUSBi bekomme ich leider zwischendurch fehlerhafte Werte beim Auslesen aller meiner DS2450 und das an allen Pins.

Dank und Gruß.

Hallo h0meboy,

hast Du die Probleme inzwischen in den Griff bekommen und kannst mir berichten wie?

Ich habe inzwischen auch einen LinkUSBi an einem Raspberry laufen, der schon einen 1-Wire HUB (DS2450) nicht immer findet bzw. ausgelesen bekommt.
Der LinkUSBi wird manchmal auch mit einer falschen ID (FFFFFFFFFFFFFFF) angezeigt, dann ist keines der angeschlossenen Geräte erreichbar, kurz danach klappt es dann wieder.

Alles ein wenig komisch…aber vielleicht hast Du oder jemand anderes ja noch eine Idee…

Viele Grüße
Dennis

Hallo Leute,

ich hab ähnliche Probleme mit dem LinkUSB auf dem Raspbi. Unter Windows funktioniert alles, d.h. die Sensoren werden sauber abgefragt. Aber unter Linux kommen immer Fehlermeldungen beim Auslesen. Hatte dazu auch bereits einen Thread eröffnet.
Ich vermute hier ehrlich gesagt auch weniger ein Problem von meinem Bus, sondern eher, dass irgendwie die Linux-Implementierung „empfindlicher“ (?) ist.

Gruß
dfhome

Hallo zusammen,

ich hab testweise mal auf dem Raspi die Devices über OWFS angelegt und ausgelesen. Beschrieben ist das ganze hier:
1-Wire Adapter DS9490R an Raspberry Pi - Seite 2

Die Implementierung via OWFS funktionierte stabiler und ich habe saubere Werte bekommen. Ich gehe davon aus, dass der Auslesealgorithmus der IPS anders ist und ggf. auch mit Fehlern (z.B. CRC Fehlern) anders umgeht.

Das schöne an OWFS ist, dass man auch CRC Fehler sehen kann, es gibt diverse Counter für Fehlerstände.

Gruß,
Kai

Ich vermute mal da kommen Werte von 85 rüber (Sensor ausgefallen) ist beim DS18x20 so.
Ich habe meine Dallas an einem uC hängen und beame die in den LCN Bus, daher kann ich am Pi oder IPS direkt nicht schauen.
Ab und an habe ich die aber auch am uC gesehen, und mir da einen „Krücke“ geschaffen (85 wir ignoriert)…
Ist nicht gut, aber es geht erstmal…

Meinem Screenshot oben kann man entnehmen, dass die Abweichungen mal nach oben und mal nach unten gehen und auch in der Höhe variabel sind. Einen festen Wert, wie z.B. 85 beim Tempsensor konnte ich beim DS2450 nicht erkennen.

Ich hatte gehofft, dass bei fehlerhaften Werten dann der CRC-16 zuschlägt und den Wert dann für ungültig erklärt.