Hilfe Suche dringend LPT Sniffer.

Gast #600777
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
Gast #600826
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...
Persönliche Seite #600829
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?
Gast #600845
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
Gast #600850
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.
#600856
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.
Gast #600864
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.
Gast #601648
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
Gast #934689
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren