FreeBSD und eindeutige Definitionen für USB zu seriell Adapter

Begonnen von Aurel_B, 22 Februar 2024, 11:33:13

Vorheriges Thema - Nächstes Thema

Aurel_B

USB zu seriell Adapter (z.B. für RS485/Modbus, Arduinos etc) unter FreeBSD als /dev/cuaU* Geräte auf. Das macht es schwierig, sie in FHEM einzubinden da sich beim Umstecken etc. der Gerätename ändern kann und dann der Adapter z.B. nicht mehr unter cuaU0 sondern unter cuaU1 etc. zu finden ist.
Unter Linux haben die Adapter eine eindeutige Kennung (z.B. als /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A10KVD0Q-if00-port0). In FreeBSD kann man das wie folgt nachbauen:

> cat /usr/local/etc/devd/rs485.conf
attach 1000 {
        match "sernum"          "AB0LHFXT|AB0MG4RO|A10KVD0Q";
        action                  "ln -sf /dev/cua$ttyname /dev/waveshare_$sernum && ln -sf /dev/cua$ttyname.lock /dev/waveshare_$sernum.lock && ln -sf /dev/cua$ttyname.init /dev/waveshare_$sernum.init";
};

notify 1000 {
        match "sernum"          "AB0LHFXT|AB0MG4RO|A10KVD0Q";
        match "type"            "DETACH";
        match "subsystem"       "DEVICE";
        action                  "rm /dev/waveshare_$sernum && rm /dev/waveshare_$sernum.init && rm /dev/waveshare_$sernum.lock";
};
~

In diesem Beispiel sind die Adapter mit Seriennummer AB0LHFXT, AB0MG4RO oder A10KVD0Q eindeutig als /dev/waveshare_$Seriennummer ansprechbar und lassen sich entsprechend in FHEM einbinden.

Die Seriennummer (oder zur Not auch der USB Pfad für Adapter, die keine Seriennummer haben (wie z.B. CH340 Chips)) lässt sich mit usbconfig -d ugen1.11 dump_all_desc herausfinden wenn das Gerät bereits eingesteckt ist oder aber mit einem laufenden cat /var/run/devd.pipe und dann einem anschliessen des Gerätes.


Prof. Dr. Peter Henning

Das sollte bitte ins Wiki, hier geht es ziemlich unter.

LG

pah

Aurel_B

Danke für den Hinweis, ich bereite einen Artikel vor. Ich denke es wäre sinnvoll, gleich einen ganzen Artikel zum Thema FreeBSD & FHEM zu erstellen (Analog zu z.B. https://wiki.fhem.de/wiki/FHEM_Installation_Windows)

Prof. Dr. Peter Henning

Prima, allerdings sollte dieser Artikel nicht zu lang werden. Lieber aufspalten in einen Artikel zur Installation, und die USB-Geschichte hier einfügen: https://wiki.fhem.de/wiki/Mehrere_USB-Ger%C3%A4te_einbinden

LG

pah

Aurel_B

Prima, danke für den Hinweis, habe ich so eingepflegt. Installationsanleitung folgt, hier noch der Querlink für meinem Sammelthread "FHEM auf FreeBSD": https://forum.fhem.de/index.php?topic=137514.msg1307124