ubuntuusers.de

wine COM port zuweisung

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

RolfM

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Guten Tag,

ein Programm für meine Modellbahn läuft nur unter Windows XP. Ich habe wine installiert und kann das Programm damit nutzen. Wie finde ich den COM 1 Port.?

Mit Dank und freundl. Grüße!

Rolf

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3354

Wohnort: Wernigerode

Hallo Rolf,

würde mich auch interessieren, ob so etwas mit wine funktioniert. Die Gerätedateien für serielle Schnittstellen findest Du üblicherweise und Linux im /dev-Verzeichnis und diese heissen dann häufig ttyS(Nummer).

USB-Geräte werden von wine derzeit leider noch nicht unterstützt.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

Da sollte ein Symlink vom gewünschten Gerät in /dev/ nach ~/.wine/dosdevices/com1 (und ggf. eine udev-Regel, die die Rechte passend setzt) genügen: https://www.winehq.org/docs/wineusr-guide/misc-things-to-configure

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Hallo zusammen, danke für die Antworten.

Gebe ich diese Befehle ein (s. u.), kommt als Ausgabe: die Dateien bestehen bereits.

ln -s /dev/ttyS0 com1 ln -s /dev/lp0 lpt1

Für dies

"Da sollte ein Symlink vom gewünschten Gerät in /dev/ nach ~/.wine/dosdevices/com1"

Brauche ich Hilfe, da weiß ich leider nicht was ich damit tun soll.

Mit Dank!

Rolf

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

Dann zeig mal bitte die Ausgabe von

ls -l /dev/tty{S,U}*

Falls das Gerät für die Seriell Verbindung über USB angeschlossen wird, kannst du es auch aus- und wieder einstecken und dann die letzten Zeiler der Ausgabe von

dmesg

posten.

Das Erstellen des Symlink ist dann keine große Sache, sobald du den Namen kennst - du betrittst das Verzeichnis ~/.wine/dosdevices/ und führst dann den ln-Befehl aus (<Name des Geräts> ersetzt du dabei natürlich durch den Namen für das Gerät, das für die serielle Verbindung genutzt werden soll):

mkdir -p ~/.wine/dosdevices/
cd ~/.wine/dosdevices/
ln -s /dev/<Names des Geräts> com1

MFlops

Avatar von MFlops

Anmeldungsdatum:
19. Juni 2010

Beiträge: 216

Mit dem Symlink sollte es wirklich funktionieren. Ist das betreffende Gerät am USB-Port, gibt es die zu verlinkende Gerätedatei aber wohl nur, wenn das Gerät eingesteckt ist.

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Hallo seahawk1986,

hier die Ausgabe:

Was soll ich als nächstes tun?

Mit Dank!

Rolf

rolf@rolf-ubuntu:~$ ls -l /dev/tty{S,U}* ls: Zugriff auf /dev/ttyU* nicht möglich: Datei oder Verzeichnis nicht gefunden crw-rw-–- 1 root dialout 4, 64 Mär 21 09:27 /dev/ttyS0 crw-rw-–- 1 root dialout 4, 65 Mär 21 09:27 /dev/ttyS1 crw-rw-–- 1 root dialout 4, 74 Mär 21 09:27 /dev/ttyS10 crw-rw-–- 1 root dialout 4, 75 Mär 21 09:27 /dev/ttyS11 crw-rw-–- 1 root dialout 4, 76 Mär 21 09:27 /dev/ttyS12 crw-rw-–- 1 root dialout 4, 77 Mär 21 09:27 /dev/ttyS13 crw-rw-–- 1 root dialout 4, 78 Mär 21 09:27 /dev/ttyS14 crw-rw-–- 1 root dialout 4, 79 Mär 21 09:27 /dev/ttyS15 crw-rw-–- 1 root dialout 4, 80 Mär 21 09:27 /dev/ttyS16 crw-rw-–- 1 root dialout 4, 81 Mär 21 09:27 /dev/ttyS17 crw-rw-–- 1 root dialout 4, 82 Mär 21 09:27 /dev/ttyS18 crw-rw-–- 1 root dialout 4, 83 Mär 21 09:27 /dev/ttyS19 crw-rw-–- 1 root dialout 4, 66 Mär 21 09:27 /dev/ttyS2 crw-rw-–- 1 root dialout 4, 84 Mär 21 09:27 /dev/ttyS20 crw-rw-–- 1 root dialout 4, 85 Mär 21 09:27 /dev/ttyS21 crw-rw-–- 1 root dialout 4, 86 Mär 21 09:27 /dev/ttyS22 crw-rw-–- 1 root dialout 4, 87 Mär 21 09:27 /dev/ttyS23 crw-rw-–- 1 root dialout 4, 88 Mär 21 09:27 /dev/ttyS24 crw-rw-–- 1 root dialout 4, 89 Mär 21 09:27 /dev/ttyS25 crw-rw-–- 1 root dialout 4, 90 Mär 21 09:27 /dev/ttyS26 crw-rw-–- 1 root dialout 4, 91 Mär 21 09:27 /dev/ttyS27 crw-rw-–- 1 root dialout 4, 92 Mär 21 09:27 /dev/ttyS28 crw-rw-–- 1 root dialout 4, 93 Mär 21 09:27 /dev/ttyS29 crw-rw-–- 1 root dialout 4, 67 Mär 21 09:27 /dev/ttyS3 crw-rw-–- 1 root dialout 4, 94 Mär 21 09:27 /dev/ttyS30 crw-rw-–- 1 root dialout 4, 95 Mär 21 09:27 /dev/ttyS31 crw-rw-–- 1 root dialout 4, 68 Mär 21 09:27 /dev/ttyS4 crw-rw-–- 1 root dialout 4, 69 Mär 21 09:27 /dev/ttyS5 crw-rw-–- 1 root dialout 4, 70 Mär 21 09:27 /dev/ttyS6 crw-rw-–- 1 root dialout 4, 71 Mär 21 09:27 /dev/ttyS7 crw-rw-–- 1 root dialout 4, 72 Mär 21 09:27 /dev/ttyS8 crw-rw-–- 1 root dialout 4, 73 Mär 21 09:27 /dev/ttyS9 rolf@rolf-ubuntu:~$

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

