• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[unter bestimmten Bedingungen gelöst] USB Seriell Konverter

P6CNAT

Advanced Hacker
Hallo,

ich soll einen speziellen Drucker mit serieller Schnittstelle an einen Linux-Laptop anschließen. Ich habe mir einen USB-Seriell Konverter (das Modell) geliehen und wenn ich den ins Laptop stöpsele erhalte ich sofort ein /dev/ttyUSB0. Schick, dachte ich und habe die Baudrate usw. mit stty angepasst, aber auf dem Drucker kommen nur Hyroglyphen raus. Anscheinend brauchen diese Dinger doch einen speziellen Treiber.

Hat hier mal jemand so einen Konverter unter Linux zum laufen gebracht? Falls ja, von welchem Hersteller, Modell, Treiber ....?

Grüße
Georg
 

abgdf

Guru
P6CNAT schrieb:
ich soll einen speziellen Drucker mit serieller Schnittstelle an einen Linux-Laptop anschließen. ... Anscheinend brauchen diese Dinger doch einen speziellen Treiber.
Wahrscheinlich braucht den Treiber eher der Drucker. Was ist es denn für einer?
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hi,

der Drucker Epson TM 88II ist kein Problem (so ähnlich wie die), der kommt noch mit gewöhnlichen ASCII Strings klar.
Ich teste auf einem Laptop der noch mit einer seriellen Schnittstelle ausgestattet ist, nur werden die langsam zur Rarität.
Ich kann Windows XP oder openSUSE 12.2 booten.

Test mit XP und serieller Schnittstelle:
mode COM1:9600,n,8,1
type datei.txt > COM1
Der Drucker macht was er soll

Test mit XP mit dem USB Konverter:
Plus dem passenden Windows-Treiber
mode COM2:9600,n,8,1
type datei.txt > COM2
Der Drucker macht was er soll

Test mit Linux und serieller Schnittstelle:
stty -F /dev/ttyS0 speed 9600 .....
cat datei.txt > /dev/ttyS0
Der Drucker macht was er soll

Test mit Linux und dem USB Konverter
stty -F /dev/ttyUSB0 speed 9600 .....
cat datei.txt > /dev/ttyUSB0
Der Drucker liefert Schrott

Also braucht dieser USB Konverter ein bisschen Nachhilfe.

Grüße
Georg
 

spoensche

Moderator
Teammitglied
Welchen Konverter hast du?

Poste doch mal die Einstellungen der seriellen Schnittstelle und die des Konverters
 
Den Konverter hat er doch schon im Eröffnungsfred gepostet. Würde mich aber auch interessieren, da ich versuchen will, über DOS-Box mittels eines DOS-Programms und eines USB-Seriell-Wandlers zu kommunizieren. Hatte nur bisher noch keine Zeit zum Basteln.

CU Freddie
 

spoensche

Moderator
Teammitglied
Freddie62 schrieb:
Den Konverter hat er doch schon im Eröffnungsfred gepostet.

Danke, hatte ich glatt übersehen.

Freddie62 schrieb:
Würde mich aber auch interessieren, da ich versuchen will, über DOS-Box mittels eines DOS-Programms und eines USB-Seriell-Wandlers zu kommunizieren. Hatte nur bisher noch keine Zeit zum Basteln.

Was willst du den ansteuern, dass du unbedingt DOS brauchst? Funktioniert mit Linux garantiert auch. ;)

@P6CNAT:

Poste mal bitte die Ausgabe von
Code:
lsusb
, damit man mal weiss, ob in deinem Konverter ein PL23 oder FTDI am Werk ist.
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo zusammen,

jetzt habe ich den Drucker mit Konverter mal an meinen openSUSE 12.3 Rechner angeschlossen und der Drucker funktioniert einwandfrei.
Hier die gewünschten Daten

Code:
$ lsusb
Bus 007 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

$ dmesg | grep 4921
[ 4921.273147] usb 7-1: new full-speed USB device number 3 using xhci_hcd
[ 4921.307053] usb 7-1: New USB device found, idVendor=067b, idProduct=2303
[ 4921.307061] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4921.307066] usb 7-1: Product: USB-Serial Controller
[ 4921.307070] usb 7-1: Manufacturer: Prolific Technology Inc.
[ 4921.386157] usbcore: registered new interface driver usbserial
[ 4921.386208] usbcore: registered new interface driver usbserial_generic
[ 4921.386238] usbserial: USB Serial support registered for generic
[ 4921.393802] usbcore: registered new interface driver pl2303
[ 4921.393843] usbserial: USB Serial support registered for pl2303
[ 4921.393886] pl2303 7-1:1.0: pl2303 converter detected
[ 4921.421888] usb 7-1: pl2303 converter now attached to ttyUSB0

