PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qemu serieller Port auf USB-seriell umlenken



PeHeller@gmx.net
04.04.05, 21:31
Hallo,

ich habe das howto http://www.linuxforen.de/forums/showthread.php?t=141201&highlight=qemu+serial
gelesen und möchte das qemu auf den usb-Port zugreift an dem ein usb-seriell Umsetzer hängt. Der Umsetzer funktioniert unter Linux.
Wenn ich die Umleitung auf /dev/ttyUSB0 setze dann erkennt slsnif dies nicht.
Laut man kann ich nur ttyS0 bis x angeben.
Funktionieren sollte es, aber wie kann ich das Programm dazu bewegen.
Da ich keine serielle Schnittstelle am Notebook habe bin ich auf den USB-Adapter angewiesen.

Wie kann ich qemu und die Zusatzprogramme dazu bewegen das er ttyUSB0 akzeptiert.
Übrigens ich habe die 0.6.2 Version.

Danke
worst_case

phnord
06.04.05, 02:29
Wie wärs mit nem Link?
ln -s /dev/ttyUSB0 /dev/ttyS0mfg

stefan.becker
06.04.05, 20:11
Geht das? Nur aus Interesse, könnte man ja noch ins Howto schreiben.

PeHeller@gmx.net
06.04.05, 20:23
Hallo,

ich habe beim Entwickler von slsnif nachgefragt. "
zitat: "Wenn das device geöffnet werden kann dann sollte es auch funktionieren"

Ich hatte diverse Rechteprobleme bin aber jetzt soweit das ich Daten empfangen kann. Jedoch leider nicht senden. V0.6.2 snapshot 03.04.2005.

Testumgebung : Winrechner - Hyperterminal -> Linuxrechner - qemu -
win2k - Hyperterminal.

Eventuell liegt es an dem USB-Seriell Umsetzer. Der funktioniert zwar unter
Linux selbst, aber wer weiß. Leider habe ich keine serielle Schnittstelle um
es direkt zu testen.
Kabel usw. getestet, es liegt an qemu oder an der Umlenkung mit
slsnif.
Desweiteren habe ich festgestellt das die Umstellung der Schnittstelle
(Geschwindigkeit usw) im Windows keinen Einfluss hat. Bei mir ist immer 9600,8,1,n. Kann ich nur die Geschwindigkeit einstellen die ich beim Aufruf von slsnif mitgebe ?

Zwecks nur Empfang -> immer noch ein rechte-Problem ?

Hier wäre ich für jede Vermutung dankbar, sonst muss ich mir wieder eine Nacht um die Ohren schlagen ;)

Danke
worst_case

stefan.becker
06.04.05, 20:29
Zu den Rechten. Versuch mal einen Neustart (wegen zurücksetzen), dann als root:



umount usbfs
mount -t usbfs usbfs /proc/bus/usb -o devmode=0666


Wenn das geht, kannst du den Eintrag in der /etc/fstab entsprechend anpassen.

PeHeller@gmx.net
06.04.05, 21:01
Abend,

mir ist nun noch etwas aufgefallen.
Wenn ich den USB-Seriell Adapter nicht stecke und das System neu starte
liegt mein device auf den rechten die ich vorgegeben habe.
Wenn ich den USB-Serielle Adapter stecke dann wird der Besitzer sowie die Rechte verändert.
Wenn ich nun den Adapter wieder ziehe dann ist das device verschwunden und kommt erst wieder wenn der Adapter gesteckt wird, oder neu gestartet wird.
??????????????

umount usbfs -> umount: usbfs: Nicht gefunden
mount -t usbfs usbfs /proc/bus/usb -o devmode=0666 -> mount : usbfs ist bereits eingehängt oder /proc/bus/usb wird gerade benutzt

Fragen über Fragen :confused:

Danke
worst_case

stefan.becker
06.04.05, 21:13
Dann:


umount /proc/bus/usb

PeHeller@gmx.net
06.04.05, 21:52
Hallo,

das interessiert Ihn gar nicht. Beim einstecken des USB-Seriell Adapters wird der Besitzer auf root gesetzt und die rechte auf crw_ rw_ ___ ich möchte aber 0666 also crw_ rw_ rw_.
Zu meiner Schande muss ich sagen das ich im Eifer des Gefechts das device gelöscht habe. Ich habe es aber wieder mit "mknod /dev/ttyUSB0 c 188 0" erstellt. Sollte so richtig sein.
Jetzt habe ich noch etwas gesehen. Das Verzeichnis /dev/pts hat als Besitzer root und gruppe root sowie die rechte 0755.
Das bedeutet doch das ausser root keiner in das Verzeichniss schreiben darf.
slsnif wird ja als user gestartet. Wie kann er eine datei erstellen in dem Verzeichnis ?

Und das erzeugte pseudo-Terminal (beim Start von qemu und slsnif) die rechte 0620. Warum 0620 ?

Noch eins. Ich starte mit deinem Script qemu und slsnif.
Irgenwann nach dem start kommt dann
Opened port: /dev/pts/7
Opened port: /dev/ttyUSB0
Baudrate is set to 9600 baud (default)
so und jetzt sitzt der Cursor hier.
Wenn ich nun ein Zeichen von meinem Windows-PC an den qemu PC sende geht der Cursor nach unten. (bei jedem Zeichen um eine Spalte)
Das dürfte durch slsnif kommen
Wenn ich nun am qemu Windows ein Zeichen sende bewegt sich nicht's.
Daraus schließe ich das das Zeichen gar nicht von qemu nach slsnif gelangt. (somit kann es auch nicht weiter auf ttyUSB0 kommen)

Es ist sicher nur ne Kleinigkeit aaaaaber :p Pustekuchen

Danke
worst_case

stefan.becker
06.04.05, 21:58
Hilft dir auch nicht direkt weiter. Aber: In der Developer List postete vor kurzem jemand, einen Patch für die serielle Schnittstelle zu entwickeln.

PeHeller@gmx.net
06.04.05, 22:16
Heureka.....es geht.

Wenigstens ein Teilerfolg. (muss immer noch die Rechte des ttyUSB0 per Hand ändern)

Es geht definitiv mit einem USB-Seriell Umsetzer.
Aber......(Ich weiß nicht ob es bei einer ttyS0 ebenfalls so ist)

Die Geschwindigkeit bzw. Schnittstellenparameter lassen sich nicht ändern bzw. haben keine Funktion.
(Ist ja klar, woher soll slsnif wissen das im Windows die Geschwindigkeit geändert wurde)
Wenn ich mit Hyperterminal eine Verbindung aufbauen will, muss ich zuerst den Handshake ausschalten (Später nicht mehr möglich)
Die Schnittstellenparameter sind egal im Hyperterminal, da immer nur die Parameter von slsnif genommen werden.

Das bedeutet das kein Programm, das nicht die default Schnittstellenparameter verwendet, benutzt werden kann.

Laut mailingliste qemu hat man ein Modem probiert. Hier gibt es vermutlich kein Problem, da das Modem die Geschwindigkeiten automatisch an den PC anpasst.

Leider ist die serielle Schnittstelle für mich unverzichtbar. Ich werde weiterhin auf Windows direkt zurückgreifen müssen....schade eigentlich.

Wenn du mal wieder was über dieses Thema hörst, gib mir bitte Bescheid. Auch zum testen bin ich gerne bereit.....Schnittstellen liegen mir und ich habe auch die Möglichkeiten dafür zum testen.

Vielen Dank
great_Linux