USB über Ethernet. Robert Leibl Diplomarbeit. Betreuer: Prof. Dr. Gerhard Schneider Betreuer: Dirk von Suchodoletz

Größe: px
Ab Seite anzeigen:

Download "USB über Ethernet. Robert Leibl leibl@informatik.uni-freiburg.de. Diplomarbeit. Betreuer: Prof. Dr. Gerhard Schneider Betreuer: Dirk von Suchodoletz"

Transkript

1 USB über Ethernet Robert Leibl Diplomarbeit Betreuer: Prof. Dr. Gerhard Schneider Betreuer: Dirk von Suchodoletz Lehrstuhl für Kommunikationssysteme, Institut für Informatik, Universität Freiburg

2

3 Erklärung Hiermit erkläre ich, dass ich diese Abschlussarbeit selbständig verfasst habe, keine anderen als die angegebenen Quellen/Hilfsmittel verwendet habe und alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten Schriften entnommen wurden, als solche kenntlich gemacht habe. Darüber hinaus erkläre ich, dass diese Abschlussarbeit nicht, auch nicht auszugsweise, bereits für eine andere Prüfung angefertigt wurde. Freiburg, den 30. August 2007 Robert Leibl

4

5 Zusammenfassung Durch die Verbreitung des Internets und lokaler Netzwerke steigt die Anzahl der Nutzer von Remote Desktop Applikationen und Thin Client Systemen immer mehr an. Für viele Benutzer ist es zunehmend wichtiger Arbeiten auch auf einem entfernten Rechner durchführen zu können. In gleichem Maße steigt auch die Verfügbarkeit von mobilen Endgeräten, die über den Universal Serial Bus (USB) an einen Computer angeschlossen werden können. Ein lokal angeschlossenes Gerät kann jedoch auf einem entfernten Rechner, an dem der Benutzer angemeldet ist, nicht verwendet werden. Die bisherigen Möglichkeiten um Resourcen zwischen zwei Computern zu verteilen beschränken sich auf spezielle Anwendungen wie Dateisysteme oder Drucker. Es existiert auf Linux Systemen bisher keine Lösung, die eine Netzwerktransparenz bietet, so dass Treiber und Applikationen auf der importierenden Maschine weiterhin funktionieren. Diese Arbeit zeigt ein Verfahren, mit dem USB Geräte unter dem Betriebssystem Linux über eine Ethernet Verbindung an entfernte Rechner exportiert werden können. Dort erscheinen sie so, als ob sie lokal angeschlossen wären. Die importierende Maschine kann, wie für jedes lokale Gerät, einen Treiber auswählen und das Gerät dem Userspace verfügbar machen. Dafür ist keine Modifikation von Gerätetreibern oder Applikationen nötig.

6

7 USB über Ethernet Robert Leibl 30. August 2007

8

9 Inhaltsverzeichnis 1. Einleitung Fragestellung Realisierung Der Universal Serial Bus USB Versionen USB-Geräte Datentransfer Repräsentation von Geräten Das Linux USB Subsystem USB Host Controller Host Controller Treiber USB Gerätetreiber USB Request Blocks Device Klassen Device Klassen im Linux Kernel USBIP Funktionsweise von USBIP Der virtuelle Host Controller Der usbip Gerätetreiber Zusammenspiel von Host Controller und Treiber Der usbip Treiber im Detail Der virtuelle Host Controller im Detail Device Polling Verwendetes Netzwerkprotokoll Verbindungsaufbau Verbindungsaufbau im Userspace Verbindungsabbau Geräteinitialisierung stub driver vhci

10 4 Inhaltsverzeichnis 5. Datenübertragung Protokoll Kontrollnachrichten Datennachrichten Paket Header Datennachrichten vom virtuellen Host Controller Datennachrichten vom usbip Treiber Hotplugging Das Linux Hotplugging Project Parameterübergabe Hotplugging von USB-Geräten Hotplugging bei usbip Konfiguration Alternativen zu Hotplug Überwachung durch das usbip Modul Überwachung durch einen Daemon udev Integration in Remote-Applikationen Gerätemanagement unter Linux udev Thin Clients Remote Desktop Applikationen Problem beim Anlegen von Geräten Veröffentlichen der IP Addresse Lösungsmöglichkeiten Steuern des Gerätezugriffs Anlegen von Geräten mit udev chroot Zusammenfassung 87 A. Quellcode Referenz 88 A.1. Kernel A.2. vhci A.3. usbip B. Kernelmechanismen 99 B.1. struct kvec und kernel sendmsg B.2. Lösen des Treibers und binden an usbip C. Kernel Referenzen 101

11 Inhaltsverzeichnis 5

12 1. Einleitung Durch die inzwischen sehr hohe Verfügbarkeit des Internets und die steigenden Bandbreiten erfreuen sich netzwerkorientierte Anwendungen wachsender Beliebtheit. In Heimnetzwerken geben sich die Bewohner gegenseitig Zugriff auf ihre Arbeitsflächen, Lehrer können sehen, was die Schüler gerade machen und Universitäten laden ganze Betriebssysteme von einer zentralen Maschine. Die Anwendung von Remote-Applikationen ist vielfältig. Oft kommen vergleichsweise einfache Verfahren wie etwa ssh zum Einsatz, aber immer öfter werden auch ganze Applikationen oder gleich der ganze Desktop von einem anderen Rechner importiert. FreeNX oder vnc genießen schon einige Zeit den Ruf mächtige und praktische Anwendungen zu sein, die in vielen Bereichen eingesetzt werden. Noch weiter gehen Thin Client Systeme. Die Maschine, vor der der Anwender sitzt, macht nichts weiter, als Eingaben an einen Server zu senden, und dessen Ausgaben auf dem Monitor anzuzeigen. Mindestens ebenso stark ist die Anzahl kleiner, elektronischer Geräte gestiegen, die Viele täglich mit sich herumtragen. Mobiltelefone, Speichermedien, Abspielgeräte für Musik und Filme, PDAs, und viele mehr. Für diese Geräte hat sich der USB inzwischen als Schnittstelle der Wahl etabliert. Kaum eins dieser Geräte, das nicht über USB an den Computer anzuschließen wäre. Es existieren bereits Hersteller, die nichts außer einem USB Kabel mit ihren Produkten mitliefern. Solche Geräte lassen sie sich allerdings nicht mit vielen netzwerkorientierten Applikationen verbinden. Bei den meisten dieser Remote-Anwendungen gilt, dass die Maschine, die man sieht, nicht die Maschine ist, vor der man sitzt. Ist man auf einer entfernten Maschine angemeldet, so kann man die Geräte der entfernten Maschine in seiner Session sehen, die lokalen Geräte jedoch nicht. So kann ein Student beispielsweise nicht elektronische Vorlesungsskripte vom Zimmernachbarn auf seinen USB Stick laden, wenn er sich dort über vnc angemeldet hat. Ein Außendienstmitarbeiter, der sich von seinem Laptop aus mit dem Firmennetz verbindet und dort Applikationen startet, kann seinen PDA nicht mit seinem Kalender in der Firma synchronisieren.