Nimm bitte Codeblöcke (drei geschweifte Klammern um die Ausgabe), dann kann man es auch lesen 😉
RolfM schrieb:

rolf@rolf-ubuntu:~$ ls -l /dev/tty{S,U}*
ls: Zugriff auf /dev/ttyU* nicht möglich: Datei oder Verzeichnis nicht gefunden
crw-rw---- 1 root dialout 4, 64 Mär 21 09:27 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Mär 21 09:27 /dev/ttyS1
crw-rw---- 1 root dialout 4, 74 Mär 21 09:27 /dev/ttyS10
crw-rw---- 1 root dialout 4, 75 Mär 21 09:27 /dev/ttyS11
crw-rw---- 1 root dialout 4, 76 Mär 21 09:27 /dev/ttyS12
crw-rw---- 1 root dialout 4, 77 Mär 21 09:27 /dev/ttyS13
crw-rw---- 1 root dialout 4, 78 Mär 21 09:27 /dev/ttyS14
crw-rw---- 1 root dialout 4, 79 Mär 21 09:27 /dev/ttyS15
crw-rw---- 1 root dialout 4, 80 Mär 21 09:27 /dev/ttyS16
crw-rw---- 1 root dialout 4, 81 Mär 21 09:27 /dev/ttyS17
crw-rw---- 1 root dialout 4, 82 Mär 21 09:27 /dev/ttyS18
crw-rw---- 1 root dialout 4, 83 Mär 21 09:27 /dev/ttyS19
crw-rw---- 1 root dialout 4, 66 Mär 21 09:27 /dev/ttyS2
crw-rw---- 1 root dialout 4, 84 Mär 21 09:27 /dev/ttyS20
crw-rw---- 1 root dialout 4, 85 Mär 21 09:27 /dev/ttyS21
crw-rw---- 1 root dialout 4, 86 Mär 21 09:27 /dev/ttyS22
crw-rw---- 1 root dialout 4, 87 Mär 21 09:27 /dev/ttyS23
crw-rw---- 1 root dialout 4, 88 Mär 21 09:27 /dev/ttyS24
crw-rw---- 1 root dialout 4, 89 Mär 21 09:27 /dev/ttyS25
crw-rw---- 1 root dialout 4, 90 Mär 21 09:27 /dev/ttyS26
crw-rw---- 1 root dialout 4, 91 Mär 21 09:27 /dev/ttyS27
crw-rw---- 1 root dialout 4, 92 Mär 21 09:27 /dev/ttyS28
crw-rw---- 1 root dialout 4, 93 Mär 21 09:27 /dev/ttyS29
crw-rw---- 1 root dialout 4, 67 Mär 21 09:27 /dev/ttyS3
crw-rw---- 1 root dialout 4, 94 Mär 21 09:27 /dev/ttyS30
crw-rw---- 1 root dialout 4, 95 Mär 21 09:27 /dev/ttyS31
crw-rw---- 1 root dialout 4, 68 Mär 21 09:27 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Mär 21 09:27 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Mär 21 09:27 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Mär 21 09:27 /dev/ttyS7
crw-rw---- 1 root dialout 4, 72 Mär 21 09:27 /dev/ttyS8
crw-rw---- 1 root dialout 4, 73 Mär 21 09:27 /dev/ttyS9
rolf@rolf-ubuntu:~$ 

