mikrocontroller.net

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


Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier's mal mit PortMon: 
http://www.microsoft.com/technet/sysinternals/util...

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

Autor: _matze (Gast)
Datum:

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

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: _matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nicole (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nicole (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.