Feste USB Zuweisung RPI 4B

canada

Lt. Commander
Registriert
Feb. 2011
Beiträge
1.409
Raspberry 4 hat ja 4 USB Ports, habe darauf ein USB_HAT und in GPS / GSM Hat. Da bei jedem Neustart die Zuweisung verworfen wird, habe ich mir unter /etc/udev/rules.d/ die Datei "99-usb-serial.rules" erstellt, mit folgenden Inhalt:
Code:
# Victron USB/serial adapters
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="VE91YJ5Y", SYMLINK+="ttyUSB_orion"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AB8AGBTL", SYMLINK+="ttyUSB_mppt"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="VE92WQ29", SYMLINK+="ttyUSB_shunt"60"

# Autoterm Planar USB/serial adapters
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="ABSCDHT6", SYMLINK+="ttyUSB_autoterm"

# Waveshare USB/serial adapters
SUBSYSTEM=="tty", ATTRS{idVendor}=="1e0e", ATTRS{idProduct}=="9001", ATTRS{serial}=="0123456789ABCDEF", SYMLINK+="ttyUSB_waveshare%E{VE_SERVICE}"

Bevor ich dieses gemacht habe, gingen ttyUSB0 bis ttyUSB3 einwandfrei. Jetzt bekomme ich von ttyUSB2 bis USB 8 (mehr Geräte habe ich nicht dran) immer die Ausgabe z.B.:
Code:
"[serialconfig:7a04188461d80301] serial port /dev/ttyUSB2/ error: Error: Error: Not a directory, cannot open /dev/ttyUSB2/"

Screenshot 2024-12-01 165516.png

Screenshot 2024-12-01 165626.png


Lustigerweise meckert er bei ttyUSB2, die Weiterleitung von ttyUSB_autoterm aber nicht, angeblich auch grün (geht aber trotzdem keine Verbindung).
Screenshot 2024-12-01 165714.png


Starte ich jetzt so oft neu, bis die Autoterm mal auf USB0 oder 1 zugewiesen wird, kann ich die über ttyUSB0 oder 1 ansprechen, dann funktioniert alles. ttyUSB_autoterm auch diesmal wieder grün, geht trotzdem nicht.

Kurz gefasst, wieso gehen die Weiterleitungen nicht und ttyUSB2 und aufwärts nicht.
 
Zuletzt bearbeitet:
canada schrieb:
wieso gehen die Weiterleitungen nicht
Da würde ich mal auf Berechtigungen tippen, da nur root für die Symlinks eingetragen ist.
Wieso deine rules-Datei nicht richtig funktioniert, kann ich so eben auch nicht erkennen.

E: ist zwar schon was her, dass ich eigene Regeln erstellt habe, allerdings kann ich mich nicht dran erinnern es über "simlink+" gemacht zu haben sondern dem Gerät direkt den passenden Namen zugewiesen. Wie das geht, weiß ich auswendig aber nicht mehr.
 
Für die Simlink kenne ich nur root, da gibt es glaube ich kein dialout. Habe jetzt mal nach einer Alternative für Simlink geschaut aber in allen Beispielen für die rules Dateien wird Simlink verwendet.
 
anstatt dev/ttyUSBx

benutzt Du direkt

dev/serial/by-id

Oder wenn es vier gleiche Adapter sind

dev/serial/by-path

ganz ohne die Datei.


Oder erlaubt Dein Programm nur /dev/tty-Geräte?
 
  • Gefällt mir
Reaktionen: JumpingCat
Gerade mal mit dev/serial/by-path ausprobiert, das nimmt es überhaupt nicht. Ist ehrlicherweise auch kein reines Linux, sondern eine Abwandlung von Victron (VenusOS). Da ist einiges bisschen anders.
 
Zuletzt bearbeitet:
Eins verstehe ich nicht, man kann doch alle Geräte bei dev/serial/by-id sehen. Was hindert Dich daran diesen ganzen Pfad zu nutzen?

Also dev/serial/by-id/usb_FTDI-undsoweiterundsofort anstatt /dev/ttyUSB0
Und
/dev/serial/by-id/usb-SimTech-undsoweiterundsofort anstatt /dev/ttyUSB1

Dann ist es IMMER richtig. So wie ich das sehe, haben die ja alle unterschiedliche ids.

Mach ich z.b. für meine Modbusadapter genau so im Home-Assistant und evcc
 
HisN schrieb:
Eins verstehe ich nicht, man kann doch alle Geräte bei dev/serial/by-id sehen. Was hindert Dich daran diesen ganzen Pfad zu nutzen?

Also dev/serial/by-id/usb_FTDI-undsoweiterundsofort anstatt /dev/ttyUSB0
Weil ich es damit probiert habe und er dann in Fehler lief, das er es nicht findet.

Code:
"[serialconfig:e6c92865f931500b] serial port dev/serial/by-id/usb-SimTech__Incorporated_SimTech__Incorporated_0123456789ABCDEF-if00-port0 error: Error: Error: No such file or directory, cannot open dev/serial/by-id/usb-SimTech__Incorporated_SimTech__Incorporated_0123456789ABCDEF-if00-port0"

Habe jetzt OS einfach mal neu aufgesetzt und jetzt gehen alle Ports wieder. Also mit Simlink. By-Id meckert er weiterhin das er es nicht findet. Wie gesagt, ist kein reines Linux, sondern VenusOS.
 
Zuletzt bearbeitet:
Zurück
Oben