Ich habe in einen Rechner eine zweite parallele Schnittstelle
eingebaut, die unter Win98 auch richtig als LPT2 erkannt und
angesteuert wird.
Nun möchte ich einen alten Nadeldrucker an diesen LPT2-Port
anschließen und diesen mit einem DOS-Programm ansteuern
(Arztpraxen-Software).
An LPT1 klappt alles Problemlos, aber an LPT2 bekomme ich den Drucker
mit der o.g. Software nicht zum Laufen, obwohl ich es in den
Programmoptionen entsprechend eingestellt habe.
Meine Frage: Muß ich unter DOS nun noch irgendwelche Dinge einstellen,
vielleicht über den MODE-Befehl?
Vielen Dank für jegliche Hilfe!
Gruß,
Måns
--
Peer Måns Carlson (mailto: p.m.c...@gmx.de)
(RSA/DH)PGP-Key auf Anfrage, PGP key on request
ICQ #58382817 (Nickname: Neo)
Versuche es mit MODE LPT2:
--
d-d
Ich darf nochmal aus Peer's Posting zitieren:
> ...unter Win98 auch richtig als LPT2 erkannt und angesteuert wird.
>
> ...obwohl ich es in den Pogrammoptionen entsprechend eingestellt habe.
/Zitat Ende/
> Und wenn schon Umleitung gemeint ist, dann geht nur von LPT zu COM.
Korrekt. Sollte solch eine Umleitung aktiv sein, wird sie mit dem von
mir genannten Befehl zurückgesetzt.
> Das Problem beim Fagesteller lässt sich damit nicht lösen.
Da die Ausgabe auf LPT2 unter Windows funktioniert und sich das DOS-
Programm offenbar entsprechend konfigurieren lässt, kommen nicht mehr
allzu viele Möglichkeiten in Betracht.
--
d-d
Hmmm...für mich ist erstmal gar nichts klar. :}
Es bleibt ein grosser Unterschied, ob man vor einem Rechner sitzt, oder
aus der Ferne eine Beurteilung trifft.
> >Korrekt. Sollte solch eine Umleitung aktiv sein, wird sie mit dem von
> >mir genannten Befehl zurückgesetzt.
>
> Das hast du vergessen zu erklären. Deshalb die Verwirrelung was du
> meintest. Mit deinem Tip alleine war so nix anzufangen.
Stimmt. Er war zu kurz gehalten.
> Das Problem dürfte die Adressen der Ports sein. Manche DOS-Programme
> erwarten unter den LPT's bestimmte Adressen und schauen nicht nach,
> was wirklich eingestellt ist.
Das weiss ich nicht. Um unter DOS auf LPT2 zu drucken, werden eigentlich
nur die Port-Adressen an den Adressen 0008h und 000Ah im Bios-Daten-
segment geswappt, egal was momentan drin steht.
> WIN ist das egal, aber eben nicht manchen schlampig geschriebenen
> DOS-Programmen. Solche hatte ich schon mehr als genug. Die setzen z.B.
> fälschlicherweise oft voraus, daß LPT1 = 378h und LPT2 = 278h ist. Und
> das ist eben nicht immer so.
ACK. Aber wie gesagt - beim Swappen spielt dies keine Rolex.
> Oder es liegt am Interrupt 5, der auch noch oft von der Sound- oder
> Netzwerkkarte belegt ist. WIN kommt damit meistens klar und kann
> trotzdem auf LPT2 drucken. Nur manche DOS-Proggies eben nicht.
Auch möglich. Eine doppelte Interrupt-Belegung sollte jedoch im Geräte-
Manager angezeigt werden. Und solange die Soundkarte nicht dudelt...
Gruss
--
d-d
> Ich habe in einen Rechner eine zweite parallele Schnittstelle
> eingebaut, die unter Win98 auch richtig als LPT2 erkannt und
> angesteuert wird.
Das bedeutet leider garnichts - Win98 kann P&P - DOS nicht.
> An LPT1 klappt alles Problemlos, aber an LPT2 bekomme ich den Drucker
> mit der o.g. Software nicht zum Laufen, obwohl ich es in den
> Programmoptionen entsprechend eingestellt habe.
Unter DOS wird erwartet, daß LPT2 (wenn keine dritte parallele Karte
drin ist) auf IRQ5 und I/O-Port 278 zu finden ist. Ist die Karte
entsprechend eingestellt und liegt dort keinerlei andere Hardware?
Olaf
--
********************* OLAF ERKENS **********************
FJ@#RRR http://www.wiso.uni-dortmund.de/~FJ
FJ1200 3YA BJ93 157Mm rrr#25
Engine replaced ... up and running wonderful :-)
Das erinnert mich stark an meine früheren Low-Level-Programme. Im
konkreten Fall handelt es sich um "Arztpraxen-Software". Ich kann mir
beim besten Willen nicht vorstellen, dass hier jeder Druckbefehl über
INT-Funktionen programmiert wurde. Viel wahrscheinlicher ist es, dass
zum Drucken Standard-Bibliotheksfunktionen (C bzw. Pascal) aufgerufen
werden (ohne Angabe der LPT-Nummer). Im compilierten Zustand führt dies
wiederum zum Aufruf von INT-Funktionen. Das hilft uns hier nicht viel.
> >Eine doppelte Interrupt-Belegung sollte jedoch im Geräte-Manager
> >angezeigt werden. Und solange die Soundkarte nicht dudelt...
>
> Sollte. Ist aber oft nicht so.
Da dies eine DOS-Gruppe ist, nur soviel: Modelle nach Anschluss
anzeigen > Computer > Eigenschaften > Interrupt (IRQ). Hieraus geht die
Belegung der Interrupts eindeutig hervor. Ausnahmen sind hierbei nicht
bekannt.
> Hat auch nix damit zu tun, ob die Soundkarte dudelt. Nicht jeder
> IRQ-Ausgang ist OC oder Tristate.
Es ist überhaupt kein Problem, IRQ5 oder IRQ7 gleichzeitig an Soundkarte
und Drucker zu vergeben, solange nicht beide Geräte gleichzeitig aktiv
sind. Dies gilt sowohl für Windows wie auch für DOS. Mir ist bis jetzt
kein gegenteiliger Fall bekannt. Und bei einer Arztpraxen-Software wäre
eine musikalische Untermalung wohl die klare Ausnahme.
<snip>
> Und schon hat man die tollsten Probleme unter WIN.
Hier geht es eher um Probleme unter DOS. Wir können die Diskussion an
dieser Stelle beenden, für mich ergeben sich keine neuen Erkenntnisse.
--
d-d
Wolfgang, verrenne Dich jetzt bitte nicht. Ich poste seit langer Zeit
in inter/nationalen Windows-NGs. Dieses vermeintliche Problem ist
bisher noch *nirgends* erschienen.
> OK - dir fehlen auch offensichtlich die Harwarevoraussetzungen im
> Bereich IRQ-Auslösung und Zusammenhänge. Hatte gedacht, dir das
> verständlich machen zu können.
Hehe. Ich habe meine Diplom-Arbeit über Hardware-Schnittstellen und IRQs
zu einer Zeit geschrieben, als die meisten noch in ihren Windeln gegen
die Wellen gekämpft haben.
> Schade - gute Nacht
Gut Traum. :}
--
d-d
> >Auch möglich. Eine doppelte Interrupt-Belegung sollte jedoch im Geräte-
> >Manager angezeigt werden. Und solange die Soundkarte nicht dudelt...
>
> Sollte. Ist aber oft nicht so. Hat auch nix damit zu tun, ob die
> Soundkarte dudelt. Nicht jeder IRQ-Ausgang ist OC oder Tristate. Wenn
> also zwei IRQ-Leitungen von verschiedenen Quellen parallel geschaltet
> werden, *siegt* der Stärkere. ZUmidnest bei ISA.
Hier möchte ich denn doch mal einhaken.
Zunächst mal zeigt der Geräte-Manager IRQ-Doppelbelegungen nur dann als
Konflikt an, wenn sie auch einen solchen darstellen.
Das ist zum Beispiel immer dann der Fall, wenn zwei ISA-Karten den
gleichen Interrupt benutzen, da dieses laut ISA-Spezifikation verboten
ist.
PCI hingegen erlaubt ausdrücklich IRQ-Doppelbelegungen. Hier kommt es
dann noch darauf an, ob die jeweiligen Treiber damit zu Recht kommen.
> >Zunächst mal zeigt der Geräte-Manager IRQ-Doppelbelegungen nur dann als
> >Konflikt an, wenn sie auch einen solchen darstellen.
>
> Aber nur, wenn WIN die Interrupts auch erkennt. Die Interrupts von
> Karten, welche WIN unbekannt sind, kann WIN auch nicht mit einbeziehen.
Logisch. Was Windows nicht weiß, macht Windows nicht heiß :-)
> >Das ist zum Beispiel immer dann der Fall, wenn zwei ISA-Karten den
> >gleichen Interrupt benutzen, da dieses laut ISA-Spezifikation verboten
> >ist.
>
> Das ist bekannt. Stimmt aber nicht. Zumindest teilweise. Und auch bei
> ISA gibt es funktionierende IRQ-Doppelnutzung. Siehe COM1-4 (oder mehr)
> Hängt nur von der verwendeten Software ab.
Natürlich gibt es Multiport-Karten, die nur einen einzigen Interrupt für
alle Schnittstellen benötigen. Darum ging es aber nicht.
Lies noch mal genau: "wenn zwei ISA-Karten den gleichen Interrupt
benutzen". Darum ging es: _zwei_ Karten, _ein_ Interrupt.
Du schriebst am 12.04.00 zum Thema "Re: LPT2 unter DOS":
>>Lies noch mal genau: "wenn zwei ISA-Karten den gleichen Interrupt
>>benutzen". Darum ging es: _zwei_ Karten, _ein_ Interrupt.
> Davon habe ich *zwei* hier im Rechner. COM 1-2 und COM 3-4 - also 2
> mal die gleichen IRQ'S. Und LPT2 und LPT3 auf IRQ5. Also auch doppelt
> belegt. (LPT1 auf 7) Und geht mit fast allen Programmen.
Sobald aber zwei verschiedene Softwareroutinen, die voneinander
nichts wissen, den gleichen Hardwareinterrupt benutzen, geht
es schief. Beispiel: Maustreiber und Terminalprogramm.
Und meistens werden ja auch bei Printerports die Hardware-
Interrupts nicht benutzt bzw. die Hardware-Interrupts sind
per default inaktiv. Sonst herrschte Chaos auf jedem PC.
Thomas.
--
>Ich glaube WIN arbeitet bei den LPT'S
>auch nur im Pollingverfahren.
Kommt drauf an. Die "LPT-Druckerschnittstelle" arbeitet im
Polling-Verfahren. (Eigentlich einer Mischform, denn tatsächlich
werden die Daten doch in einem (Timer-) Interrupt übertragen.
Letztlich also dasselbe Verfahren wie beim DOS-Befehl Print.
Die "EPP/ECP-Druckerschnittstelle" hingegen arbeitet echt mit dem
LPT-IRQ.
Obiges bezieht sich übrigens nur auf das Drucken mit dem
Windows-Druckerspooler. Andere Geräte (auch Druckertreiber bei
"direktem" Drucken) können von dieser Regel nach eigenem Gutdünken
abweichen. Beispielsweise ZIP-Treiber oder Treiber für
Parallelport-Streamer benutzen in der Regel auch die
"LPT-Druckerschnittstelle" im Interruptmodus.
MfG Heiko
--
Bitte keine eMail-Kopien von Newsgrouppostings an mich schicken.
Ich lese die NG's, in denen ich schreibe.
"Peer Måns Carlson" <p.m.c...@gmx.de> schrieb im Newsbeitrag
news:qlv0fs42gnif7g5bt...@4ax.com...
> Ich habe in einen Rechner eine zweite parallele Schnittstelle
> eingebaut, die unter Win98 auch richtig als LPT2 erkannt und
> angesteuert wird.
Hier ist ja nun schon viel zu Deinem Problem geschrieben worden. Nur
eine Frage vermisse ich: Hast Du eine PCI- oder ISA-Schnittstellenkarte?
Falls PCI, so ist Dein Problem klar, denn die PCI-LPT-Karten verwenden
nicht die von DOS (-Programmen) erwarteten Standard-Ports.
Falls die Karte doch eine ISA-Karte ist: Taucht der zweite LPT-Port im
Bios-Screen beim Booten auf? Welche Adressen für Deine LPT-Ports werden
dort genannt?
cu
Peter