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!