ich habe eine Verständnisfrage. Warum funktionieren einige Geräte an
einem "normalen" LPT-Port eines stationären Rechners, aber an einem LPT
welcher über eine PCMCIA Karte bereitgestellt wird nicht? LPT sollte
doch LPT sein. Oder gibt es einen Unterschied zwischen LPT und IEEE 1284?
Hintergrund. Ich möchte für meine Modellbahn eine Lichtsteuerung an den
Laptop anschliesen, welche per LPT angeschlossen wird. Am stationären
Computer läuft das Ding, am Laptop (Delock 2xseriell, 1xparallel
Adapter) läuft das Ding nicht. Der Hersteller schrieb mir nun, geht per
PCMCA-LPT nicht. OK, aber warum? Ist das nicht standartisiert? Was ist
anders, schließlich meldet sich der LPT Port im Laptop als PCI LPT
(winXP Home).
Für aufklärende Worte wäre ich sehr dankbar,
Ralf
Ralf Schmuck schrieb:
Ich habe zwei verschiedene Vermutungen:
1. Die Software umgeht das OS und greift direkt auf die Hardware zu. Das
sollte allerdings nur bis WinME funktionieren und in der NT-Linie (dazu
gehoeren auch 2k/XP/Vista) nicht.
2. Die Spannungen sind nicht ganz standardkonform, weil der Konverter zu
wenig Spannung bekommt, weil der Standard fuer seine Spannungsquelle
(PCMCIA, USB, etc.) einfach nicht mehr hergibt.
3. Der Konverter ist grottig.
HTH
Bastian Lutz
--
Wenn jemand irgendwas von Anonymitaet faselt, wenn er oder jemand
anderes (meist Newbies) darauf hingewiesen wurde, dass er einen Realname
verwenden sollte, hat er den Hinweis nicht richtig gelesen.
Ich vermute auch Nr.3 resp. "billige Wandler" anstatt richtiger [TM]
PIO-Chips.
Kann das genaue Modell angegeben werden anstatt nur "delock"?
Evtl. findet man dann was in den Infos des Herstellers.
Gruß, Ralf
> 2. Die Spannungen sind nicht ganz standardkonform, weil der Konverter zu
> wenig Spannung bekommt, weil der Standard fuer seine Spannungsquelle
> (PCMCIA, USB, etc.) einfach nicht mehr hergibt.
Verstehe ich das richtig? Mal an nem anderen Notebook ausprobieren, da
da ja evtl ein anderer PCMCIA Baustein drinsteckt?
>
> HTH
>
> Bastian Lutz
Gruß,
Ralf
>
Ralf Schmuck schrieb:
> Bastian Lutz schrieb:
Gemeint habe ich es anders (z. B. aus USB-5V 12V machen geht ja nicht so
einfach). Allerdings vertragen z. B. USB-Anschluesse auf
Desktop-Mainboards oft hoehere Maximal-Stroeme als USB eigentlich erlaubt.
Ob bei dir ein anderes Notebook was bringen wuerde, weiss ich nicht.
Du meintest am 20.02.09:
> Hintergrund. Ich möchte für meine Modellbahn eine Lichtsteuerung an
> den Laptop anschliesen, welche per LPT angeschlossen wird.
Benutzt diese Steuerung die Schnittstelle auch zur Energieversorgung?
Viele Gruesse!
Helmut
>1. Die Software umgeht das OS und greift direkt auf die Hardware zu. Das
>sollte allerdings nur bis WinME funktionieren und in der NT-Linie (dazu
>gehoeren auch 2k/XP/Vista) nicht.
Doch, das geht auch unter NT (und Nachfolgern), wenn man den Zugriff auf
die Ports mit einem Treiber freischaltet. Bloß muß man dazu wissen, wo
die Ports eigentlich liegen. Der Hersteller der Software hat
offensichtlich nur die LPTs vorgesehen, die auf den klassischen
ISA-Adressen liegen.
>2. Die Spannungen sind nicht ganz standardkonform, weil der Konverter zu
>wenig Spannung bekommt
Unwahrscheinlich. PCMCIA/PCCard hat die volle Spannungsversorgung des
Hosts zur Verfügung.
>ich habe eine Verständnisfrage. Warum funktionieren einige Geräte an
>einem "normalen" LPT-Port eines stationären Rechners, aber an einem LPT
>welcher über eine PCMCIA Karte bereitgestellt wird nicht? LPT sollte
>doch LPT sein.
Ganz und garnicht.
Schon beim "klassischen" LPT-Port gab es diverse Spielarten. Aber das
ist höchstwahrscheinlich nicht dein Problem.
>Hintergrund. Ich möchte für meine Modellbahn eine Lichtsteuerung an den
>Laptop anschliesen, welche per LPT angeschlossen wird. Am stationären
>Computer läuft das Ding, am Laptop (Delock 2xseriell, 1xparallel
>Adapter) läuft das Ding nicht. Der Hersteller schrieb mir nun, geht per
>PCMCA-LPT nicht. OK, aber warum?
Weil Vollidioten die Software geschrieben haben.
Offensichtlich benutzen sie zur Ansteuerung des Ports direkte
Hardwarezugriffe. Sowas sollte seit mindestens zehn Jahren eigentlich
überhaupt nicht mehr verwendet werden, sondern durch einen Zugriff über
die dafür vorgesehenen Treiberfunktionen des Betriebssystems ersetzt
sein.
Wenn man das nicht macht und auf direkte Hardwarezugriffe besteht, dann
muß man wenigstens einen Busscan implementieren, um auch LPTs zu finden,
die nicht auf den klassischen ISA-Adressen (278 bzw. 378 Hex) liegen.
Damit wäre dann immerhin noch die Benutzung von per PCMCIA/PCCard/PCI
angebundenen LPTs möglich. Das haben die Typen aber offensichtlich nicht
gemacht.
->Historischer Softwareschrott vom Feinsten.
Mit ein wenig Glück sind die Ports in der Software konfigurierbar, z.B.
über eine Ini-Datei oder die Registry. Wenn dann noch dazu kommt, daß
bei der Busarbitrierung der PCMCIA- bzw. PC-Card der Port immer auf
derselben Adresse landet, könntest du die Software auf eben diese
Adresse umkonfigurieren. Welche Adresse es ist, kannst du unter Windows
über den Gerätemenager herausfinden.
Allerdings gibt es auch ganz besschissene Karten, bei denen eigentlich
nur ein USB-Hostcontroller über den Bus angeschlossen ist, an dem dann
wiederum ein USB-LPT-Konverter hängt. In diesem Fall hast du endgültig
verloren. Ob das so ist, läßt sich ebenfalls über den Gerätemanager
herausfinden. Taucht dort nach Anschluß der Karte ein zusätzlicher
USB-Hostcontroller auf, dann war's das. Bei dem LPT-Port im
Gerätemanager ist in diesem Fall dann auch keine Angabe über die
benutzten Resourcen (also u.a. IO-Adressen) zu finden, weil es sich nur
um einen virtuellen LPT-Port handelt. Diesen kann man ausschließlich
über die Funktionen des Betriebssystemtreibers verwenden, nicht über
direkte Hardwarezugriffe.
nö, angeblich ist die Schnittstellenschaltung galvanisch von der
Lichtsteuerplatine getrennt. Dafür sprechen auch die beiden Optokoppler
auf der Schnittstellenkarte und die extra 12-20V AC oder DC Versorgung
der eigentlichen Steuerplatine. Die ist was Spannungen angeht deutlich
freizügiger, aber gut, es geht jauch nur um Lämpchen.....;-)
> Viele Gruesse!
> Helmut
>
Gruß,
Ralf
Das könnte sein, zumindest läuft die Software nur mit Adminrechten.
Sonst bricht der Start mit Zugriffsfehlern ab....WinXP ist ja soooo neu...
> Sowas sollte seit mindestens zehn Jahren eigentlich
> überhaupt nicht mehr verwendet werden, sondern durch einen Zugriff über
> die dafür vorgesehenen Treiberfunktionen des Betriebssystems ersetzt
> sein.
>
Könnte es daran liegen, da die ganzen Licheffekte (Schweislich,
Fernseherflakkern, Gaslaternen etc.) direkt vom Computer gesteuert
werden? Das ganze funktioniert über sehr kurzes an und ausschalten. Das
heist die ganze Logik ist im Cmputer und auf der Steuerplatine befinden
sich nur die Schalt- und Verstärkerbausteine, Ist ja irgendwie auch
vernünftig, da die ganze Sache so billiger wird und eh schon vorhandene
Rechenkraft genutz wird.
> Mit ein wenig Glück sind die Ports in der Software konfigurierbar, z.B.
> über eine Ini-Datei oder die Registry. Wenn dann noch dazu kommt, daß
> bei der Busarbitrierung der PCMCIA- bzw. PC-Card der Port immer auf
> derselben Adresse landet, könntest du die Software auf eben diese
> Adresse umkonfigurieren. Welche Adresse es ist, kannst du unter Windows
> über den Gerätemenager herausfinden.
Das werde ich mal probieren, ich nicht extra noch einen alten Rechner
neben das Notebook stellen müssen. Das soll alles von einem Rechner aus
gehen. Alternativ müsste ich nen Monitor kaufen....
>
> Allerdings gibt es auch ganz besschissene Karten, bei denen eigentlich
> nur ein USB-Hostcontroller über den Bus angeschlossen ist, an dem dann
> wiederum ein USB-LPT-Konverter hängt. In diesem Fall hast du endgültig
> verloren. Ob das so ist, läßt sich ebenfalls über den Gerätemanager
> herausfinden. Taucht dort nach Anschluß der Karte ein zusätzlicher
> USB-Hostcontroller auf, dann war's das.
Nö, taucht nicht auf.
> Bei dem LPT-Port im
> Gerätemanager ist in diesem Fall dann auch keine Angabe über die
> benutzten Resourcen (also u.a. IO-Adressen) zu finden, weil es sich nur
> um einen virtuellen LPT-Port handelt. Diesen kann man ausschließlich
> über die Funktionen des Betriebssystemtreibers verwenden, nicht über
> direkte Hardwarezugriffe.
Die bekomme ich angezeigt: E/A FFD8-FFDF, FFD0-FFD7
Gruß,
Ralf
>Die bekomme ich angezeigt: E/A FFD8-FFDF, FFD0-FFD7
OK.
Falls du also bei der Software eine Möglichkeit findest, die IO-Adressen
zu konfigurieren, mußt du da höchstwahrscheinlich FFD8 reinschreiben.
Danke für die Tipps,
Ralf
Neben dem bereits geschriebenen:
Ein üblicher Desktop-Onboard-LPT hat einen Controller-Chip der
kompatibel zum originalen i8255 auf einem ISA-Bus ansteuerbar ist.
Ein OS-Treiber macht daraus dann einen "generischen" LPT,
der es unabhängig vom tatsächlich verbauten Chip möglich macht,
darüber Daten zu senden.
Prinzipiell kann ein LPT auch mit einem anderen Chip implementiert
sein, den ein anderer OS-Treiber dann zum selben generischen LPT
kapselt.
Die PCMCIA-Karte kann einen anderen Controller (nicht i8255
kompatibel) haben, weil der Controller vermutlich auch mehr
Features hat (Hotplugging, Stromsparmodi etc), die ein i8255
nicht kennt.
Deine Software verwendet nur keinen vom OS bereitgestellten
generischen LPT, sondern erwartet einen direkt ansteuerbaren
i8255-LPT.
Hendrik vdH
Gruß, Ralf
Jo. 3,3V. (Mir ist zumindest noch keine CardBus-Karte begegnet, die 5V
braucht/benutzt. Obwohl, man kann ja auch 5V-16Bit-PCMCIA-Karten noch dort
betreiben, also muss an sich auch 5V verfügbar sein...)
Aber es gibt ja schon bei Onboard-Ports enorme Unterschiede. Allein ob
eine Schnittstelle im Standard-, Bidriektional-, EPP- oder ECP-Modus
betrieben wird, kann über "funktioniert" oder "funktioniert nicht"
entscheiden.
Bei moderneren Boards ist die parallele Schnittstelle mit LVTTL-Signalen
(3,3V-Pegel) ausgeführt, was dazu führt, dass ein längeres Druckerkabel
ggf. nicht mehr vernünftig geht, das mit TTL-Pegel (5V) noch ging.
Dazu kommt noch folgendes Phänomen, betreffend den
ISA-Plug&Play-Mechanismus (ja, auch in den modernsten Rechnern ist der
ISA-Bus in Form eines PCI-"Anhängsels" immer noch vorhanden, sprich: des
LPC-Controllers, der so Dinge wie den PS/2-Controller, den
Floppy-Controller, die serielle(n) und parallele(n) Schnittstelle(n)
enthält):
ISA-Plug&Play nutzt ein etwas krummes Feature: Um den
Plug&Play-Mechanismus auszulösen, wird ein Schreibzugriff auf Adresse
0x279 gemacht. Auf 0x279 liegt, wenn vorhanden, das Port-Status-Register
des einen Druckerports. Dieses ist aber im Normalfall read-only! D.h.
Plug&Play-fähige Karten erkennen diesen eigentlich nicht zulässigen
Schreibzugriff und antworten dann mit ihren entsprechenden
Konfigurations-Optionen.
Wenn jetzt die Adresse 0x279 aber nicht einem ISA-Bus-, sondern einem
PCI-Device (also etwa per Jumper einem Druckerport auf einer PCI- oder
CardBus-Karte) zugeteilt ist, dann funktioniert der Plug&Play-Mechanismus
nicht mehr, weil der Schreibzugriff eben beim betreffenden PCI-Device und
nicht mehr am ISA-Bus(-Rest-Anhängsel) landet. Der PCI-Bus hat Vorrang vor
dem ISA-Bus. Ganz abgesehen davon, dass PCI-Karten mitunter auch klaglos
den Schreibzugriff auf diese Adresse erlauben.
Damit kann schlicht und einfach kein ISA-Plug&Play mehr stattfinden.
Einfachste Abhilfe: den Onboard-Druckerport auf Basisadresse 0x278
einstellen, dann landet der betreffende Zugriff auf jeden Fall am ISA-Bus;
wie gesagt, der Onboard-Druckerport ist immer ein ISA-Device. (Etwas
schönfärberisch heißt das ISA-Geraffel ja auch "Legacy Device(s)".)
Wenn sich eine olle Software darauf verlässt, einen Druckerport nur unter
0x378, 0x278 oder 0x3BC zu finden, hast Du mit einer nur
software-konfigurierbaren PCI-Karte keinen Spass, die ihre Ports
sonstwohin legen kann.
Ebensowenig Freude wirst Du dann mit "legacy-free" PCs haben, weil das
BIOS dort nicht mal mehr weiss, was ein ISA-Bus ist... da sind dann alle
I/O-Bereiche gleichwertig...
Ansgar
--
Mails an die angegebene Adresse erreichen mich - oder auch nicht.
Nützliche Adresse gibt's bei Bedarf!
Mail to the given address may or may not reach me - useful address will be
given when required!