13 1.1. Fragestellung Fragestellung Ziel dieser Arbeit ist es ein System zu beschreiben, dass USB über Ethernet unter Linux realisiert. Der Universal Serial Bus (USB) ermöglicht das Anschließen von Geräten, wie Festplatten, Kameras oder Audiogeräten an einen Computer. Es soll nun ein System beschrieben werden, das es ermöglicht ein USB-Gerät, welches an den lokalen Rechner angeschlossen ist, mit einem entfernten Rechner (Remote-Host) derart zu verbinden, das der entfernte Rechner das Gerät ansteuern kann, als ob es direkt angeschlossen wäre. Die Datenübertragung zwischen den beiden beteiligten Computern erfolgt über eine Ethernet Verbindung. Eine derartige Verbindung zweier Rechner hat eine Reihe von Anwendungsgebieten. So kann etwa der Zugriff auf Geräte, die sich an einem entfernten Rechnern befinden, hergestellt werden. Beispielsweise soll eine Webcam an einem entfernten Computer kontrolliert werden. Bei Remote-Applikationen oder Thin Clients wird von einem lokalen Computer eine Verbindung auf einen anderen Computer hergestellt, auf dem eine Session des Benutzers läuft. Von dieser Remote-Session soll nun der Zugriff auf lokal angeschlossene USB-Geräte möglich sein. Der USB erlaubt das Hinzufügen von Geräten während des laufenden Systems. Auf diesen Umstand muss Rücksicht genommen werden, denn eine Verbindung der zwei Rechner soll zu jeder Zeit auf- und wieder abgebaut werden können. Ein USB-Gerät ist durch seinen Kabelanschluss an einen Rechner gebunden und das Kabel kann nicht beliebig verlängert werden. Durch eine Übertragung der USB Kommunikation über eine IP Verbindung kann ein beliebig große Entfernung überbrückt werden, so dass es möglich wird USB-Geräte, die sich weit entfernt befinden, lokal zu verwenden. Es existieren bereits Lösungen, die in der Lage sind USB Massenspeichergeräte wie Sticks oder Festplatten an einen Remote-Host zu exportieren. Jedoch sind diese Lösungen oft auf ein netzwerkfähiges Dateisystem aufgesetzt und sind nur in der Lage, eine spezielle Gruppe von Geräten zu bedienen. Andere Systeme stellen USB Drucker über ein Netzwerk bereit. Sicher sind dies nützliche Anwendungen, aber keine bietet eine generelle Möglichkeit ein ganzes Gerät von einem Remote-Server lokal zu benutzen. Verfahren zum Export von Massenspeichergeräten geraten meist ins Straucheln, wenn man versucht das Gerät zu formatieren, beziehungsweise das Dateisystem zu verändern und für einen Netzwerkdrucker muss Software installiert sein, die das Protokoll des ent-

14 8 1. Einleitung sprechenden Print-Servers versteht. Um eine derartige Verbindung und damit den Export von USB Geräten sinnvoll zu ermöglichen ist für viele Anwendungen ein hoher Grad von Automatisierung nötig. So soll es möglich sein, dass USB-Geräte, nachdem sie angeschlossen wurden, automatisch an einen entfernten Rechner exportiert werden und dem Benutzer dort zur Verfügung stehen, wenn er mittels einer Remote-Applikation mit diesem Computer verbunden ist. Insbesonere muss dieser Export ohne das Vorhandensein eines privilegierten Benutzers ablaufen können. Der Exports muss jedoch so gesteuert werden können, dass nicht jedes Gerät sofort exportiert wird. Gewisse USB-Geräte, wie etwa Mäuse, müssen vom Export ausgenommen werden können. In diesem Zusammenhang ist es ebenfalls nötig, dass ein Gerät auf dem Rechner, an den es exportiert wurde, einem Benutzer zugeordnet werden kann. Wenn sich mehrere Benutzer auf dem Server befinden, so müssen die Geräte eines Benutzers vor dem Zugriff der anderen Benutzer geschützt werden Realisierung Diese Arbeit baut auf dem USBIP [11] Projekt auf. USBIP verfolgt den Ansatz USB Pakete in IP Pakete zu kapseln und sie über das Netzwerk zu übertragen. Das Projekt wurde nach Aussage des Entwicklers als Proof-of-Concept für einen Artikel [12] entwickelt. Aufgrund eines Mangels an Zeit und Entwicklern hat sich seither sehr wenig an diesem Projekt verändert. Mit USBIP ist es bereits möglich eine Verbindung zwischen zwei Rechnern herzustellen und auf einem Rechner ein USB-Gerät zu benutzen, das an den anderen angeschlossen ist. Um diese Verbindung aufzubauen ist eine recht aufwendige Konfiguration auf beiden Rechnern nötig. Diese Konfiguration muss jedesmal für jedes Gerät durchgeführt werden. Insbesondere müssen gewisse Schritte auf beiden Seiten von einem privilegierten Benutzer durchgeführt werden und die Auswahl der zu exportierenden USB-Geräte muss von Hand erfolgen, so dass es nicht problemlos möglich ist diesen Prozess zu automatisieren. Es sind also auf beiden beteiligten Systemen Administratorrechte nötig und der Zugriff auf das Betriebssystem muss gegeben sein. Dieser Zugriff ist etwa bei Thin Client Systemen nicht notwendigerweise vorhanden. Bei USBIP muss ein Gerät, das an einen anderen Rechner exportiert werden soll, zunächst zum Export vorbereitet werden. Anschließend kann der andere Rechner das Gerät importieren und es virtuell anschließen. Dieses Szenario erlaubt das lokale Verwenden von Geräten, die an einen entfernten Rechner angeschlossen

15 1.2. Realisierung 9 sind. Für viele Einsatzzwecke ist allerdings die entgegengesetzte Richtung erforderlich, denn bei Remote-Applikationen oder Thin Clients soll ein Gerät vom lokalen Rechner an einen entfernten Rechner, auf dem die Session des Benutzers läuft, exportiert werden. Es wurde nun ein neues Verfahren implementiert das die Anforderungen, die Remote-Applikationen stellen, erfüllt. Das neue Verfahren erlaubt einem Rechner ein lokal angeschlossenes Gerät an einen anderen Rechner zu exportierten, ohne dass dafür für jedes Gerät Aktionen auf dem importierenden Rechner nötig sind. Ein Anwender kann beispielsweise eine ssh Verbindung zu einem anderen Rechner aufbauen, ein lokales Gerät dorthin exportieren und es dort regulär benutzen. Weiterhin wurde ein Verfahren entwickelt, mit dem neu angeschlossene Geräte automatisch exportiert werden können. Dadurch entfällt der explizite Export von Hand, was insbesondere bei Thin Client Systemen gewünscht ist. Der Benutzer kann bei diesem Verfahren im Vorfeld bestimmen, welche Geräte automatisch exportiert werden sollen, damit es möglich ist gewisse Geräte lokal zu belassen. So ist es nicht immer sinnvoll Mäuse oder Tastaturen zu exportieren, da diese üblicherweise an der lokalen Maschine verwendet werden sollen. Wenn ein neues Gerät angeschlossen wird, so wird anhand verschiedener Regeln entschieden, ob das Gerät exportiert werden soll. In diesen Regeln kann für einzelne Geräte oder im USB Standard definierte Geräteklassen festgelegt werden, ob ein Gerät exportiert, oder vom Export ausgenommen werden soll. Dadurch wird eine einfache und allgemeine Konfiguration möglich. Das Verfahren berücksichtigt die Besonderheiten des USB. Der USB ist ein Bus, an den Geräte während des laufenden Betriebs angeschlossen werden können. Die so angeschlossenen Geräte müssen daher dynamisch konfiguriert werden können, das heißt der Vorgang des Einbindens muss automatisch ablaufen, wenn ein Gerät angeschlossen wird. Diese dynamische Konfiguration ist besonders in Umgebungen nötig, in denen der Benutzer keine Administratorrechte erhalten kann. Ein weiterer Teil besteht im Gerätemanagement auf Seiten des einbindenden Rechners. Ist dort nur ein einziger Benutzer angemeldet, so kann jedes Gerät regulär benutzt werden. Sind dort jedoch mehrere Benutzer angemeldet, so müssen die einzelnen USB-Geräte dem jeweiligen Benutzer zugeordnet werden. USBIP sorgt lediglich dafür, dass ein Gerät an den Rechner exportiert wird, und dort erscheint als wäre es direkt angeschlossen. Um eine Zuordnung von Geräten zu Benutzern zu erreichen werden Verfahren vorgeschlagen, die Geräte ausschlißlich dem Benutzer zugänglich machen, der sie exportiert hat. Die Erweiterung des USBIP Projektes setzte eine ausführliche Analyse des Quellcodes voraus, die sich aufgrund mangelnder Dokumentation als schwierig erwies. Während dieser Analyse konnten zahlreiche Fehlerquellen behoben und die Stabilität des Systems erhöht werden.

16 10 1. Einleitung Die vorgenommenen Veränderungen sind in das Projekt eingeflossen und aufgrund dieser Änderungen sind zwei neue Versionen der Software erschienen.

17 2. Der Universal Serial Bus Der Standard für den Universal Serial Bus (USB) wurde von den Firmen Compaq, Intel, Microsoft und NEC entwickelt. Die Version 1.0 des Standards wurde 1996 veröffentlicht. USB wurde ursprünglich entwickelt, um Telefone an einen PC anschließen zu können. Das System sollte einfach zu verwenden sein und es sollte die Möglichkeit geben, einzelne Ports zu vervielfachen [4]. Der USB ist ein hierarchisches System. Es besteht aus einem Host, der das System kontrolliert, und aus den Geräten, die an den Host angeschlossen sind. Ein Computer kann prinzipiell mehrere USB Hosts besitzen. Die Kommunikation zwischen dem Host und den einzelnen Geräten läuft über ein Master/Slave Protokoll. Kommunikation wird immer vom Host initiiert. Diese Kommunikationsweise enthält einige Nachteile. So kann ein Gerät nicht von sich aus Nachrichten an den Host senden, etwa im Falle einer Mausbewegung oder eines Tastenanschlags an der Tastatur. Stattdessen muss der Host regelmäßig bei den Geräten anfragen. Ebenso kann ein Gerät keine direkte Kommunikation mit einem anderen Gerät herstellen. Es ist daher nicht möglich, dass zum Beispiel eine Digitalkamera Daten direkt an einen Drucker schickt, sondern diese Daten müssen immer vom Host abgeholt und an den Drucker weitergeleitet werden. Diese Nachteile wurden jedoch in Kauf genommen, um dadurch eine einfachere Herstellung entsprechender Geräte zu ermöglichen. Das Master/Slave System verhindert das Aufkommen von impliziten Problemen, die sonst auf einem geteilten Medium auftreten können, wie Kollisionen. Es kann nicht vorkommen, dass zwei Geräte gleichzeitig versuchen den Bus zu benutzen, da kein Gerät unaufgefordert Daten über den Bus schicken kann. Folglich muss auch keines der Geräte eine Logik zur Kollisionsvermeidung implementieren, was die Komplexität der Herstellung, und damit auch die Kosten des Geräts, beeinflusst.

18 12 2. Der Universal Serial Bus 2.1. USB Versionen Der USB Standard befindet sich immer noch in Entwicklung wurde die Version 1.0 veröffentlicht folgte der USB 1.1 Standard, der die Übertragungsgeschwindigkeit von 1.5 MBit/s auf 12 MBit/s anhob. Der zum jetzigen Zeitpunkt aktuelle USB 2.0 Standard wurde schließlich im Jahr 2000 veröffentlicht. Wieder wurde die Übertragungsgeschwindigkeit angehoben, so dass mit dem neuen Standard bis zu 480 MBit/s (60Mbyte/s) Datendurchsatz möglich sind. Es existieren nur sehr wenige Geräte, die den 1.0 Standard implementieren. Üblich sind entweder der Standard 1.1 oder bei neueren Geräten direkt 2.0. Ein Gerät, das einer der Spezifikationen entspricht, unterstützt damit auch alle vorhergehenden Spezifikationen, ist also rückwärtskompatibel. So ist es möglich Geräte, die dem USB 2.0 Standard entsprechen, an einem Host zu betreiben, der dem USB 1.1 Standard entspricht (wenn auch nicht mit der vollen Geschwindigkeit des Geräts), und umgekehrt. Der USB 1.1 Standard sieht zwei mögliche Übertragungsgeschwindigkeiten vor. Low-Speed: 1.5 MBit/s Full-Speed: 12 MBit/s Mit dem USB 2.0 Standard kommt noch eine Dritte hinzu. High-Speed: 480 MBit/s Diese Geschwindigkeiten werden, aufgrund des Protokoll-Overheads, für Nutzdaten nicht ganz erreicht USB-Geräte USB-Geräte fallen in eine von drei Klassen. Host Controller (Master), Hubs und Endgeräte (Slaves). Der Host Controller steht am Anfang einer USB Kette. An ihn werden USB Endgeräte, oder Hubs angeschlossen. Der Host Controller dient als Master und muss regelmässig die an ihn angeschlossenen Geräte, die Slaves, anfragen ob sie Daten versenden möchten. Hubs dienen zur Vervielfältigung von Ports. Sie sind für das System transparent, allerdings benötigen sie einen eigenen

19 2.2. USB-Geräte 13 Treiber und zählen zur maximalen Geräteanzahl hinzu. Eine mögliche Anordnung von USB-Geräten ist in Abbildung 2.1 zu sehen. Host Controller Der Host, beziehungsweise Host Controller kontrolliert die an ihn angeschlossenen Geräte. Er bildet damit die Wurzel eines Baumes, an dessen Blättern sich die Endgeräte befinden. Der Host Controller befindet sich auf dem Mainboard des Computers, oder auf Steckkarten, die wiederum an anderen Bussen wie PCI oder, bei Notebooks, PCMCIA angeschlossen sind. Abbildung 2.1.: Mögliche Anordnung von USB-Geräten Es existieren Systeme, in denen Geräte intern mit dem Host Controller verbunden sind, allerdings werden die Ports des Host Controllers üblicherweise nach außen geführt, wo sie in USB Steckern enden. Über diese Stecker werden dann die weiteren Geräte an den USB angeschlossen. Ein heute üblicher Host Controller bietet zwischen 2 und 6 USB Ports, deren Anzahl durch Hubs erweitert werden kann. Ein Host Controller unterstützt bis zu 127 an ihn angeschlossene Geräte. Hubs Hubs sind Geräte, die einen eingehenden Port vervielfältigen, so dass eine größere Gesamtzahl von Ports verfügbar ist.

