USB Serial Adapter Probleme

adlerauge1980

New Member
Nov 30, 2021
6
0
1
43
Hallo Zusammen

ich habe für mein Vater die Modelleisenbahn Software auf meine Proxmox Umgebung gezügelt. nun verzweifle ich an der seriellen Anbindung...

Ich habe den Port ganzen Port in die Linux VM durchgereicht:
USB-Gerät (usb0) Host=2-1

Wenn ich den USB Serial Adapter einstecke, sehe ich den auch:
USB.png

Diesen müsste ich nun doch auch mit: /dev/ttyUSB0 ansprechen können? oder hab ich da was übersehen?


Danke für eure Tipps!
 
Ja, müsste /dev/ttyUSB0 sein. Gibt es eine Fehlermeldung?
Um welche Software handelt es sich?
 
Ja, müsste /dev/ttyUSB0 sein. Gibt es eine Fehlermeldung?
Um welche Software handelt es sich?
Hallo Mira

leider nein, bekomme keine Fehlermeldung.
die Software welche laufen habe nennt sich Rocrail.
Habe nebenbei aber festgestellt dass das ganze so wie ich es benötige so oder so nicht stabil läuft. Hatte das ganze mit einem Linux rechner direkt bei der Eisenbahn getestet da hats geklappt. jetzt nen USB extender (mit sep. Speisung über Kat Kabel) dazwischen gehängt. läuft nun leider auch am Linux Rechner nicht sauber. Deshalb hab ich das nun abgebrochen und mir überlegt wie ich das bewerkstelligen kann.

Ich habe im Büro noch ein Moxa rumliegen (Serieller Anschluss über TCP/IP), aktuell versuche ich es damit, hab da aber bei der Treiberinstallation noch ein Problem.

Hier bricht er ab und findet Command not fund:
elif [ "$PPC_MODE" = "1" ]
then
make ppc64 PATH1=$(pwd) POLLING=$POLLING_MODE
elif [ "$CONCUR_MODE" = "1" ]
then

Aktuell habe ich mal dem Moxa Support geschrieben. Mal schauen was die meinen.
 
Hallo Adlerauge,

wenn du "nur" einen seriellen Port per remote anbinden möchtest: nimm einen (alten) RPi und schau dir mal socat an. Über socat kannst du einfach eine serielle Schnittstelle durchschleusen, du kannst die Verbindung gut verschlüsseln usw. Läuft bei mir problemlos und stabil, binde darüber in FHEM (Hausautomatisiserung) diverse Dinge an.
Auf dem "Slave" wo du dein serielles Gerät dran hast:
Code:
sudo apt install socat
sudo nano /etc/systemd/system/serialforward.service
[Install]
WantedBy=multi-user.target
Type=forking

[Service]
ExecStart=/usr/bin/socat TCP4-LISTEN:2345,fork,keepalive,reuseaddr /dev/ttyAMA0,raw,echo=0,b115200
User=root
Restart=always
RestartSec=10
sudo systemctl enable serialforward
sudo systemctl reboot
sudo systemctl status serialforward
Dann auf dem "Master" von wo aus du dein serielles Gerät bedienen möchtest:
Code:
sudo apt install socat
sudo nano /etc/systemd/system/serialreceiver.service
[Install]
WantedBy=multi-user.target
Type=forking

[Service]
ExecStart=/usr/bin/socat PTY,link=/dev/ttyVirtFWDdevice,user=xyz,group=dialout,mode=660,nonblock,raw,ignoreof,waitslave tcp:192.168.123.123:2345
User=root
Restart=always
RestartSec=10
sudo systemctl enable serialreceiver
sudo systemctl reboot
sudo systemctl status serialreceiver
Danach solltest du auf dem Master an ttyVirtFWDdevice alles von deinem seriellen Gerät erhalten. Wenn das läuft, dann noch Zertifikate erzeugen und die Verbindung absichern:
Code:
socat openssl-listen:<freier_port>,keepalive,reuseaddr,cert=$HOME/server.pem,cafile=$HOME/client.crt /dev/<xxx>,raw,echo=0,b115200
socat PTY,link=/dev/<yyy>,user=xyz,group=dialout,mode=660,nonblock,raw,ignoreof, waitslave openssl-connect:<IP_vom_remote_PI>:<freier_port>,cert/$HOME/client.pem,cafile=$HOME/server.crt
 
Last edited:
  • Like
Reactions: adlerauge1980
Alternativ könntest Du noch VirtualHere verwenden. Wenn der Client (für Linux oder Windows) nicht als Dienst laufen soll, kann man auch dauerhaft die Trial-Version verwenden.

Auf dem PVE:

Bash:
wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdx86_64
chmod +x vhusbdx86_64
mv vhusbdx86_64 /usr/local/sbin
mkdir -p /usr/local/etc/virtualhere

Den Dienst für VirtualHere konfigurieren:

Bash:
nano /etc/systemd/system/virtualhere.service

Inhalt:

Code:
[Unit]

Description=VirtualHere Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/vhusbdx86_64 -b -c /usr/local/etc/virtualhere/config.ini

[Install]

WantedBy=multi-user.target

Abschließend:

Bash:
systemctl daemon-reload
systemctl enable virtualhere.service
systemctl start virtualhere.service

Auf dem PC/VM dann den passenden Client herunterladen, starten (ggf. den Server bzw. IP spezifizieren, falls dieser in einem separaten Subnetz/VLAN liegt):

https://www.virtualhere.com/usb_client_software
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!