$ stty -F /dev/ttyUSB0 
speed 9600 baud; line = 0;
-brkint -imaxbel
Jetzt versuche ich das auch noch auf dem Laptop mit openSUSE 12.2 zu reproduzieren. Bis später

Georg
 
OP
P6CNAT

P6CNAT

Advanced Hacker
So, bin wieder da :)

das sind die Daten vom Laptop mit einem 32bit SUSE 12.2.

Code:
$ lsusb
Bus 002 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

$ dmesg | grep " 170"
[  170.475083] usb 2-1: new full-speed USB device number 2 using uhci_hcd
[  170.621136] usb 2-1: New USB device found, idVendor=067b, idProduct=2303
[  170.621145] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  170.621153] usb 2-1: Product: USB-Serial Controller
[  170.621159] usb 2-1: Manufacturer: Prolific Technology Inc.
[  170.864747] usbcore: registered new interface driver usbserial
[  170.865645] usbcore: registered new interface driver usbserial_generic
[  170.866457] USB Serial support registered for generic
[  170.866508] usbserial: USB Serial Driver core
[  170.881980] usbcore: registered new interface driver pl2303
[  170.882788] USB Serial support registered for pl2303
[  170.882828] pl2303 2-1:1.0: pl2303 converter detected
[  170.894478] usb 2-1: pl2303 converter now attached to ttyUSB0

$ stty -F /dev/ttyUSB0 
stty: /dev/ttyUSB0: Keine Berechtigung
$ su
Passwort: 
sirus:/dev # stty -F /dev/ttyUSB0 
speed 115200 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

### Stelle jetzt die Schnittstelle auf die gleichen Werte wie beim großen PC
sirus:/dev # stty -F /dev/ttyUSB0 speed 9600 icrnl opost onlcr isig icanon iexten echo echoe echok echoctl echoke

sirus:/dev # stty -F /dev/ttyUSB0 
speed 9600 baud; line = 0;
eof = ^A;
-brkint -imaxbel

sirus:/dev # echo -e "Test vom Klapprechner \n\n\n" > /dev/ttyUSB0 

^A
^C
^Z
Beim echo Kommando passiert gar nichts, habe dann CTRL D, CTRL A ... gedrückt. Erst beim Abziehen des USB Steckers wird das echo Kommando beendet. Das eof = ^A bekomme ich nicht weg.
Möglicherweise kann SUSE 12.2 32Bit noch nicht mit dem Konverter umgehen :???:
Einen Update auf SUSE 12.3 will ich nicht mehr machen, der Laptop hat nur 512 MB RAM, das könnte eng werden.

Andererseits wollte ich ja auch nur die Machbarkeit der Anbindung mit einem USB-Seriell Konverter prüfen. Bis Windows XP und ab openSUSE 12.3 läuft es. Einen "dicken" Laptop kann ein anderer besorgen. :wink:
Montag will ich den Konverter zurück geben. Wenn bis dahin noch jemand eine Idee für SUSE 12.2 hat kann ich morgen noch mal was ausprobieren.

Grüße
Georg
 

spoensche

Moderator
Teammitglied
ist der User auf dem 12.2 Rechner Mitglied der Gruppe plugdev? Ist zusätzl. auch das Modul usblp geladen?
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo spoensche,
spoensche schrieb:
ist der User auf dem 12.2 Rechner Mitglied der Gruppe plugdev? Ist zusätzl. auch das Modul usblp geladen?
Auf beiden Rechnern gibt es weder eine Gruppe noch einen User plugdev.
Ich weiß nicht wie man geladene Module auflistet. Ich habe behelfsweise "ps -ef" und lsof verwendet dort wird kein usblp angezeigt.

Grüße
Georg
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo abgdf,
abgdf schrieb:
Probier mal:
http://blog.mypapit.net/2008/05/how-to-use-usb-serial-port-converter-in-ubuntu.html
habe ich jetzt mal ausprobiert, hier sind die Meldungen von dmesg (gefiltert)
Code:
sirus:/dev # dmesg | grep 1586
[ 1586.000161] usb 2-1: USB disconnect, device number 2
[ 1586.000475] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 1586.000507] pl2303 2-1:1.0: device disconnected