20 14 2. Der Universal Serial Bus Hubs können ihren zum Betrieb nötigen Strom über das USB Kabel beziehen (Bus-Powered), oder eine eigene, externe Stromversorgung besitzen (Self- Powered). Obwohl ein Hub im Wesentlichen nur die USB Signale weiterleitet, so zählt er aus Sicht des Hosts doch als eigenes Gerät, das bedeutet, dass er zu der Anzahl der angeschlossenen Geräte hinzuzählt. Endgeräte Von Festplatten, Kameras, Joysticks, Druckern bis hin zu Netzwerkkarten und PDAs existiert eine große Bandbreite von USB Endgeräten. Diese Geräte werden an den Host, beziehungsweise an einen Hub angeschlossen und bilden damit die Blätter des beim Host Controller beginnenden Baumes Datentransfer Werden Daten vom Host zu den Endgeräten gesendet, so wird dies als downstream, in die andere Richtung als upstream bezeichnet. Die Übertragung von Daten erfolgt mittels vier verschiedener Transferarten. Control Transfer Control Transfers dienen dem zuverlässigen Versenden und Empfangen von kleinen Datenpaketen. Mit diesen Paketen werden Geräte konfiguriert. Jedes Gerät muss einen minimalen Satz von Befehlen implementieren, die mit dieser Transferart übertragen werden. Bulk Transfer Bulk Transfers dienen ebenfalls dem zuverlässigen Übertragen von Datenpaketen, die hier jedoch die gesamte zur Verfügung stehende Bandbreite ausnutzen. Diese Transferart wird zum Beispiel bei Festplatten benutzt. Interrupt Transfer Interrupt Transfers sind Bulk Transfers, die regelmäßig angefragt werden. Nachdem der Host Controller einen Interrupt Transfer erhalten hat, wird er das entsprechende Gerät in regelmäßigen Abständen anfragen. Die Abstände zwischen Anfragen betragen üblicherweise zwischen 1 ms und 127 ms. Interrupt Transfers kommen zum Beispiel bei Tastaturen und Mäusen zum Einsatz.

21 2.3. Datentransfer 15 Isochronous Transfer Isochrone Transfers dienen der Übertragung von Datenströmen in Echtzeit, wobei eine festgelegte Bandbreite zur Verfügung steht. Die Übertragung von Isochronous Transfers ist nicht zuverlässig. Mit dieser Transferart werden Audio- oder Videoströme übertragen, bei denen es wichtig ist, das die Daten schnell übertagen werden und ein verlorenen Paket verschmerzt werden kann Repräsentation von Geräten Wenn ein Gerät an den USB angeschlossen wird, so bekommt es vom Host eine 7 Bit lange Identifikationsnummer mitgeteilt. Dies erklärt das Limit von 127 Geräten, die an einen Host angeschlossen werden können. Die Adresse 0 hat dabei einen Sonderstatus. Erhält ein Gerät ein reset Signal, so setzt es die eigene Adresse auf 0. Wenn der Host Controller an einem Port ein neues Gerät entdeckt, so sendet er das reset Signal an dieses Gerät und vergibt anschließend die Identifikationsnummer. Der Host Controller aktiviert dabei immer nur einen Port, an dem sich unkonfigurierte Geräte befinden, damit es nicht zu Adresskonflikten kommt. Anschließend liest der Host den Device Descriptor des Geräts. Dieser Device Descriptor enthält generelle Informationen über das Gerät, wie die Herstellerund Produktkennung, und alle Konfigurationen, die das Gerät besitzt. Diese Konfigurationen werden durch einen oder mehrere Configuration Descriptors dargestellt, die von dem entsprechenden Gerätetreiber aktiviert werden können. Beispielsweise können Geräte, die entweder über den Bus, oder über ein externes Kabel mit Strom versorgt werden, zwei Konfigurationen besitzen. Eine für die Versorgung über den Bus, und eine für die Versorgung von der externen Quelle. Jede Konfiguration wiederum hat ein oder mehrere Interfaces und jedes Interface hat einen oder mehr Endpunkte (endpoints), wie in Abbildung 2.2 dargestellt. Interfaces und Endpunkte besitzen jeweils ihren eigenen Deskriptor. Es kann immer nur eine Konfiguration aktiviert sein. Es gibt sehr wenige Geräte, die mehr als eine Konfiguration haben. Der Interface Descriptor beschreibt eine bestimmte Schnittstelle innerhalb einer Konfiguration. Jedes Interface beschreibt eine eindeutige Menge von Endpunkten in der Konfiguration. Es bietet also eine eindeutige Sicht auf die Endpunkte. Eine Webcam beispielsweise, die Video- und Audioströme liefern kann, könnte

22 16 2. Der Universal Serial Bus ein Interface für Video haben und eins für Audio. Im Gegensatz zu Konfigurationen kann eine beliebige Anzahl von Interfaces gleichzeitig aktiviert sein. Jeder Endpunkt unterstützt eine Art und Richtung der Datenübertragung, etwa Bulk in, oder Interrupt out. Eine Konfiguration darf bis zu 16 Endpunkte für jede Richtung haben. Diese dürfen beliebig auf die Interfaces verteilt werden. Abbildung 2.2.: USB Device Descriptor 2.4. Das Linux USB Subsystem Linux unterstützt USB seit Linux 2.2 und wird stetig weiterentwickelt. USB bildet ein eigenes Subsystem. Der wesentliche Teil dieses Subsystems ist usbcore. usbcore bietet die einheitliche Schnittstelle zu den Host Controller und Device Treibern. Durch diese Schnittstelle wird die Entwicklung neuer Treiber stark vereinfacht. Abbildung 2.3 zeigt die Schichten des Linux USB Subsystems. Auf der untersten Schicht stehen die Host Controller Treiber. Sie kontrollieren das Gerät, an das die USB Peripheriegeräte angeschlossen werden. Die Core Schicht wählt beim Start beziehungsweise beim Einstecken eines Geräts den entsprechenden Host Controller- beziehungsweise Gerätetreiber. Diese Gerätetreiber bilden die dritte Schicht. Sie bedienen die Peripheriegeräte, indem sie Pakete über usbcore und den Host Controller an das Gerät senden.

23 2.4. Das Linux USB Subsystem USB Host Controller Ein Hostcontroller ist zuständig für das Senden und Empfangen von Paketen an seine angeschlossenen Geräte. Der Host Controller bildet damit die Wurzel des USB Baumes. Host Controller Treiber sind herstellerabhänging, jedoch gibt es drei Standards, die die Schnittstelle eines Hostcontrollers festlegen. Universal Host Controller Interface (UHCI) Open Host Controller Interface (OHCI) Enhanced Host Controller Interface (EHCI) (USB 2.0) Für jeden der drei Host Controller existiert ein Linux Treiber, der sich aus dem Namen und dem Kürzel hcd, für Host Controller Driver, zusammensetzt (uhci-hcd, ohci-hcd, ehci-hcd). Abbildung 2.3.: Die Schichten des USB Subsystems Alle Host Controller Treiber bieten dieselbe Schnittstelle. Es ist daher für ein USB-Gerät uninteressant, an welchen Controller es angeschlossen wird. Ein EHCI Controller ist als einziger in der Lage USB 2.0 Geräte zu bedienen, die mit High-Speed (480 Mbit/sec) Geschwindigkeit kommunizieren. Zwar können diese Geräte auch an die anderen beiden Controller angeschlossen werden, jedoch werden sie auf die maximale Geschwindigkeit Full-Speed (12 Mbit/sec) heruntergeregelt Host Controller Treiber Ein Host Controller Treiber wird definiert durch ein struct usb hcd. Der Name steht für USB host controller driver.