Wenn du sicher bist, dass das Geräte an der ersten seriellen Schnittstelle hängt, probier es mal so:

mkdir -p ~/.wine/dosdevices/
ln -sf /dev/ttyS0 ~/.wine/dosdevices/com1

Dann schau mal, ob es in Wine verfügbar bzw. zuweisbar ist. Falls es nicht klappt, musst du sicherstellen, ob dein Benutzer in der Gruppe dialout ist (danach einmal ab- und wieder anmelden, wenn er es noch nicht war):

sudo adduser $USER dialout

Und falls es die falsche serielle Schnittstelle war, wiederholst du den letzten Schritt mit den anderen gelisteten seriellen Schnittstellen (ttyS1, ttyS2, ttyS3, ...} und probierst es jeweils damit.

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Hallo,

sorry mit dem Layout.

Dies wurde mir angezeigt:

rolf@rolf-ubuntu:~$ sudo adduser $USER dialout [sudo] password for rolf: Der Benutzer »rolf« ist bereits ein Mitglied der Gruppe »dialout«. rolf@rolf-ubuntu:~$

Sicher ist, dass es sich um eine serielle Schnittstelle handelt und sicher ist auch, dass es unter WINDOWS XP (ist noch auf dem Rechner) COM 1 ist/war.

Werde jetzt mal neu starten.

Bisher findet das Programm bzw. wine keinen port.

Rolf

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Weiter kein Port im Programm angezeigt. Das Programm heißt LokProgrammer

rolf@rolf-ubuntu:~$ cd ~/.wine/dosdevices/ rolf@rolf-ubuntu:~/.wine/dosdevices$ ln -s /dev/<LokProgrammer> com1 bash: LokProgrammer: Datei oder Verzeichnis nicht gefunden rolf@rolf-ubuntu:~/.wine/dosdevices$

Kann es sein, dass com1 anders geschrieben werden muss, COM1 ???

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

RolfM schrieb:

$ ln -s /dev/<LokProgrammer> com1
bash: LokProgrammer: Datei oder Verzeichnis nicht gefunden

Kann es sein, dass com1 anders geschrieben werden muss, COM1 ???

Es macht keinen Sinn eine Symlink für einen Pfad erstellen zu wollen, den es gar nicht gibt - wenn es ein serielles Gerät ist, muss es eins der Geräte sein, deren Pfad mit /dev/ttyS anfängt.

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Dies hab ich nun zugewiesen:

ist dies korrekt?

mkdir -p ~/.wine/dosdevices/
ln -sf /dev/ttyS0 ~/.wine/dosdevices/com1
mkdir -p ~/.wine/dosdevices/
ln -sf /dev/ttyS1 ~/.wine/dosdevices/com2
mkdir -p ~/.wine/dosdevices/
ln -sf /dev/ttyS2 ~/.wine/dosdevices/com3
mkdir -p ~/.wine/dosdevices/
ln -sf /dev/ttyS3 ~/.wine/dosdevices/com4

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

Ja, das kann man so machen (dem mkdir -p Befehl musst du nicht ständig wiederholen, das Verzeichnis wurde ja schon erstellt). Laut http://onetransistor.blogspot.de/2015/12/wine-serial-port-linux.html muss man dann noch die Seriellen Ports in die Wine-Registry eintragen, damit die genutzt werden.

RolfM

(Themenstarter)

Anmeldungsdatum:
14. April 2014

Beiträge: 30

Hallo, wieder herzlichen Dank!

Die wine-registry kann ich öffnen.

Auf der site werden 2 "common" hardware-Einträge angeboten.

Muss ich die einfach in das registry-Register kopieren??? Oder über die Konsole schreiben? Keine Ahnung, leider.

Freundl. Gruß!

Rolf

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11258

Wohnort: München

Der Eintrag soll laut dem Blogpost in der genannten Textdatei ~/.wine/system.reg landen - mit welchem Editor du das machst, ist egal. Die beiden in dem Blogpost genannten Einträge legen jeweils ein COM1 fest - ich würde es erst mal mit dem ersten probieren und wenn das nicht klappt den Eintrag wieder entfernen und den anderen versuchen. Leider ist das Thema ziemlich schlecht dokumentiert, so dass man da ein bisschen herumprobieren muss.

Antworten |