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



Ähnliche Dokumente
Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI

Professionelle Seminare im Bereich MS-Office

Tutorial -

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

ELO Print&Archive so nutzen Sie es richtig

Installation / Aktualisierung von Druckertreibern unter Windows 7

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Stepperfocuser 2.0 mit Bootloader

Bedienungsanleitung für den Online-Shop

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Dokumentation IBIS Monitor

Einrichtung eines Zugangs mit einer HBCI-Chipkarte bei der Commerzbank

Nutzung von GiS BasePac 8 im Netzwerk

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

QUICK INSTALLATION GUIDE

USB 2.0 PCI-Karte mit NEC CHIPSATZ

! " # $ " % & Nicki Wruck worldwidewruck

Zeichen bei Zahlen entschlüsseln

Carolo Knowledge Base

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Installation Hardlockserver-Dongle

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Benutzerhandbuch MedHQ-App

HorstBox (DVA-G3342SD) Anleitung zur Einrichtung der Telefonie

Erforderliche Änderung des Firewire (IEEE1394) Kartentreibers für die Kodak Scanner i600/i700/i1800 unter Microsoft Windows 7

Schnittstellen des Computers

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Artikel Schnittstelle über CSV

Installation OMNIKEY 3121 USB

Tutorial: Wie kann ich Dokumente verwalten?

Handbuch PCI Treiber-Installation

Outlook 2013

DOS-Sympas Scope Dateien in Excel einlesen

Anleitung über den Umgang mit Schildern

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Allgemeine USB Kabel Installation und Troubleshooting

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

ICS-Addin. Benutzerhandbuch. Version: 1.0

ADNP/9200 mit E2U/ESL1: Web Interface Beispiele

Netzwerk einrichten unter Windows

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Der Kalender im ipad

Anweisungen für die Aktualisierung der Firmware auf einem Trūper oder Sidekick Scanner unter dem Markennamen von BBH.

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

USB 1.0 PCI-Karte. Version 1.0

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Lizenzen auschecken. Was ist zu tun?

EasyWk DAS Schwimmwettkampfprogramm

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Local Control Network Technische Dokumentation

Installationshilfe für die T-Sinus 721X/XA und deren Komponenten unter Windows 2000

Schnittstelle DIGI-Zeiterfassung

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

SJ OFFICE - Update 3.0

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Benutzung der LS-Miniscanner

Live Update (Auto Update)

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

3 Windows als Storage-Zentrale

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Für Windows 7 Stand:

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

BlueEvidence Services in Elexis

Anleitung zur Installation des Printservers

Übung - Konfigurieren einer Windows 7-Firewall

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten

ISK 200 Treiberinstallation

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Was ist Sozial-Raum-Orientierung?

Die Erstellung eigener Strukturprofile

Qt-Projekte mit Visual Studio 2005

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Es ist ratsam die Schritte der Reihe nach durchzugehen, um ein erfolgreiches Ergebnis zu erzielen.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Eigene Dokumente, Fotos, Bilder etc. sichern

Datenaustausch mit dem ClassPad II. CASIO Educational Projects

Netzwerkeinstellungen unter Mac OS X

Konfiguration eines DNS-Servers

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

GDPdU Export. Modulbeschreibung. GDPdU Export. Software-Lösungen. Stand: Seite 1

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

Hilfe bei Problemen mit der Datenübertragung

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

Mit einem Mausklick sind s aus ACT! heraus in Outlook geschrieben, die dann wiederum auf Wunsch in ACT! dokumentiert werden.

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

DOKUMENTATION VOGELZUCHT 2015 PLUS

CodeSaver. Vorwort. Seite 1 von 6

Transkript:

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. 2.1 Eigenschaften von USB USB steht für Universal Serial Bus. Dieser wurde entwickelt, um eine einheitliche Schnittstelle für Peripherie-Geräte mit folgenden Eigenschaften bereitzustellen: Serielle Datenübertragung Daten werden auf dem USB-Bus seriell übertragen. Baumhierarchie Ein Host steuert die gesamte Kommunikation. Er kann bis zu 127 angeschlossene Geräte steuern. Diese sind in einer baumartigen Hierarchie mit dem Host-Controller verbunden. Dabei kann an einem USB-Anschluss entweder ein Gerät angeschlossen sein, oder ein USB-Hub, der weitere Anschlüsse (bis zu den maximal möglichen 127) zur Verfügung stellt. Hot-Plug-fähig USB-Geräte sollen im laufenden Betrieb des Rechners angeschlossen oder entfernt werden können. Dabei soll das zuständige Betriebssystem in der Lage sein, ein Gerät beim Anschluss automatisch zu erkennen, zu konfigurieren, und in Betrieb zu nehmen. Stromversorgung Über den USB-Anschluss wird eine Stromversorgung mit einer Spannung von 5 V und einer Stromstärke von 5 ma (gemäß Spezifikation) zur Verfügung gestellt. Geräte, die nicht besonders leistungshungrig sind, benötigen so keine zusätzliche Stromquelle. 27

