Forum: PC Hard- und Software Hilfe Suche dringend LPT Sniffer.


von _matze (Gast)


Lesenswert?

Moin!

Vielleicht gehört das nicht ganz hierhin, aber da ich an einem 
LPT-Logger per µc arbeite: Wer kennt einen guten LPT-Sniffer, der am 
besten auch mit XP x64 zusammenarbeitet?

Ich will die Daten, die mein Logger sammelt, abgleichen, da es 
Differenzen zwischen der Quelle und dem Logger gibt, und ich nun 
sicherstellen will, dass korrekt geloggt wird bzw. überrüfen will, woher 
die unbekannten Daten kommen.

Bin für jeden Tipp dankbar!

Gruß Matze

von Philipp B. (philipp_burch)


Lesenswert?

Probier's mal mit PortMon: 
http://www.microsoft.com/technet/sysinternals/utilities/portmon.mspx

Kann aber nicht sagen, ob das bei deinen Daten funktioniert, kommt auf 
den Zugriff an.

von _matze (Gast)


Lesenswert?

Werd' ich direkt mal testen. Vielen Dank für die ultra-schnelle Antwort!

von _matze (Gast)


Lesenswert?

Hmm, das Tool scheint leider nicht unter XP x64 zu funktionieren. Es 
kommt direkt bei Programmstart die Fehlermeldung "Error 0", es folgt das 
Programmende...

von Uhu U. (uhu)


Lesenswert?

Das war zu erwarten... 32-Bit-Treiber laufen auf 64-bit nicht.

Da wird es wohl das Einfachste sein, wenn du zu den Tests einen 
32-Bit-Hobel nimmst.

von _matze (Gast)


Lesenswert?

Geht leider nicht, da die Software, deren gesendete Daten ich überprüfen 
will, nur unter 64 Bit läuft, außerdem habe ich hier auf der Arbeit kein 
32-Bit-System installiert.

Mir ist gerade noch die Idee gekommen, VMWare zu nutzen. Könnte klappen, 
ist aber umständlich. Mir wäre lieber, jemand hat das rettende Tool auf 
Lager...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Auf welche Art und Weise steuert denn die von Dir verwendete Software 
den LPT-Port an? Geht sie davon aus, daß da ein Drucker angeschlossen 
ist und sendet einfach nur Daten an den Drucker?

In diesem Falle sollte es möglich sein, in eine Datei zu drucken, da 
bedarf es weder Portmon noch einer Druckerportloggerhardware.

Das Drucken in eine Datei kann entweder direkt in der Software oder aber 
in den Konfigurationseigenschaften des Druckertreibers eingestellt 
werden.

Falls nein, was exakt macht die Software denn?

von _matze (Gast)


Lesenswert?

Die Software kommuniziert mit einem Scanner. Der Großteil der 
Kommunikation geschieht über SCSI, es werden jedoch einige Daten über 
den Parallel-Port (Platine mit µc im Scanner) ausgetauscht.

Da in diesem Datenstrom wohl irgendwelche Zeichen empfangen werden, die 
eindeutig nicht von der Software kommen, ist es meine Aufgabe, die 
Quelle dieser störenden Daten zu finden.

Einen scheinbar funktionierenden LPT-Logger habe ich schon gebastelt. 
Dies ist jedoch in der Hinsicht kritisch, als dass der Tiny2313, den ich 
verwende(n muss), nur ein 128k EEPROM besitzt. Also habe ich zwei 
Varianten realisiert: Das Schreiben, bis das EEPROM voll ist, und das 
endlose Beschreiben (ist der Speicher voll, wird am Anfang wieder 
aufgesetzt, so dass letztendlich die 128 letzten Bytes festgehalten 
werden).

Die Software habe ich ebenfalls angepasst, zusätzlich zur Ausgabe über 
den LPT erzeuge ich eine Datei, die mit den gleichen Daten gefüttert 
wird.