sirus:/dev # dmesg | grep 2176
[ 2176.803086] usb 2-1: new full-speed USB device number 3 using uhci_hcd
[ 2176.949138] usb 2-1: New USB device found, idVendor=067b, idProduct=2303
[ 2176.949147] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2176.949155] usb 2-1: Product: USB-Serial Controller
[ 2176.949161] usb 2-1: Manufacturer: Prolific Technology Inc.
[ 2176.951239] pl2303 2-1:1.0: pl2303 converter detected
[ 2176.963289] usb 2-1: pl2303 converter now attached to ttyUSB0
dann habe ich wie oben bereits beschrieben die Einstellungen der Schnittstelle mit stty wieder an den Drucker angepasst, aber der echo Befehl bleibt hängen, bis ich den USB Stecker ziehe.
Ich denke openSUSE 12.x ist auch schon etwas weiter fortgeschritten als Ubuntu von 2008 ;)

Grüße
Georg
 
OP
P6CNAT

P6CNAT

Advanced Hacker
abgdf schrieb:
Was bedeutet, daß es auf Ubuntu von 2008 geht, aber auf openSUSE 12.2 von 2012 nicht. Toll.
Naja, damit hast du leider auch wieder recht. :(
Ich wollte mich darauf beziehen, dass auch SUSE 12.2 immerhin von alleine die Richtige Zuordnung von Hardware und Treiber trifft. Dass der Treiber dann klemmt ist natürlich blöd.

Schönen Sonntag
Georg
 

josef-wien

Ultimate Guru
P6CNAT schrieb:
Ich weiß nicht wie man geladene Module auflistet.
Code:
lsmod
Sowohl das Kernel-Modul pl2303 als auch der Konverter-Typ sind ja schon relativ lange vorhanden, sodaß es eher verwundert, daß die Sache ausgerechnet beim Kernel von 12.2 nicht klappt (aber ausschließen kann man bekanntlich nichts).

Es ist nur so eine Idee, aber gibt es mit angeschlossenem Konverter bei
Code:
getfacl /dev/ttyUSB0
groups
Unterschiede zwischen 12.2 und 12.3?
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo,

hier noch die usb-Module von meinem großen PC.

Code:
$ lsmod | grep usb
usbserial              47962  1 pl2303
usb_storage            57401  0 
btusb                  23871  0 
bluetooth             341895  22 rfcomm,bnep,btusb
Beim Laptop sieht es im Prinzip genauso aus, nur die Zahlen in der zweiten Spalte unterscheiden sich.

Die ACL's sind bei beiden Systemen identisch. Beim 12.2 kann ich noch nicht mal mit dem User root was drucken.
Code:
$ getfacl /dev/ttyUSB0 
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/ttyUSB0
# owner: root
# group: dialout
user::rw-
group::rw-
other::---

Grüße
Georg
 

spoensche

Moderator
Teammitglied
Auf dem 12.2 bitte mal folgendes ausführen und die Ausgabe hier posten:
Code:
lsmod | grep lp

Statt die Schnittstelle wie die deines PC zu konfigurieren (unterschiedliche UART's) führst du mal folgendes aus:

Code:
stty -F /dev/ttyUSB0 sane

Was für einen Drucker verwendest du?
 
OP
P6CNAT

P6CNAT

Advanced Hacker
Hallo spoensche,
spoensche schrieb:
Auf dem 12.2 bitte mal folgendes ausführen und die Ausgabe hier posten:
Code:
lsmod | grep lp

Statt die Schnittstelle wie die deines PC zu konfigurieren (unterschiedliche UART's) führst du mal folgendes aus:

Code:
stty -F /dev/ttyUSB0 sane

Was für einen Drucker verwendest du?


zu Punkt 1:
Code:
$ lsmod | grep lp
drm_kms_helper         45454  1 i915
drm                   232021  4 i915,drm_kms_helper

Daran, dass die unterschiedliche Hardware eine Rolle spielen könnte, habe ich auch schon gedacht. Weiß aber nicht wie ich das berücksichtigen sollte. Die Kombinationsmöglichkeiten der stty-Parameter sind schon enorm.
Habe mal das sane ausprobiert. Aber der Effekt ist der gleiche. Das echo Kommando hängt, bis ich den USB Stecker herausziehe.

Der Drucker ist ein simpler Kassendrucker Typ Epson T88II, der versteht noch einfaches ASCII und ein paar ESC-Sequenzen.

Ich muss den Konverter jetzt zurück bringen, hab es versprochen.

Danke für die Hilfe. Ich bin übrigens erstaunt über die Resonanz. Ich dachte, das Thema ist so exotisch, dass niemand was damit anfangen kann.

Grüße
Georg
 
Oben