24 18 2. Der Universal Serial Bus struct usb hcd { [... ] const struct h c d r i v e r d r i v e r ; / hw s p e c i f i c hooks / [... ] / The HC d r i v e r s p r i v a t e data i s s t o r e d at the end o f t h i s s t r u c t u r e. / unsigned long h c d p r iv [ 0 ] } ; Das struct usb hcd bietet eine abstrakte Repräsentation eines Host Controller Treibers. Dieser Ansatz wurde gewählt um ein allgemeines Framework zu schaffen, das sich leicht zwischen verschiedenen Plattformen austauschen lässt. Die meisten Felder sind nur intern für usbcore relevant. Wichtig ist das Feld driver. Es hat den Typ struct hc driver. Für die Implementierung eines Host Controller Treibers muss diese Struktur erstellt werden. struct h c d r i v e r { const char d e s c r i p t i o n ; / ehci hcd e t c / const char product desc ; / product / vendor s t r i n g / s i z e t h c d p r i v s i z e ; / s i z e o f p r i v a t e data / / i r q handler / i r q r e t u r n t ( i r q ) ( struct usb hcd hcd ) ; / c a l l e d to i n i t HCD and root hub / int ( r e s e t ) ( struct usb hcd hcd ) ; int ( s t a r t ) ( struct usb hcd hcd ) ; / c a l l e d a f t e r suspending the hub / int ( suspend ) ( struct usb hcd hcd, pm message t message ) ; / c a l l e d b e f o r e resuming the hub / int ( resume ) ( struct usb hcd hcd ) ; / c l e a n l y make HCD s t o p w r i t i n g memory and doing I /O / void ( stop ) ( struct usb hcd hcd ) ; / shutdown HCD / void ( shutdown ) ( struct usb hcd hcd ) ; / return c u r r e n t frame number / int ( get frame number ) ( struct usb hcd hcd ) ; / manage i /o r e q u e s t s, d e v i c e s t a t e /

25 2.4. Das Linux USB Subsystem 19 int ( urb enqueue ) ( struct usb hcd hcd, struct u s b h o s t e n d p o i n t ep, struct urb urb, g f p t mem flags ) ; int ( urb dequeue ) ( struct usb hcd hcd, struct urb urb ) ; } ; [... ] Diese Struktur ist eine Sammlung von Funktionszeigern. Sie definiert die Schnittstelle zwischen usbcore und dem Host Controller. Bei der Implementierung eines Host Controller Treibers werden die nötigen Funktionen implementiert und in diesem struct hc driver referenziert. Zusätzlich bietet das struct usb hcd ein Feld für private Daten des Host Controllers. Dieses Verfahren ist dem von anderen Treibern sehr ähnlich. Es wird zunächst festgelegt, welches Interface der Treiber zur Verfügung stellen muss. Der Treiber implementiert dieses Interface in Form von Funktionen und teilt diese dem darüberliegenden System mit. Über das standardisierte Interface kann nun der Zugriff auf die Ressourcen, die der Treiber verwaltet, stattfinden. Interne Informationen kann der Treiber stets aus dem privaten Feld herausholen USB Gerätetreiber Zwar sind Host Controller Treiber auch Gerätetreiber, gemeint sind aber die Treiber, die ein an den Host angeschlossenes Endgerät bedienen. Ein Treiber für ein USB-Gerät bedient ein Interface, nicht das Gerät selbst. Man könnte sie daher als Interface Treiber auffassen. Das bedeutet, dass es prinzipiell möglich ist, dass ein Gerät von verschiedenen Treibern gleichzeitig bedient wird, ein Treiber für jedes Interface. Dies ist jedoch relativ selten. Der Einfachheit halber und ohne Beschränkung der Allgemeinheit, wird hier weiterhin von Geräten die Rede sein. Wenn der Unterschied zwischen Gerät und Interfaces wichtig ist, wird explizit darauf hingewiesen. Ein USB Treiber unter Linux wird durch ein struct usb driver repräsentiert. Dieses ist in linux/usb.h definiert.

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen.

2 USBundLinuxhotplug. 2.1 Eigenschaften von USB. In diesem Kapitel lernen Sie. das USB-Schichtenmodell kennen. 2 USBundLinuxhotplug In diesem Kapitel lernen Sie das USB-Schichtenmodell kennen. die Kernelmodule für USB-Treiber kennen. wie Sie USB-Geräte unter Linux verwenden. dashotplug-system von Linux kennen.

Mehr

USB Stack - Design der Systemschnittstelle. Franz Hirschbeck AKBP II, WS 2003/04

USB Stack - Design der Systemschnittstelle. Franz Hirschbeck AKBP II, WS 2003/04 1 1 USB Stack - Design der Systemschnittstelle 2 Überblick 2 Der USB-Standard allgemein Die Implementierung 3 Überblick Der USB-Standard allgemein 3 Ziele Topologie Pipes und Deskriptoren Transfertypen

Mehr

USB. Susanne Grein Hochschule RheinMain Fachseminar 2009

USB. Susanne Grein Hochschule RheinMain Fachseminar 2009 USB Susanne Grein Hochschule RheinMain Fachseminar 2009 Begriffsklärung Bus? Universal Serial Bus Seriell: Bits nacheinander auf einer Leitung übertragen Verbindung Computer - Peripheriegerät Eigenschaften

Mehr

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH USB in Embedded Systemen Referat von Peter Voser Embedded Development GmbH Embedded Development GmbH Engineering and Development System Engineering Hardware/Software Co-Design Embedded Software Entwicklung

Mehr

5. Digitale Schnittstellen und Vernetzung im Überblick

5. Digitale Schnittstellen und Vernetzung im Überblick 5. Digitale Schnittstellen und Vernetzung im Überblick 5.1 Schnittstellen für Computerperipherie speziell: USB, FireWire 5.2 Drahtgebundene Netztechnologien z.b. Ethernet, ATM 5.3 Drahtlose Netztechnologien

Mehr

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

Mehr

USB universeller serieller Bus

USB universeller serieller Bus USB universeller serieller Bus - USB ist ein serieller Single-Master-Bus. - USB unterstützt drei Datenübertragungsgeschwindigkeiten: - Low Speed: 1,5 MBit/s - Full-Speed: 12 MBit/s (framepulse 1ms) - High-Speed:

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Geräte Treiber unter Unix/Linux

Geräte Treiber unter Unix/Linux Geräte Treiber unter Unix/Linux Martin Schäf 7. Oktober 2004 1 Einleitung Die Programmierung von Geräte Treibern unter Linux ist ein sehr populäres Thema, da für viele Geräte keine, oder nur sehr primitive

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

USB Universal Serial Bus

USB Universal Serial Bus Ausarbeitung zum Vortrag vom 25.11.2009 USB Universal Serial Bus Von Christoph Ritter Matrikel-Nr. 256029 Für Prof. Dr. K.O. Linn Hochschule RheinMain Fachbereich DCSM Inhaltsverzeichnis 1. Die Ausgangssituation...3

Mehr

Vortrag zur Diplomarbeit

Vortrag zur Diplomarbeit Fakultät Informatik Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zur Diplomarbeit Entwurf und Implementierung eines zuverlässigen verbindungsorientierten Transportprotokolls für

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

Mehr

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION Benutzerhandbuch UNIFIED FIELD COMMUNICATION Inhalt 1 Installation der Software...3 2 Kommunikations-DTM ishrt CommDTM...4 3 Konfiguration ishrt Comm DTM offline...5 3.1 Treiberkonfiguration...5 3.2 Kanalkonfiguration...6

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Rechnernetze Praktikum Versuch 2: MySQL und VPN

Rechnernetze Praktikum Versuch 2: MySQL und VPN Rechnernetze Praktikum Versuch 2: MySQL und VPN Ziel Absicherung einer MySQL Verbindung mittels VPN Vorbereitung Warum muss eine MySQL Verbindung gesichert werden? Was versteht man unter MySQL Injektion?

Mehr

Hilfen & Dokumentationen

Hilfen & Dokumentationen Hilfen & Dokumentationen 1. WibuKey Konfiguration für camquix In dieser Anleitung erfahren Sie wie Sie Ihren WibuKey updaten und konfigurieren. 1.1. Was ist ein Wibu-Key und wozu wird er verwendet? WibuKey

Mehr

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Inhalt: 1. Layer 1 (Physikalische Schicht) 2. Layer 2 (Sicherungsschicht) 3. Layer 3 (Vermittlungsschicht) 4. Layer 4 (Transportschicht) 5.

