NEWS
Test Adapter wireless-mbus v0.9.x
-
@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.
-
Du kannst auch eine Regel für udev anlegen
(Als root bzw. mit sudo) Die Datei
/etc/udev/rules.d/99-imst.rules
anlegen und das muss rein:ACTION=="add", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="87ed", RUN+="/sbin/modprobe cp210x" RUN+="/bin/sh -c 'echo 10c4 87ed > /sys/bus/usb-serial/drivers/cp210x/new_id'"
Ohne Garantie dass das so 100% korrekt ist.
EDIT: Ich hatte da ursprünglich auch einen Einzeiler stehen - aber der entfernt wohl die Anführungszeichen - dann ist udev damit glaube ich nicht mehr zufrieden.
EDIT2: Das scheint zu funktionieren:
sudo bash -c "echo \$'ACTION==\"add\", ATTRS{idVendor}==\"10c4\", ATTRS{idProduct}==\"87ed\", RUN+=\"/sbin/modprobe cp210x\" RUN+=\"/bin/sh -c \\'echo 10c4 87ed > /sys/bus/usb-serial/drivers/cp210x/new_id\\'\"' > /etc/udev/rules.d/99-imst.rules"
-
@lvogt
Ok, cool. Werde ich die Tage mal testen und berichten. Bin jedenfalls happy das der Stick mit deinem Adapter nun einwandfrei arbeitet. -
Hallo zusammen,
ich habe gerade v0.7.9 auf npm publiziert. Die Version bringt nichts neues für euch - aber für mich
Und zwar werden im Debug Log nun sämtliche "Nachrichten" zw. Adapter und "USB Stick" geloggt. Ich hätte gerne von den 4 unterstützten Empfängsmodulen jeweils von 1 oder 2 Nutzern das Log vom Adapterstart und wenn es geht auch noch von einem empfangenen Telegramm. Gerne als PN (oder Chat wie es hier im Forum heißt) direkt an mich.
Warum das ganze? Wie ich ja schon mal erwähnt habe, besitze ich kein einziges dieser Geräte selber. Ich möchte aber gerne mal den Code der die Kommunikation zw Adapter und USB Gerät handhabt aufräumen. (Teilweise sind da wirklich furchtbare Konstrukte drin... )
Dazu habe ich bereits angefangen Simulatoren für die Geräte zu schreiben. Um sicher zu gehen, dass ich da keine falschen Annahmen einbauen hätte ich gerne noch mal einen abgleich mit der Realität.
Gestern beim Lesen des Codes für den gerade diskutierten IMST Stick zB konnte ich mir bei einigen Teilen gar nicht vorstellen, dass es funktioniert ...