USB und Linux hotplug Die USB-Baumhierarchie: USB Host USB Hub USB Hub USB Hub USB Hub USB steht bisher mit folgenden Bandbreiten zur Verfügung: 1,5 MBit/s (USB 1.3) 12 MBit/s (USB 1.3) 480 MBit/s (USB 2.0) Ein USB-Anschluss muss vier Verbindungen bereitstellen, je zwei für die Stromversorgung und zwei für die Kommunikation. Die Stecker für den Anschluss auf der Host- Seite sehen wie folgt aus: Auf der Geräteseite gibt es (neben einigen Sonderformaten) die folgenden beiden Steckerformen: 28

2.1 Eigenschaften von USB USB-Geräteanschluss: USB-Geräteanschluss klein: Dabei ist die Kabellänge auf 5 m begrenzt, mit USB-Hubs ist eine Gesamtlänge von bis zu 30 m möglich. 29

USB und Linux hotplug 2.2 Das Schichtenmodell der USB-Architektur Die Treiberhierarchie von USB beruht auf einem Schichtenmodell: Tastatur Treiber Maus Treiber Input Core USB Gerätetreiber USB HID Treiber USB Gerätetreiber USB Core UHCI OHCI EHCI Die Hostcontroller Es gibt derzeit folgende Arten von Hostcontrollern: UHCI Universal Host Controller Interface, USB 1.3 (auf Mainboards von Intel, VIA) OHCI Open Host Controller Interface, USB 1.3 (auf Mainboards von ALI, Compaq, NEC, Opti, SiS) EHCI Enhanced Host Controller Interface, USB 2.0 2.3 Die USB Kernelmodule laden Den verwendeten Hostcontroller ermitteln: 1. Mitlspci: 30

2.4 Hot-Plug $ lspci grep -i usb 00:1d.0 USB Controller:... (ICH6 Family) USB UHCI #1 (rev 03) 00:1d.1 USB Controller:... (ICH6 Family) USB UHCI #2 (rev 03) 00:1d.2 USB Controller:... (ICH6 Family) USB UHCI #3 (rev 03) 00:1d.3 USB Controller:... (ICH6 Family) USB UHCI #4 (rev 03) 00:1d.7 USB Controller:... mily) USB2 EHCI Controller (rev 03) Auf diesem System ist also UHCI für USB 1.3 und EHCI für USB 2 vorhanden. Kennt man die verwendeten Hostcontroller, kann man die entsprechenden Treibermodule laden. Seit Kernel 2.6 heißen diese: uhci-hcd.o (für UHCI), ohci-hcd.o (für OHCI) und ehci-hcd.o (für EHCD). Auf älteren Systemen mit Kernel 2.4 gibt es für UHCI das Modulusb-uhci.o und für OHCIusb-ohci.o. Zuerst muss aber das USB-Core Modulusbcore.o geladen werden. Entweder lädt man die Module von Hand oder man lädt sie automatisch beim Systemstart, z.b. mittels/etc/modules.conf. Das USB-Core Modul enthält dabei die USB-Grundfunktionalität. Die Ebenen darunter bauen auf dem USB-Core Modul auf und implementieren zusätzlich alle Funktionen die Für den Betrieb der Hostcontroller nötig sind. Die Ebenen darüber bauen ebenfalls auf das USB-Core Modul auf. Die Gerätetreiber können als die Core-Funktionen verwenden. Es lassen sich nach oben auch Geräteklassen zusammenfassen, z.b. die HID (Human Interface Device) Geräte. Dadurch können abstrakte Treiber geschrieben werden, die alle für HID-Geräte typischen Funktionen implementieren. Für die eigentlichen Gerätetreiber ist dann nicht mehr soviel Programmierarbeit nötig. Welche USB-Geräte am Hostcontroller angeschlossen sind, kann man mit dem Programm lsusb betrachten (LPI 2: 213.2). Die Option -v erhöht die Anzahl von angezeigten Informationen, die Option -t zeigt die Baumstruktur der angeschlossenen Geräte an. Ein grafisches Programm dafür istusbview. Der Zugriff auf Geräte und ihre Informationen erfolgt dabei über ein dynamisch erzeugtes Dateisystem, das usbdevfs. Es wird typischerweise unter/proc/bus/usb eingehängt. Das kann z.b. automatisch über einen Eintrag in/etc/fstab erfolgen: usbfs /proc/bus/usb usbfs noauto 0 0 2.4 Hot-Plug Damit Linux bei Anschluss eines Hot-Plug fähigem Gerätes den passenden Treiber automatisch laden kann, gibt es das Programm hotplug. Es kann nicht nur USB-, sondern z.b. auch Firewire- und PCMCIA-Geräte verwalten. 31

