PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USB am Host-PC beobachten



N64
19.02.07, 16:00
Wie kann ich unter Linux den USB beobachten? Für WinXP gibt es eine Vielzahl von Monitor-/ Snifferprogrammen.
Da ich für Linux solche nicht gefunden habe, gehe ich davon aus, dass das unter Linux auch ohne Sniffer-Programm (über irgendwelche Logdateien oder wie auch immer...) geht?

kreol
19.02.07, 16:58
Was verstehst Du unter "den USB beobachten"? Datentransfer vom/zum Gerät, An-/Abklemmen eines Geräts oder welches Gerät wo angeklemmt ist? Je nachdem könnte "lsof", "tail -f /var/log/messages" oder "lsusb" etwas für Dich sein. Vllt. gibt es noch mehr, wenn man weiß, was Du vorhast.


Kreol

N64
19.02.07, 17:50
Danke schon mal für die Information! Sorry, wegen meiner ungenauen Angabe.
Möchte den Datentransfer (also Datenpakete, welche über den USB gesendet/ empfangen werden) inklusive Übertragungsart (also ob control-, bulk-, interrupt- oder isochronous-transfer) von einem bestimmten Endgerät beobachten.
Bei dem USB-Gerät handelt es sich um ein USB-Messdevice (PMD-1208FS -- nähere Infos: http://www.measurementcomputing.com/). Die Hard-/Firmware wurde als HID - Device implementiert. Zur Zeit existiert für dieses Gerät ein Linuxtreiber, welcher als Userspace-Treiber/ API unter C geschrieben wurde, welcher auf den HID-Treiber von Linux aufsetzt. Allerdings ist dieser noch mit ein paar Fehlern behaftet. Da der Verfasser des Treibers (Dr. Warren Jasper von der University SouthCarolina) die Firmwarespecs nicht rausrücken darf, habe ich also die Kommunikation mit dem Device zunächst mit Originalsoftware und USB-Monitorprogramm (USB Monitor 2.37 unter XP genauer "angeguckt") und auch Einiges erfahren. Habe inzwischen ein paar Änderungen/ Versuche am Linuxtreiber/ API vorgenommen und würde das Ergebnis der Änderungen auch mal gerne genauer untersuchen/ angucken.
Somit brauche ich jene Möglichkeit unter Linux, die mir sämtliche Datenpakete (deren Inhalt vorzugsweise als Hex-Werte dargestellt sind) unter Auflistung der Übertragungsart sowie Angabe der Endpunktadressen (das Gerät hat 4 Endpoints) in einem File auflistet -- in der Reihenfolge, wie die Reports "rein-/ rauskommen". Eine Möglichkeit zum USB-sniffen eben...
Bin in die Sache über eine Projektarbeit reingerutscht. Mein Prof hat damit gerechnet, dass der Linuxtreiber OK ist -- dem war nich der Fall, wodurch ich aber nun das Glück habe, mich mit der Treiberprogrammierung unter Linux und dem USB genauer beschäftigen zu müssen... :)

geronet
19.02.07, 18:09
Vielleicht kannst du in der libusb etwas reinpatchen, das dir alles mitprotokolliert ;)

ewe
19.02.07, 23:27
Evtl mal http://www.linux-usb.org/USBMon/ anschauen.