Raspberry: Nach Neustart Port anders, wie abfangen

Hi Leute,

ich habe einen Seriell-USB Adapter für meinen Auslesekopf am Stromzähler. Der lief sonst immer als ttyUSB0 unter der Konfiguration in IPS. Jetzt habe ich auf RC2 upgedatet, Dienst neugestartet und plötzlich war der Port ttyUSB1.
Bei den anderen IPS Updates war dies nicht so, der Port war immer USB0. Liegt das jetzt am RC2 Update und wie kann ich das Zukünftig abfangen :confused:

Die Lösung ist udev: Bin leide grad am Handy on. Schau mal hier: USB-IR-Schreib-Lesekopf [wiki.volkszaehler.org] nicht ganz aktuell. Welches Betriebssystem?

Das Problem ist aus dem Beispiel, SYMLINK+=„lesekopf0“.
Den SYMLINK kann ich in der Konsole nicht auswählen, nur ttyUSB0 und ttyUSB1 und die sind manchmal verbuchselt.
Habe das gleiche Problem mit LCN USB und enosean USB an einem Pi2 (jessie).

E: DEVLINKS=/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0 /dev/ttyUSB_LCN

lg

Moment ich gehe mal an den Computer und mach dir fix ne Anleitung :slight_smile:

  1. /sbin/udevadm info --query=all --name=/dev/ttyUSB0 in der Konsole eingeben (ggf. ttyUSB1) dann die zeile E: ID_SERIAL_SHORT=XXXXXXXX suchen und die Serial XXXXXXX merken

  2. nano /etc/udev/rules.d/99-lesekopf.rules in der Konsole eingeben und folgenden Inhalt eintragen (XXXXXXX durch deine Serial ersetzen) mit Strg+O speichern und Strg+X beenden


SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="XXXXXXX", SYMLINK+="lesekopf1"

  1. Pi neustarten -> Ab sofort ist dein Lesekopf immer unter /dev/lesekopf1 erreichbar

Ohhh Super vielen Dank für die Anleitung. Ich teste sie nachher!

Kein Problem, kannst ja mal ne Rückmeldung geben obs geklappt hat, ist für andere vielleicht auch interessant.

Funktioniert leider nicht, ist immer noch unter ttyUSB Sichtbar. :confused:

Habe von einer anderen Website folgenden Befehl zum Überprüfen der Verlinkung.


ls -l /dev/lesekopf1

Ausgabe ist:


lrwxrwxrwx 1 root root 7 Feb 21 14:49 /dev/lesekopf1 -> ttyUSB0

Eigentlich Richtig oder? Nur unter IPS steht immer noch ttyUSB0 zur Auswahl und nicht lesekopf1

Hm dann würd ich mal parsey fragen, das musst was mit IPS zu tun haben, der link ist korrekt. In IPS werden vielleicht keine Links angezeigt, falls nicht, sollte das mit eingebaut werden.

@Paresy
Habe dir eine PN geschrieben, bitte einmal anschauen!

Ist alles richtig, in der Konsole und anderen Programmen ist auch nur ttyUSB0 oder ttyUSB1 auswählbar, und die können verbuchselt werden beim starten. Ich hatte mal den USB Port den Namen USB0 usw zugewiesen, aber das geht mit Jessie nicht mehr, bzw anderes Update ?

Na toll, bedeutet das es keine Lösung mehr gibt um das Problem zu lösen?

Für die LCN-PCHK habe ich eine Lösung gefunden, da ich dort ttyUSB 0-19 auswählen kann, und so einen Symlink ttyUSB15 aufrufen kann.
udevrule für meine USB Geräte :

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="ttyUSB15" 
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="ttyUSB16"  

In der IPS Konsole kann ich leider nur die 2 vorhanden ttyUSB0 oder ttyUSB1 auswählen, die Liste sollte erweitert werden, mal sehen was paresy dazu sagt.
Erst dann sind wieder meherere ttyUSB’s am Pi nutzbar.

Ja solang die mit udev angelegten devices nicht gehen, wirds schwierig

Dirty Hack :
IPS beenden, in settings.json Stelle suchen, und ttyUSB ändern.
Speichern, IPS starten und freuen.
Die Warnung im Gerät ignorieren und nicht mehr per Konsole verändern.
Klappt bei mir mit enocean.

.

Ist ne Idee :slight_smile: Aber mal sehen was parsey sagt, weil udev ist ja schon ne wichtige sache

@baba,
hatte ich schon lange vor, da ich auch mehrere USB-Ser Wandler habe, die sich verbuchseln, und das ist schon doof.
Mit dem symlink auf ttyUSB15 bin ich auch erst gerade gekommen, da ich in der PCHK die Auswahl ttyUSB0 - ttyUSB19 habe. Als das mit ttyUSB15 (fix LCN) lief, habe ich ISP probiert, und auch da rennt ttyUSB16 (fix enocean), es müsste nur die „Auswahl“ erweitert werden.

ja udev benutzt man immer wenn man mehere geräte hat. Funktioniert auch immer so wie beschrieben

Symlinks gingen noch nie, leider…

Wir listen nur die physikalischen Ports. Ihr könnt aber über IPS_SetPropery($id, „Port“, „/dev/***“); den Port direkt auf eurem I/O setzen, wenn ihr ihn kennt. In der GUI werden wir dies zur Zeit nicht anbieten.

paresy