USB und Linux hotplug Die Konfiguration findet sich im Verzeichnis/etc/hotplug. Dabei wird jedes System wie z.b. USB oder PCMCIA von einem Agenten überwacht. Wird ein neues Gerät angeschlossen, wird anhand dessen ID versucht den richtigen Treiber zu ermitteln und zu laden. Dazu kann es im Fall von USB-Geräten z.b. das Programm usbmodules verwenden, das zu einem angeschlossenem Gerät alle verfügbaren Kernelmodule anzeigt. Ein alternatives Programm zu Hotplug ist usbmgr. Es kann aber nur USB überwachen und wird in/etc/usbmgr/usbmgr.conf konfiguriert. Eine Liste beim Start von usbmgr zu ladender Module findet sich in /etc/usbmgr/preload.conf, der Modulname (ohne.o oder.ko) für den Hostcontroller steht in/etc/usbmgr/host. Linux-Distributoren haben mitunter eigene Varianten zur Hotplug-Umsetzung. 2.5 udev In neueren Linux-Distributionen (ab Kernel 2.6) findet ein neuartiges Geräteverwaltungssystem namens udev Einsatz (LPI 2: 203.4). Es ersetzt das ältere devfs und übernimmt auch Funktionalitäten, die bis dahin von Hotplug bereitgestellt wurden. udev läuft völlig im Userspace und ist damit einfacher wartbar und erweiterbar als alte Mechanismen. udev wird ausschließlich über die Dateien in /etc/udev konfiguriert. Wichtig sind die im Verzeichnis /etc/udev/rules.d/ abgelegten Regeldateien, die bestimmen, wie dasudev-programm auf vom Kernel generierte Ereignisse reagiert. Ein Ausschnitt aus der mitgelieferten Konfigurationsdatei sieht folgendermaßen aus: Ausschnitt aus/etc/udev/rules.d/50-udev.rules # floppy devices KERNEL=="fd[0-9]*", NAME="floppy/%n", SYMLINK+="%k", GROUP="floppy"... # usb devices KERNEL=="hiddev*",NAME="usb/%k" KERNEL=="auer*",NAME="usb/%k" KERNEL=="legousbtower*",NAME="usb/%k", GROUP="usb" KERNEL=="dabusb*",NAME="usb/%k" BUS=="usb", KERNEL=="lp[0-9]*",NAME="usb/%k", GROUP="lp" Hier wird z.b. festgelegt, dass für Diskettenlaufwerke Gerätedateien mit den Namen /dev/floppy/<nummer> und/dev/fd<nummer> mit der Gruppe floppy angelegt wer- 32

2.6 Weiterführende Literatur den. Für USB-Geräte gibt es ebenfalls verschiedene Anweisungen. Die letzte Zeile besagt z.b., dass für USB-Drucker eine Gerätedatei unter /dev/usb angelegt wird, die der Gruppe lp gehören soll. Die genauen Bedeutungen der Direktiven sind in der Man-Page zuudev aufgelistet. Mit dem Kommando udevmonitor (LPI 2: 203.4) können Sie die Events, die der Kernel und udev generieren, auf der Konsole mitschneiden. Diese Ausgaben dienen gewöhnlicherweise als Basis für eigene Regeln oder zu Diagnosezwecken. 2.6 Weiterführende Literatur http://www.linux-usb.org 33

USB und Linux hotplug 2.7 Wissensfragen 1. Geben Sie vier Eigenschaften von USB an. 2. Welche Arten von USB-Hostcontrollern gibt es? 3. Nennen Sie zwei Hot-Plug Programme unter Linux. 4. Mit welchem Programm können Sie angeschlossene USB-Geräte betrachten? 5. Welches Programm können Sie benutzen um herauszufinden, welchen Hostcontroller ein System verwendet? 34

2.8 Lösungen 2.8 Lösungen 1. Hotplug-fähig, Baumhierarchie, serielle Datenübertragung, Stromversorgung. 2. UHCI, OHCI, EHCI 3. z.b.hotplug,usbmgr 4. z.b.lsusb oderusbview 5. z.b.lspci 35

USB und Linux hotplug 36