Inhalt: 1. Layer 1 (Physikalische Schicht) 2. Layer 2 (Sicherungsschicht) 3. Layer 3 (Vermittlungsschicht) 4. Layer 4 (Transportschicht) 5. Inhalt: 1. Layer 1 (Physikalische Schicht) 2. Layer 2 (Sicherungsschicht) 3. Layer 3 (Vermittlungsschicht) 4. Layer 4 (Transportschicht) 5. Ethernet 6. Token Ring 7. FDDI Darstellung des OSI-Modell (Quelle:

Mehr

w-lantv 50n Kurzanleitung Eine Schritt für Schritt Anleitung zum erfolgreichen, drahtlosen TV Erlebnis. Bitte zuerst lesen!

w-lantv 50n Kurzanleitung Eine Schritt für Schritt Anleitung zum erfolgreichen, drahtlosen TV Erlebnis. Bitte zuerst lesen! Eine Schritt für Schritt Anleitung zum erfolgreichen, drahtlosen TV Erlebnis. Bitte zuerst lesen! Änderungen von Design und /oder Technik vorbehalten. 2008-2009 PCTV Systems S.à r.l. 8420-20056-01 R1 Lieferumfang

Mehr

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

Mehr

Paragon Rettungsdisk-Konfigurator

Paragon Rettungsdisk-Konfigurator PARAGON Software GmbH Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Deutschland Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.de E-Mail vertrieb@paragon-software.de Paragon

Mehr

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt. Netzwerk Ein Netzwerk wird gebildet, wenn mehrere Geräte an einem Switch mit Netzwerkkabeln angeschlossen werden. Dabei können die einzelnen Geräte miteinander kommunizieren und über ein Netzwerkprotokoll

Mehr

Bilder im Internet. Hans Magnus Enzensberger

Bilder im Internet. Hans Magnus Enzensberger Kapitel 4 Alle reden von Kommunikation, aber die wenigsten haben sich etwas mitzuteilen. Hans Magnus Enzensberger Bilder im Internet Nach der etwas umfangreichen vorangehenden Lektion zum Ausklang der

Mehr

Handbuch FireWire IEEE 1394a PCI Schnittstellenkarten 3+1 deutsch Handbuch_Seite 2 Inhalt 1.0 Was bedeutet IEEE1394a 2 2.0 1394a Eigenschaften 2 3.0 PC Systemvoraussetzungen 3 4.0 Technische Informationen

Mehr

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs Java TV Seminar Medientechnik 23.06.2003 Übersicht Einleitung Umgebungen Java TV API - Kategorien Service- und Selektions-APIs Definitionen Packages Service Selection API Application Lifecycle APIs (Xlets)

Mehr

SC18IM700-Tester v1.0. 1. Einleitung

SC18IM700-Tester v1.0. 1. Einleitung SC18IM700-Tester v1.0 1. Einleitung Der SC18IM700-Tester ist ein mittels Visual Studio.NET und in der Programmiersprache C# entwickeltes Programm. Es lehnt sich an der Funktion eines einfachen Terminal-

Mehr

SFTP Datenübertragungsclient PK-SFTP. automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen

SFTP Datenübertragungsclient PK-SFTP. automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen SFTP Datenübertragungsclient PK-SFTP automatische Verbindung zu einem SFTP-Server in einstellbaren Zeitintervallen senden, abholen und verifizieren der bereitstehenden Daten Protokollierung der Datenübertragung

Mehr

Erstsicherung für den Einsatz von

Erstsicherung für den Einsatz von Erstsicherung für den Einsatz von Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool, vielmehr können

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät NAT und Firewalls Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April 2005

Mehr

DC-FW400 SE. 3+1 Port IEEE 1394 FireWire TM PCI-Controller

DC-FW400 SE. 3+1 Port IEEE 1394 FireWire TM PCI-Controller DC-FW400 SE 3+1 Port IEEE 1394 FireWire TM PCI-Controller Wichtige Information zur Datensicherheit Vor der Installation und bei Änderungen der Konfiguration des DC-FW400 SE sollte unbedingt eine Datensicherung

Mehr

Datenzugriff über VPN

Datenzugriff über VPN Leitfaden Datenzugriff über VPN Einführung Ab der Version 3.0 besteht bei einer Installation von SPG-Verein die Möglichkeit, den Programmund Datenbereich getrennt abzulegen. Dadurch kann u. a. der Datenbereich

Mehr

MySQL Community Server 5.1 Installationsbeispiel

MySQL Community Server 5.1 Installationsbeispiel MySQL Community Server 5.1 Installationsbeispiel Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der untermstrich-datenbank

Mehr

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke VMware Server Agenda Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture Virtuelle Netzwerke 2 Einleitung Virtualisierung: Abstrakte Ebene Physikalische Hardware

Mehr

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt. Arbeitsblätter Der Windows Small Business Server 2011 MCTS Trainer Vorbereitung zur MCTS Prüfung 70 169 Aufgaben Kapitel 1 1. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

Mehr

DC-1394 PCIe. IEEE 1394 FireWire TM PCIe Card. Windows 2000 / 2003 / 2008 Windows XP / Vista / 7

DC-1394 PCIe. IEEE 1394 FireWire TM PCIe Card. Windows 2000 / 2003 / 2008 Windows XP / Vista / 7 DC-1394 PCIe IEEE 1394 FireWire TM PCIe Card Wichtige Information zur Datensicherheit Vor der Installation und bei Änderungen der Konfiguration des DC-1394 PCIe sollte unbedingt eine Datensicherung durchgeführt

Mehr

Modbus-Master-Treiber

Modbus-Master-Treiber Modbus-Master-Treiber 1. Einleitung MODBUS ist ein offenes serielles Kommunikationsprotokoll, das auf einer Master/Slave Architektur basiert. Dabei greift der MODBUS-Master (Touch Panel PC) auf die fest

Mehr

Für Windows 7 Stand: 21.01.2013

Für Windows 7 Stand: 21.01.2013 Für Windows 7 Stand: 21.01.2013 1 Überblick Alle F.A.S.T. Messgeräte verfügen über dieselbe USB-Seriell Hardware, welche einen Com- Port zur Kommunikation im System zur Verfügung stellt. Daher kann bei

Mehr

iscan USB Benutzerhandbuch UNIFIED FIELD COMMUNICATION

iscan USB Benutzerhandbuch UNIFIED FIELD COMMUNICATION Benutzerhandbuch UNIFIED FIELD COMMUNICATION Inhalt I EG-Konformitätserklärung...1 1 iscan USB...2 2 Installation und Inbetriebnahme...3 2.1 Installation der Treibersoftware...3 2.2 Installation der Hardware...5

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Die Hifidelio App Beschreibung

Die Hifidelio App Beschreibung Die Hifidelio App Beschreibung Copyright Hermstedt 2010 Version 1.0 Seite 1 Inhalt 1. Zusammenfassung 2. Die Umgebung für die Benutzung 3. Der erste Start 4. Die Ansicht Remote Control RC 5. Die Ansicht

Mehr

Windows 98 und Windows Me

Windows 98 und Windows Me Windows 98 und Windows Me Dieses Thema hat folgenden Inhalt: Vorbereitungen auf Seite 3-28 Schnellinstallation mit der CD auf Seite 3-29 Andere Installationsmethoden auf Seite 3-29 Fehlerbehebung für Windows

Mehr

Service & Support. Wie projektieren Sie eine RDP Verbindung mit einem Industrial Thin Client SIMATIC ITC? Industrial Thin Client.

Service & Support. Wie projektieren Sie eine RDP Verbindung mit einem Industrial Thin Client SIMATIC ITC? Industrial Thin Client. Deckblatt Wie projektieren Sie eine RDP Verbindung mit einem Industrial Thin Client SIMATIC ITC? Industrial Thin Client FAQ August 2012 Service & Support Answers for industry. Fragestellung Dieser Beitrag

Mehr

Installationshandbuch

Installationshandbuch Installationshandbuch Erforderliche Konfiguration Installation und Aktivierung - 1 - Erforderliche Konfiguration Programme der 4D v15 Produktreihe benötigen folgende Mindestkonfiguration: Windows OS X

Mehr

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen:

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen: Default Gateway: 172.16.22.254 Ein häufiger Fehler in den Konfigurationen liegt darin, dass der Netzanteil des Default Gateway nicht mit dem Netzanteil der IP-Adresse des Rechners übereinstimmt. 4.4 DHCP-Service

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2012 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Kurzanleitung. MEYTON Migrationstool. 1 Von 16

Kurzanleitung. MEYTON Migrationstool. 1 Von 16 Kurzanleitung MEYTON Migrationstool 1 Von 16 Inhaltsverzeichnis Sinn und Zweck des Migrationsprogramms...3 Die LIVE C D...3 START...3 Erste Schritte...4 Login...4 Einleitung...5 Die Bedienung...5 Das Hauptmenü...6

Mehr

DIE GRUNDLAGEN DER FERNÜBERWACHUNG

DIE GRUNDLAGEN DER FERNÜBERWACHUNG DIE GRUNDLAGEN DER FERNÜBERWACHUNG Verbraucherleitfaden Version 1.0 Deutsch Einleitung Derzeit sind am Markt zahlreiche Videoüberwachungssysteme erhältlich, die einen digitalen Zugriff über Netzwerkverbindungen

Mehr

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Hauptdiplomklausur Informatik März 2002: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 2002: Internet Protokolle Name:... Vorname:...

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

Drucken mit den ErgoSoft RIPs

Drucken mit den ErgoSoft RIPs Application Notes Drucken mit den ErgoSoft RIPs Inhalt Einleitung... 1 Grundsätzliches zum Drucken... 2 Direkt zum Anschluss drucken... 3 Mit dem Print Client drucken... 4 Kopien drucken... 5 Andere Druck

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

VIA USB 2.0. Version 1.0

VIA USB 2.0. Version 1.0 VIA USB 2.0 Version 1.0 Inhaltsverzeichnis 1.0 Leistungsmerkmale der USB-Anschlüsse.P.3 2.0 Systemvoraussetzung.P.3 3.0 Treibereinschränkungen..P.3 4.0 Treiberinstallation (Windows XP).P.4 5.0 Treiberinstallation

Mehr

Lenze OPC UA Kommunikation V1.0

Lenze OPC UA Kommunikation V1.0 Verwendete Komponenten: Lenze: 94xx: Highline FW 12 Easy Starter: 1.6 OPC UA Client: Softing OPC UA Client V1.2 Unified Automation UAexpert V1.2.2 175 Der Easy Starter verfügt ab der Version 1.6 über eine

Mehr

USB Stack - Design der Systemschnittstelle

USB Stack - Design der Systemschnittstelle USB Stack - Design der Systemschnittstelle Franz Hirschbeck sifrhirs@stud.uni-erlangen.de Inhaltsverzeichnis 1 Das Datenmodell des USB 2 1.1 Die Ziele des Standards..................... 2 1.2 Die Topologie

Mehr

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD CINEMA 4D RELEASE 10 3D FOR THE REAL WORLD Installationsanleitung 1 Die Installation von CINEMA 4D Release 10 1. Vor der Installation Bevor Sie das Programm installieren, beachten Sie bitte folgendes:

Mehr

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces WEINZIERL ENGINEERING GMBH F. Heiny, Dr. Th. Weinzierl Bahnhofstr. 6 84558 Tyrlaching Tel. +49 (0) 8623 / 987 98-03 Fax +49 (0) 8623 / 987 98-09 E-Mail info@weinzierl.de KNX EtherGate Eine universelle

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

Mehr

Parallels Plesk Panel. Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix. Administratorhandbuch

Parallels Plesk Panel. Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix. Administratorhandbuch Parallels Plesk Panel Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix Administratorhandbuch Copyright-Vermerk Parallels Holdings, Ltd. c/o Parallels International GmbH Vordergasse 59 CH-Schaffhausen

Mehr

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen Gliederung 1. Was ist Wireshark? 2. Wie arbeitet Wireshark? 3. User Interface 4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen 1 1. Was

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

IP routing und traceroute

IP routing und traceroute IP routing und traceroute Seminar Internet-Protokolle Dezember 2002 Falko Klaaßen fklaasse@techfak.uni-bielefeld.de 1 Übersicht zum Vortrag Was ist ein internet? Was sind Router? IP routing Subnet Routing

Mehr

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 A20_PCI ARCNET Controller Karte für PCI Bus Gerätebeschreibung 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 Angaben zur Version Dokument-Nr. Beschreibung Datum TK-04-037-F-1.0 Ausgabe 1 17.04.2001 TK-04-037-F-1.1

Mehr

PCFaceSwitch. Treiber und Steuerprogramm für eine Extender-Karte für den PCI-Express-Bus

PCFaceSwitch. Treiber und Steuerprogramm für eine Extender-Karte für den PCI-Express-Bus PCFaceSwitch Treiber und Steuerprogramm für eine Extender-Karte für den PCI-Express-Bus Version 1.7 Juni 2013 Hinweise zur Installation, Funktionsweise und Lizenzierung Für Ihre Fragen stehen wir gern

Mehr

Service & Support. Wie projektieren Sie eine VNC Verbindung mit einem Industrial Thin Client SIMATIC ITC? Thin Client.

Service & Support. Wie projektieren Sie eine VNC Verbindung mit einem Industrial Thin Client SIMATIC ITC? Thin Client. Deckblatt Wie projektieren Sie eine VNC Verbindung mit einem Industrial Thin Client SIMATIC ITC? Thin Client FAQ August 2012 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt

Mehr

Internet Security 2009W Protokoll Firewall

Internet Security 2009W Protokoll Firewall Internet Security 2009W Protokoll Firewall Manuel Mausz, Matr. Nr. 0728348 manuel-tu@mausz.at Aldin Rizvanovic, Matr. Nr. 0756024 e0756024@student.tuwien.ac.at Wien, am 25. November 2009 1 Inhaltsverzeichnis

Mehr

KOBIL midentity 4smart data storage

KOBIL midentity 4smart data storage KOBIL midentity 4smart data storage Benutzerhandbuch Inhalt Einleitung... 3 Systemvoraussetzungen... 3 Inbetriebnahme... 4 Auswahl der Betriebsart... 4 Erzeugung Ihres persönlichen Datensafes... 6 Abmelden

Mehr

Technische Anforderungen. zum Empfang. von XML-Nachrichten

Technische Anforderungen. zum Empfang. von XML-Nachrichten Technische Anforderungen zum Empfang von XML-Nachrichten 25.11.2004 Peer Uwe Peters 2 1 Inhaltsverzeichnis 1 INHALTSVERZEICHNIS... 2 2 ZIEL DIESES DOKUMENTS... 3 3 KONTEXT... 3 4 SENDEWEG... 4 5 ERREICHBARKEIT...

Mehr

Installieren Sie zuerst die Software bevor Sie die Sonde an den PC anschließen!

Installieren Sie zuerst die Software bevor Sie die Sonde an den PC anschließen! VisualCount V3.0 Installationsanleitung Installieren Sie zuerst die Software bevor Sie die Sonde an den PC anschließen! Warenzeichen: WINDOWS, VISTA und Windows 7 sind eingetragene Warenzeichen der Firma

Mehr

Mit lebenslanger StarTech.com-Garantie sowie lebenslanger kostenloser technischer Unterstützung.

Mit lebenslanger StarTech.com-Garantie sowie lebenslanger kostenloser technischer Unterstützung. 2 Port USB 3.0 SuperSpeed PCI Express Schnittstellenkarte mit UASP Unterstützung StarTech ID: PEXUSB3S11 Dank der PCI Express USB 3.0-Karte PEXUSB3S11 können Sie einem PC über einen PCI Express-Steckplatz

Mehr

IBM SPSS Data Access Pack Installationsanweisung für Windows

IBM SPSS Data Access Pack Installationsanweisung für Windows IBM SPSS Data Access Pack Installationsanweisung für Windows Inhaltsverzeichnis Kapitel 1. Übersicht.......... 1 Einführung............... 1 Bereitstellen einer Datenzugriffstechnologie.... 1 ODBC-Datenquellen...........

Mehr

Thema: Anforderungen an den OIP Server und das IP- Netzwerk.

Thema: Anforderungen an den OIP Server und das IP- Netzwerk. Hard- und Software Ascotel IntelliGate 150/300/2025/2045/2065 Treiber und Applikationen Autor Open Interface Plattform und OIP Applikationen Michael Egl, Ascotel System Engineer Thema: Anforderungen an

Mehr

Mac Quick Guide für die Migration zum HIN Client

Mac Quick Guide für die Migration zum HIN Client Mac Quick Guide für die Migration zum HIN Client Anleitung zur Migration vom ASAS Client zum neuen HIN Client in Schritten:. Schritt 2. Schritt. Schritt Installation HIN Client Software Installiert die

Mehr

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

Installieren und Einrichten von VirtualBox für TAPPS (V1.0)

Installieren und Einrichten von VirtualBox für TAPPS (V1.0) Installieren und Einrichten von VirtualBox für TAPPS (V1.0) 1 Einleitung... 2 2 Download und Installation... 2 3 Einrichten von VirtualBox am Beispiel Windows XP... 7 4 Einrichten von Windows XP... 26

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

USB 2.0 PCI-Karte mit NEC CHIPSATZ

USB 2.0 PCI-Karte mit NEC CHIPSATZ Handbuch USB 2.0 PCI-Karte mit NEC CHIPSATZ deutsch Handbuch_Seite 2 Handbuch_Seite 3 Inhalt 1.0 Eigenschaften 4 2.0 Systemvoraussetzungen 4 3.0 Hardware Installation 4 4.0 Treiber Installation (Windows

Mehr

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized 1.1.: MAC-Adressen für CSMA/CD und TokenRing bestehen jeweils aus 48 Bits (6 Bytes). Warum betrachtet man diese Adressräume als ausreichend? (im Gegensatz zu IP) - größer als IP-Adressen (48 Bits 32 Bits)

Mehr

AS-EDI-CONNECT P2PV2

AS-EDI-CONNECT P2PV2 AS-EDI-CONNECT P2PV2 Inhaltsverzeichnis 1. Installation von EDI CONNECT P2PV2... 3 1.1. Kontrolle der Definitionen... 3 1.2. Aktivieren des Protokolls P2PV2... 6 2. Active Notification installieren...

Mehr

Ihr Partner für Software im Bereich CNC-Maschinen. DNC über Ethernet

Ihr Partner für Software im Bereich CNC-Maschinen. DNC über Ethernet Ihr Partner für Software im Bereich CNC-Maschinen DNC über Ethernet NCP NC-Technik AG Juch 10 CH-5622 Waltenschwil. Tel.+41 56 621 88 66 Fax +41 56 621 88 04 Internet: http//www.ncp.ch E-Mail: info@ncp.ch

Mehr

... relevante Ports für Streaming bzw. Remote Control!

... relevante Ports für Streaming bzw. Remote Control! ... relevante Ports für Streaming bzw. Remote Control! Wenn Sie mit der Installation des IO [io] 8000 / 8001 beginnen, ist es am sinnvollsten mit einem minilan zu beginnen, da dies mögliche Fehlrequellen

Mehr

FrogSure Installation und Konfiguration

FrogSure Installation und Konfiguration FrogSure Installation und Konfiguration 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis...1 2 Installation...1 2.1 Installation beginnen...2 2.2 Lizenzbedingungen...3 2.3 Installationsordner auswählen...4 2.4

Mehr

Hard- und Software Aastra 415/430/470, IntelliGate 150/300/2025/2045/2065

Hard- und Software Aastra 415/430/470, IntelliGate 150/300/2025/2045/2065 Hard- und Software Aastra 415/430/470, IntelliGate 150/300/2025/2045/2065 Treiber und Applikationen Autor Open Interface Plattform und OIP Applikationen Michael Egl, Ascotel System Engineer 1.1 Kommunikation

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Drucken im Netzwerk So wird s gemacht

Drucken im Netzwerk So wird s gemacht NETZWERK-DRUCK ARTICLE Drucken im Netzwerk So wird s gemacht Created: June 2, 2005 Last updated: June 2, 2005 Rev:.0 Inhaltsverzeichnis EINLEITUNG 3 INFRASTRUKTUR DES NETZWERKDRUCKENS 3. Peer-to-Peer-Druck

Mehr

Zugriff zum Datenaustausch per scponly

Zugriff zum Datenaustausch per scponly Zugriff zum Datenaustausch per scponly Warum scponly? In der Grundkonfiguration der Musterlösung ist es notwendig, dass ein Benutzer, der die Möglichkeit haben soll von außen Dateien mit dem Server auszutauschen,

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Root-Server für anspruchsvolle Lösungen

Root-Server für anspruchsvolle Lösungen Root-Server für anspruchsvolle Lösungen I Produktbeschreibung serverloft Internes Netzwerk / VPN Internes Netzwerk Mit dem Produkt Internes Netzwerk bietet serverloft seinen Kunden eine Möglichkeit, beliebig

Mehr

Virtual Serial COM Driver IP 67

Virtual Serial COM Driver IP 67 Keywords Virtual TwinCAT serial seriell EtherCAT EtherCAT Box EP6002 RS232 RS422 RS485 IP67 Schnittstelle Port Driver Virtual Serial Driver Dieses Application Example beschreibt, wie in rauer Industrie-Umgebung

Mehr

USB232CONV Installation. Version 1.2.0 Copyright 2004 2005 IFTOOLS GbR www.iftools.com

USB232CONV Installation. Version 1.2.0 Copyright 2004 2005 IFTOOLS GbR www.iftools.com USB232CONV Installation Version 1.2.0 Copyright 2004 2005 IFTOOLS GbR www.iftools.com USB232CONV Treiber Installierung Inhalt 1 USB232CONV Einleitung...1 1.1 Hinweis für MSB A Benutzer...1 2 Virtueller

Mehr

Systemvergleich der Multimedia-Bussysteme: MOST, USB 2.0, IEEE 1394

Systemvergleich der Multimedia-Bussysteme: MOST, USB 2.0, IEEE 1394 Systemvergleich der Multimedia-Bussysteme: MOST, USB 2.0, IEEE 1394 von Jens Brocke 26.10.2000 FH Braunschweig/Wolfenbüttel Inhalt der Präsentation Herkunft und Anwendungsgebiete Gemeinsame Eigenschaften

Mehr

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik I USB Universal serial bus (USB) Serielle Datenübertragung Punkt-zu-Punkt Verbindungen Daten und

Mehr