Da schon bei Programmstart knapp 500 Bytes übertragen werden, kann ich 
mit meinem Logger nicht alles festhalten. Ein Vergleich ist also schwer. 
Feststeht, dass der Logger beim Start immer 4-5 Bytes loggt, die nicht 
vom Programm kommen. Weitere Differenzen konnte ich noch nicht 
feststellen.

Es wäre klasse, wenn ich mit einem dritten Programm den LPT-Port sniffen 
könnte, und so einen kompletten Log vom Vorgang hätte. Den könnte ich 
dann mit meiner erzeugten Datei vergleichen.

VMWare scheint übrigens nicht zu funktionieren. Wahrscheinlich blockiert 
die virtuelle Maschine den LPT, so dass unsere Software schicken kann, 
was sie will, es kommt nicht an.

Gruß Matze

von _matze (Gast)


Lesenswert?

Nachschlag: Die Software schickt die Daten über einen hauseigenen 
Treiber. Der Grund ist wahrscheinlich bekannt (Ansteuerung vom LPT seit 
Win2000 nicht mehr so einfach über inp, outp).
Dabei wird per CreateFile und WriteFile an den Port 0x378 geschickt.

von Benedikt K. (benedikt)


Lesenswert?

_matze wrote:
> Einen scheinbar funktionierenden LPT-Logger habe ich schon gebastelt.
> Dies ist jedoch in der Hinsicht kritisch, als dass der Tiny2313, den ich
> verwende(n muss), nur ein 128k EEPROM besitzt. Also habe ich zwei
> Varianten realisiert: Das Schreiben, bis das EEPROM voll ist, und das
> endlose Beschreiben (ist der Speicher voll, wird am Anfang wieder
> aufgesetzt, so dass letztendlich die 128 letzten Bytes festgehalten
> werden).

Wiso speicherst du die Daten im langsamen EEPROM ? Schick die Daten doch 
direkt per UART an eine beliebige Terminal Software auf dem PC.

von _matze (Gast)


Lesenswert?

@benedikt:
Geht leider nicht, das Platinendesign ist fest, alle Pins vom µc sind 
belegt, die Möglichkeiten UART (Geschwindigkeit) und externes EEPROM 
(mehr Platz) sind also leider ausgeschlossen. Mit der Geschwindigkeit 
ist übrigens alles in Ordnung, alle Daten kommen an (soweit ich das 
sehen kann).
Eine Lösung direkt auf dem PC wäre also besser.

von Uhu U. (uhu)


Lesenswert?

> Die Software schickt die Daten über einen hauseigenen Treiber.

Na dann hast du ja einen Kandidaten, dem sehr genau auf die Finger zu 
gucken, sich lohnen könnte.

von _matze (Gast)


Lesenswert?

So, hat sich erledigt. Ich habe das Programm (auf dem µc) nochmal 
komplett umgekrempelt und auf das Wesentliche reduziert, und siehe da! 
Es funktioniert! Ich habe keine Ahnung, was nun am Programm anders sein 
soll (hab leider keine Kopie gemacht), aber na ja, hauptsache es klappt.

Gruß Matze

von Nicole (Gast)


Lesenswert?

Hi,

danke für die gute Info.
Aber wenn ich meinen LTP loggen möchte kommt immer
Portmon kann nicht auf Paralel0 zugreifen. Das Device ist in Benutzung.

Auch ein Neustart des PS´s hat nichts gebracht. Denn es nutzt kein 
anderes Programm zu der Zeit das Device. Weiß einer wie ich das zum 
laufen bekommen kann?
Denn auch ich möchte mein LTP loggen.

OS Win XP SP2


Danke

Nicole

von Nicole (Gast)


Lesenswert?

Hi,

so ich habe es hin bekommen ich habe den LTP einfach auf LTP2 gestellt. 
So nun bekomme ich aber keine Daten.

Wer kennt denn ein Toll mit dem ich jetzt wrklich den LTP loggen kann ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.