NEWS
Test Adapter wireless-mbus v0.9.x
-
@lvogt said in Test Adapter wireless-mbus v0.7.x:
@gizmodlx
Ich habe mit einem solchen Stick damals deb Adapter getestet. Das geht also schon.
Ich weiß leider nicht mehr genau was man tun musste. Ich glaube man muss udev händisch mitteilen welchen (standard) Treiber das Gerät verwenden soll. Lässt sich bestimmt auch in eine udev Regel gießen...Hmm...da muss ich mich erst mal selbst schlau machen. Sagt mir alles so leider wenig.
rtl-wmbus ließe sich schon einbauen. Ist aber halt ein ziemlicher CPU Fresser...
wmbusmeters spricht den rtl-wmbus wohl direkt über dessen Kommandozeile an. Das wäre echt klasse, wenn das dein Adapter auch unterstützen würde. Für die CPU-Auslastung gibt es wohl auch mehrere Ansätze, diese zu begrenzen: https://github.com/weetmuts/wmbusmeters/issues/290
-
So, da bin ich wieder mit meinem tollen iM871A.
Angesteckt, dann lsusb:Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 10c4:87ed Silicon Labs IMST USB-Stick for Smart Meter Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Danach ls -l /dev/ttyS*:
crw-rw---- 1 root dialout 4, 64 15. Apr 17:43 /dev/ttyS0
Der Stick lässt sich auch im Adapter auswählen:
Und trotzdem:
wireless-mbus.0 2022-04-15 17:50:49.238 error IMST: Error setting wMBus mode: T wireless-mbus.0 2022-04-15 17:50:49.237 error IMST: Error setting link mode 3 wireless-mbus.0 2022-04-15 17:50:49.235 error IMST: Message response timeout wireless-mbus.0 2022-04-15 17:50:46.279 debug connected set to true wireless-mbus.0 2022-04-15 17:50:46.239 debug connected set to true wireless-mbus.0 2022-04-15 17:50:46.226 debug Created device of type: IMST iM871A
Und das bei allen Baudraten.
Hat jemand eine Idee dazu?
MfG
Patrick -
@marsmännchen Falscher Port. Was bringt dich dazu von ttyS0 auszugehen ? Das musste ein ttyUSBx Port werden.
Aber wie gesagt muss man evtl erst dem Kernel mitteilen welcher Treiber verwendet werden soll.
Stick entfernen - kurz warten - Stick einstecken - die letzten ~30 Zeilen der Ausgabe von
dmesg
posten. Dann kann ich dir vielleicht helfen -
@marsmännchen sagte in Test Adapter wireless-mbus v0.7.x:
crw-rw---- 1 root dialout
Sind die user denn auch Mitglied bei 'dialout'?
groups sudo -u iobroker groups
Prinzipiell würde ich auch den device link aus /dev/serial/by-id nehmen.
ls -l /dev/serial/by-id/
anschauen.
-
@lvogt said in Test Adapter wireless-mbus v0.7.x:
Stick entfernen - kurz warten - Stick einstecken - die letzten ~30 Zeilen der Ausgabe von
dmesg
posten. Dann kann ich dir vielleicht helfenDa ich den gleichen Stick habe, hänge ich mich mal hier mit ran
Hier die "dmesg" Infos zum Stick:[17564.196443] usb 1-1.4: new full-speed USB device number 3 using xhci_hcd
[17564.334432] usb 1-1.4: New USB device found, idVendor=10c4, idProduct=87ed, bcdDevice= 1.00
[17564.334463] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[17564.334484] usb 1-1.4: Product: IMST USB-Stick for Smart Meter
[17564.334502] usb 1-1.4: Manufacturer: Silicon Labs
[17564.334520] usb 1-1.4: SerialNumber: 0xxxxxx3 (->verfälscht) -
@gizmodlx Was ist denn konkret dein Problem?
Unter welchem Device Link findet sich der Stick denn?
Siehels -l /dev/serial/by-id
Gruppenzugehörigkeiten i.O.?
-
@thomas-braun said in Test Adapter wireless-mbus v0.7.x:
@gizmodlx Was ist denn konkret dein Problem?
Nun ich würde den Stick gerne ebenfalls in Verbindung mit dem Adapter nutzen. Es ist ein Stick von RWE, der den gleichen Chip (iMST iM871A) hat, aber eine andere ProductID (87ED). Und ich bin etwas "lost" wie ich diesen Stick nun mit Treibern versorgen kann.
Unter welchem Device Link findet sich der Stick denn?
Siehels -l /dev/serial/by-id
da erhalte ich nur folgende Fehlermeldung:
ls: Zugriff auf '/dev/serial/by-id' nicht möglich: Datei oder Verzeichnis nicht gefunden
Gruppenzugehörigkeiten i.O.?
Kannst du das etwas ausführlicher erklären?
sudo -u iobroker groups iobroker tty dialout audio video bluetooth gpio i2c
-
@gizmodlx sagte in Test Adapter wireless-mbus v0.7.x:
Und ich bin etwas "lost" wie ich diesen Stick nun mit Treibern versorgen kann.
Die Treiber sind im Linux-Kernel enthalten. Die Erkennung erfolgt i. d. R. über die ProductID bei USB-Geräten. Kann sein, das dein Stick da etwas exotisch ist. Wenn du Glück hast kann man die Erkennung aber etwas 'zurecht biegen'. Das ist aber wohl eher was für einen eigenen Thread.
-
Bei mir exakt das gleiche wie bei @gizmodlx . Gleiche Ausgaben in der Konsole.
-
lsusb -t
-
[694216.283345] usb 1-1.3: USB disconnect, device number 5 [694222.324999] device eth0 entered promiscuous mode [694228.253947] device eth0 left promiscuous mode [694252.331385] device eth0 entered promiscuous mode [694257.892408] usb 1-1.1: new full-speed USB device number 6 using xhci_hcd [694258.000219] usb 1-1.1: New USB device found, idVendor=10c4, idProduct=87ed, bcdDevice= 1.00 [694258.000239] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [694258.000253] usb 1-1.1: Product: IMST USB-Stick for Smart Meter [694258.000266] usb 1-1.1: Manufacturer: Silicon Labs [694258.000278] usb 1-1.1: SerialNumber: 005FD795 [694258.243526] device eth0 left promiscuous mode [694282.322992] device eth0 entered promiscuous mode
lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=, 12M
-
-
lsusb && lsusb -t Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 10c4:87ed Silicon Labs IMST USB-Stick for Smart Meter Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=, 12M
-
Kann man den irgendwie nachinstallieren, oder stelle ich mir das zu einfach vor?
-
@marsmännchen sagte in Test Adapter wireless-mbus v0.7.x:
Kann man den irgendwie nachinstallieren, oder stelle ich mir das zu einfach vor?
Wenn du entsprechenden Code findest...
-
@thomas-braun
Ok, wohl eher nicht. Danke trotzdem -
Hier scheint es was zu geben. Aber nicht freizugänglich.
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
-
@thomas-braun
Hatte ich natürlich nicht gefunden auf SiliconLabs.
Ich werde mal versuchen wie weit ich damit komme.danke sehr. -
sudo modprobe cp210x sudo bash -c "echo 10c4 87ed > /sys/bus/usb-serial/drivers/cp210x/new_id"
oder so änhlich. Danach bitte
dmesg
um zu gucken ob ein/dev/ttyUSBn
device angelegt wurde. -
@Ivogt oh...du hattest die gleiche Lösung. Warst etwas schneller
@marsmännchen ich hab die Lösung für unser ProblemMan muss die PID für den Treiber anpassen. Und dafür gibt es eine ziemlich elegante Lösung:
$ sudo modprobe cp210x $ sudo sh -c 'echo 10c4 87ed > /sys/bus/usb-serial/drivers/cp210x/new_id'
Durch diesen Befehl wird dem Treiber (cp210x) mitgeteilt, dass er auch unter der Kombination VID 10c4 / PID 87ed einen Stick suchen soll. Ein Aufruf von dmseg zeigt dann auch den erkannten Stick:
cp210x 1-1.4:1.0: cp210x converter detected usb 1-1.4: cp210x converter now attached to ttyUSB0
Hinterlegt man dann im Adapter die richtige Konfiguration, werden Werte ausgelesen und angezeigt
Ich muss noch ergänzen, dass ich zuvor die neuste Firmware von iMST auf den Stick geflasht hatte. Keine Ahnung ob das zwingend nötig gewesen wäre - vermute nein.Eine Sache bleibt allerdings noch offen. Diese Änderung greift nur bis zum nächsten Boot. Man müsste sie daher in ein Bootskript aufnehmen um sie dauerhaft zu aktivieren. Es scheint auch eine Lösung zu geben, mit der man die PID dauerhaft schreiben kann. Da muss ich aber nochmal genauer schauen. Denn setzt man sie falsch, ist der Stick wohl hin.