Index: head/de_DE.ISO8859-1/books/handbook/Makefile =================================================================== --- head/de_DE.ISO8859-1/books/handbook/Makefile +++ head/de_DE.ISO8859-1/books/handbook/Makefile @@ -1,7 +1,7 @@ # # $FreeBSD$ # $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $ -# basiert auf: r47275 +# basiert auf: r51744 # # Build the FreeBSD Handbook in its German translation. # @@ -202,6 +202,7 @@ SRCS+= printing/chapter.xml SRCS+= security/chapter.xml SRCS+= serialcomms/chapter.xml +SRCS+= usb-device-mode/chapter.xml SRCS+= virtualization/chapter.xml SRCS+= x11/chapter.xml Index: head/de_DE.ISO8859-1/books/handbook/book.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/book.xml +++ head/de_DE.ISO8859-1/books/handbook/book.xml @@ -7,7 +7,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/book.xml,v 1.91 2012/03/27 19:32:11 bcr Exp $ - basiert auf: r51568 + basiert auf: r51744 --> %chapters; %txtfiles; @@ -266,6 +266,7 @@ &chap.l10n; &chap.cutting-edge; &chap.dtrace; + &chap.usb-device-mode; Index: head/de_DE.ISO8859-1/books/handbook/chapters.ent =================================================================== --- head/de_DE.ISO8859-1/books/handbook/chapters.ent +++ head/de_DE.ISO8859-1/books/handbook/chapters.ent @@ -10,7 +10,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/chapters.ent,v 1.34 2011/10/08 16:47:33 jkois Exp $ - basiert auf: r47275 + basiert auf: r51744 --> @@ -47,6 +47,7 @@ + Index: head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/disks/chapter.xml @@ -650,140 +650,6 @@ Laufwerken und iSCSI-LUNs. - - - <acronym>USB</acronym>-Massenspeicher - - - Der &man.cfumass.4;-Treiber ist ein - USB Geräte-Modus-Treiber und steht mit - &os; 12.0 zur Verfügung. - - - Auf - USB-OTG-kompatibler - Hardware, wie in eingebetteten Systemen, kann der &os; - USB-Stack im Geräte-Modus laufen. Der - Geräte-Modus ermöglicht es dem Rechner, verschiedene Arten von - USB-Geräteklassen zu präsentieren, - einschließlich serieller Schnittstellen, Netzwerkadapter und - Massenspeicher. Ein USB-Host, - beispielsweise ein Laptop oder Desktop-Rechner, kann darauf - wie auf ein physikalisches USB-Gerät - zugreifen. - - Je nach angeschlossener Hardware, ermöglicht das - &man.usb.template.4; Kernelmodul es dem - USB-Stack, automatisch zwischen Host- und - Geräteseite umzuschalten. Das Anschließen eines - USB-Gerätes an den - USB-OTG-Port bewirkt, - dass &os; in den Geräte-Modus wechselt. - - Was &os; dem USB-Host präsentiert, - hängt von der sysctl-Variablen - hw.usb.template ab. Eine Liste der - verfügbaren Werte finden Sie in &man.usb.template.4;. Damit - der Host die geänderte Konfiguration erkennt, muss entweder - das Gerät getrennt und wieder angeschlossen, oder der - USB-Bus neu gescannt werden. Wenn auf dem - Host &os; läuft, können Sie &man.usbconfig.8; - reset benutzen. Dieser Befehl muss nach - dem Laden von usb_template.ko erfolgen, - falls der USB-Host bereits am - USB-OTG-Port - angeschlossen war. - - Die sysctl-Variable hw.usb.template ist - in der Voreinstellung auf 0 gesetzt, so dass &os; als - USB-Massenspeicher funktioniert. Dazu - müssen die beiden Kernelmodule &man.usb.template.4; und - &man.cfumass.4; geladen sein. &man.cfumass.4; ist die - Schnittstelle zum CTL-Subsystem, die auch für - iSCSI- und Fibre Channel-Targets - benutzt wird. Auf der Host-Seite können - USB-Massenspeicher nur auf eine einzelne - LUN (LUN 0) - zugreifen. - - USB-Massenspeicher benötigen keinen - aktiven &man.ctld.8;-Daemon, obwohl er bei Bedarf verwendet - werden kann. Dies unterscheidet sich von - iSCSI. So gibt es zwei Möglichkeiten, - ein Target zu konfigurieren: &man.ctladm.8; und &man.ctld.8;. - Beide erfordern, dass das cfumass.ko - Kernelmodul geladen ist. Das Modul kann wie folgt geladen - werden: - - &prompt.root; kldload cfumass - - Wenn cfumass.ko nicht im Kernel - enthalten ist, kann das Modul beim Booten über - /boot/loader.conf geladen werden: - - cfumass_load="YES" - - Eine LUN kann auch ohne den - &man.ctld.8;-Daemon erstellt werden: - - &prompt.root; ctladm create -b block -o file=/data/target0 - - Damit wird dem USB der Inhalt des - Abbilds /data/target0 als - LUN präsentiert. Die Datei muss vor dem - Ausführen des Befehls vorhanden sein. Um die - LUN beim Systemstart zu konfigurieren, - fügen Sie den Befehl in /etc/rc.local - hinzu. - - &man.ctld.8; kann ebenfalls verwendet werden, um - LUNs zu verwalten. Erstellen Sie - /etc/ctl.conf und fügen Sie eine Zeile in - /etc/rc.conf hinzu, um sicherzustellen, - dass &man.ctld.8; beim Booten automatisch gestartet wird. - Danach starten Sie den Daemon. - - Dies ist ein Beispiel für eine einfache - /etc/ctl.conf Konfigurationsdatei. - &man.ctl.conf.5; enthält eine ausführliche Beschreibung der - einzelnen Optionen. - - target naa.50015178f369f092 { - lun 0 { - path /data/target0 - size 4G - } -} - - Dieses Beispiel erstellt ein Target mit einer einzigen - LUN. - naa.50015178f369f092 ist eine Gerätekennung - aus 32 zufälligen, hexadezimalen Ziffern. Die - path-Zeile definiert den vollständigen Pfad - einer Datei oder eines zvols, welche als Backend für die - LUN benutzt wird. Die Konfigurationsdatei - muss vor dem Start von &man.ctld.8; existieren. Die zweite - Zeile ist optional und gibt die Größe der - LUN an. - - Fügen Sie folgende Zeile in - /etc/rc.conf hinzu, um den - &man.ctld.8;-Daemon beim Booten zu starten: - - ctld_enable="YES" - - Um &man.ctld.8; zu starten, führen Sie dieses Kommando - aus: - - &prompt.root; service ctld start - - Beim Start liest der &man.ctld.8;-Daemon - /etc/ctl.conf ein. Wenn diese Datei nach - dem Start des Daemons bearbeitet wird, können Sie sie erneut - einlesen, damit die Änderungen direkt wirksam sind: - - &prompt.root; service ctld reload - Index: head/de_DE.ISO8859-1/books/handbook/usb-device-mode/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/usb-device-mode/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/usb-device-mode/chapter.xml @@ -0,0 +1,404 @@ + + + + + + USB Gerätemodus + + + Übersicht + + + + + + Edward Tomasz + Napierala + + +
+ trasz@FreeBSD.org +
+
+ Beigetragen von +
+
+
+ + Dieses Kapitel behandelt die Verwendung des USB Gerätemodus + und USB On-The-Go (USB OTG) unter &os;. Dazu + gehören virtuelle serielle Konsolen, virtuelle Netzwerkkarten + und virtuelle USB-Laufwerke. + + Wenn die eingesetzte Hardware den USB-Gerätemodus oder + USB OTG unterstützt, kann &os;s + USB-Stack im Gerätemodus ausgeführt werden. + Solche Hardware wird häufig in eingebetteten Systeme verbaut. + Der Gerätemodus ermöglicht es dem Rechner verschiedene Arten von + USB-Geräteklassen darzustellen, + einschließlich serieller Schnittstellen, Netzwerkkarten und + Massenspeicher oder Kombinationen davon. Ein + USB-Host, beispielsweise ein Notebook oder + ein Desktop-Rechner, kann wie auf ein physisches + USB-Gerät darauf zugreifen. + + Es gibt zwei grundlegende Möglichkeiten, wie die Hardware + den Gerätemodus bereitstellen kann: mit einem separaten + Client Modus, der nur den Gerätemodus + unterstützt, und mit einem USB-OTG-Port, der sowohl den + Geräte- als auch den Hostmodus bereitstellen kann. Bei + USB-OTG-Ports wechselt der USB-Stack automatisch zwischen + host- und geräteseitig, je nachdem, was an dem Port + angeschlossen ist. Wenn Sie ein USB-Gerät + wie einen Speicherstick an den Port anschließen, wechselt &os; + in den Hostmodus. Wenn Sie einen USB-Host + wie einen Computer anschließen, wechselt &os; in den + Gerätemodus. Client Ports arbeiten immer + im Gerätemodus. + + Was &os; dem USB-Host präsentiert, hängt + von der sysctl-Variable hw.usb.template ab. + Einige Vorlagen bieten ein einzelnes Gerät, beispielsweise ein + serielles Terminal, andere bieten mehrere, die alle gleichzeitig + verwendet werden können. Ein Beispiel ist die Vorlage 10, die + ein Massenspeichergerät, eine serielle Konsole und eine + Netzwerkkarte bereitstellt. &man.usb.template.4; enthält eine + Liste der verfügbaren Werte. + + Beachten Sie, dass in einigen Fällen, abhängig von der + Hardware und dem Betriebssystem des Hosts, die Änderung an der + Konfiguration nur dann bemerkt werden kann, wenn der Host + entweder physisch getrennt und wieder verbunden oder gezwungen + wird, den USB-Bus auf eine + systemspezifische Weise neu zu scannen. Wenn &os; auf dem Host + läuft, kann &man.usbconfig.8; reset + verwendet werden. Dies muss auch nach dem Laden von + usb_template.ko geschehen, wenn der + USB-Host bereits an der + USB OTG-Buchse angeschlossen war. + + Nachdem Sie dieses Kapitel gelesen haben, werden + Sie wissen: + + + + wie man den USB Gerätemodus unter + &os; einrichtet. + + + + wie man die virtuelle serielle Schnittstelle unter + &os; konfiguriert. + + + + wie man sich mit der virtuellen seriellen Schnittstelle + von verschiedenen Betriebssystemen aus verbindet. + + +
+ + + Virtuelle serielle + <acronym>USB</acronym>-Ports + + + Konfiguration des <acronym>USB</acronym>-Gerätemodus für + serielle Ports + + Die virtuellen seriellen Ports werden durch die + Vorlagen 3, 8 und 10 unterstützt. Beachten Sie, dass + Vorlage 3 mit Microsoft Windows 10 ohne spezielle Treiber + und INF-Dateien funktioinert. Andere Host-Betriebssysteme + arbeiten mit allen drei Vorlagen. Die beiden Kernelmodule + &man.usb.template.4; und &man.umodem.4; müssen geladen + werden. + + Um die seriellen Ports im + USB-Gerätemodus zu aktivieren, fügen Sie + folgenden Zeilen in + /etc/ttys hinzu: + + ttyU0 "/usr/libexec/getty 3wire" vt100 onifconsole secure +ttyU1 "/usr/libexec/getty 3wire" vt100 onifconsole secure + + Danach fügen Sie folgende Zeilen in + /etc/devd.conf hinzu: + + notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "ttyU[0-9]+"; + action "/sbin/init q"; +}; + + Laden Sie die Konfiguration neu, falls &man.devd.8; + bereits läuft: + + &prompt.root; service devd restart + + Stellen Sie sicher, dass die notwendigen Module geladen + sind und die richtige Vorlage beim Booten gesetzt ist. Fügen + Sie dazu folgende Zeilen in + /boot/loader.conf ein: + + umodem_load="YES" +hw.usb.template=3 + + Um das Modul zu laden und die Vorlage ohne Neustart zu + aktivieren, verwenden Sie: + + &prompt.root; kldload umodem +&prompt.root; sysctl hw.usb.template=3 + + + + &os; mit der seriellen Schnittstelle im + <acronym>USB</acronym>-Gerätemodus verbinden + + Um eine Verbindung zu einer Karte herzustellen, die so + konfiguriert ist, dass sie serielle Ports im + USB-Gerätemodus bereitstellt, schließen + Sie den USB-Host, beispielsweise einen + Laptop, an den USB OTG- oder + USB-Client-Port der Karte an. Verwenden + Sie pstat -t auf dem Host, um die + Terminalzeilen aufzulisten. Am Ende der Liste sollten Sie + einen seriellen USB-Anschluss sehen, + zum Beispiel ttyU0. Um die Verbindung zu + öffnen, benutzen Sie: + + &prompt.root; cu -l /dev/ttyU0 + + Nach mehrmaligem Drücken der Enter-Taste + erscheint ein Anmeldeprompt. + + + + macOS mit der seriellen Schnittstelle im + <acronym>USB</acronym>-Gerätemodus verbinden + + Um eine Verbindung zu einer Karte herzustellen, die so + konfiguriert ist, dass sie serielle Ports im + USB-Gerätemodus bereitstellt, schließen + Sie den USB-Host, beispielsweise einen + Laptop, an den USB OTG- oder + USB-Client-Port der Karte an. Um die + Verbindung zu öffnen, benutzen Sie: + + &prompt.root; cu -l /dev/cu.usbmodemFreeBSD1 + + + + Linux mit der seriellen Schnittstelle im + <acronym>USB</acronym>-Gerätemodus verbinden + + Um eine Verbindung zu einer Karte herzustellen, die so + konfiguriert ist, dass sie serielle Ports im + USB-Gerätemodus bereitstellt, schließen + Sie den USB-Host, beispielsweise einen + Laptop, an den USB OTG- oder + USB-Client-Port der Karte an. Um die + Verbindung zu öffnen, benutzen Sie: + + &prompt.root; minicom -D /dev/ttyACM0 + + + + Windows 10 mit der seriellen Schnittstelle im + <acronym>USB</acronym>-Gerätemodus verbinden + + Um eine Verbindung zu einer Karte herzustellen, die so + konfiguriert ist, dass sie serielle Ports im + USB-Gerätemodus bereitstellt, schließen + Sie den USB-Host, beispielsweise einen + Laptop, an den USB OTG- oder + USB-Client-Port der Karte an. Um die + Verbindung zu öffnen, benötigen Sie ein Terminalprogramm mit + Unterstützung für serielle Schnittstellen, zum Beispiel + PuTTY. Um den von &windows; + verwendeten COM-Port zu ermitteln, starten Sie den + Geräte-Manager und erweitern Sie + Ports (COM & LPT). Dort sehen Sie einen + Namen wie USB Serial Sevice (COM4). Starten + Sie das Terminalprogramm Ihrer Wahl, zum Beispiel + PuTTY. Im Dialog von + PuTTY setzen Sie den + Connection type auf Serial und + notieren im Feld Serial line den ermittelten + COM-Namen. Danach klicken Sie auf Open. + + + + + Netzwerkkarten im + <acronym>USB</acronym>-Gerätemodus + + Virtuelle Netzwerkkarten werden durch die Vorlagen 1, 8 und + 10 unterstützt. Beachten Sie, dass keine dieser Vorlagen mit + &windows; funktioniert. Andere Host-Betriebssysteme arbeiten + mit allen drei Vorlagen. Die Kernelmodule + &man.usb.template.4; und &man.if.cdce.4; müssen + geladen sein. + + Stellen Sie sicher, dass die notwendigen Module geladen + sind und die richtige Vorlage beim Booten gesetzt ist. Fügen + Sie dazu folgende Zeilen in + /boot/loader.conf ein: + + if_cdce_load="YES" +hw.usb.template=1 + + Um das Modul zu laden und die Vorlage ohne Neustart zu + aktivieren, verwenden Sie: + + &prompt.root; kldload if_cdce +&prompt.root; sysctl hw.usb.template=1 + + + + Virtuelle <acronym>USB</acronym>-Speichergeräte + + + &man.cfumass.4; ist ein + USB-Gerätetreiber, der seit + &os; 12.0 verfügbar ist. + + + Virtuelle Speichergeräte werden durch die Vorlagen 0 und 10 + unterstützt. Die Kernelmodule &man.usb.template.4; und + &man.cfumass.4; müssen geladen sein. &man.cfumass.4; ist die + Schnittstelle zum CTL-Subsystem, das auch für + iSCSI- oder Fibre-Channel-Targets benutzt + wird. Auf dem Host können Initiatioren von + USB-Massenspeichern nur auf eine einzige + LUN, LUN 0 + zugreifen. + + + Konfiguration von <acronym>USB</acronym>-Massenspeicher + Targets mit dem cfumass-Startskript + + Der einfachste Weg, ein schreibgeschütztes + USBSpeicherziel einzurichten, ist die + Verwendung des cfumass rc-Skripts. + Kopieren Sie einfach die Dateien, die dem + USB-Host präsentiert werden sollen, in das + Verzeichnis /var/cfumass und fügen Sie + diese Zeile in /etc/rc.conf ein: + + cfumass_enable="YES" + + Um das Ziel ohne Neustart zu konfigurieren, führen Sie + diesen Befehl aus: + + &prompt.root; service cfumass start + + Im Gegensatz zur seriellen und Netzwerkfunktionalität + sollte die Vorlage in /boot/loader.conf + nicht auf 0 oder 10 gesetzt werden, da die + LUN vor dem Setzen der Vorlage + konfiguriert werden muss. Das cfumass + rc-Skript setzt beim Start automatisch die richtige + Vorlage. + + + + <acronym>USB</acronym>-Massenspeicher mit anderen + Werkzeugen konfigurieren + + Der Rest dieses Kapitels enthält eine detaillierte + Beschreibung der Konfiguration ohne die Verwendung des + cfumass rc-Skripts. Dies ist + beispielsweise notwendig, wenn man eine beschreibbare + LUN zur Verfügung stellen will. + + Im Gegensatz zu iSCSI ist es bei + USB-Massenspeichern nicht zwingend + erforderlich, dass der &man.ctld.8; Daemon läuft. Es + gibt zwei Möglichkeiten, das Target zu konfigurieren: + &man.ctladm.8; oder &man.ctld.8;. Beide erfordern, dass das + Kernelmodul cfumass.ko geladen ist. + Das Modul kann manuell geladen werden: + + &prompt.root; kldload cfumass + + Wenn cfumass nicht im Kernel + integriert ist, kann /boot/loader.conf + angepasst werden, damit das Modul beim Booten geladen + wird: + + cfumass_load="YES" + + Eine LUN kann ohne den + &man.ctld.8; Daemon erstellt werden: + + &prompt.root; ctladm create -b block -o file=/data/target0 + + Dies stellt den Inhalt des Abbilds von + /data/target0 als LUN + auf dem USB-Host dar. Die Datei muss vor + der Ausführung des Befehls vorhanden sein. Um die + LUN beim Systemstart zu konfigurieren, + muss das Kommando in /etc/rc.local + eingetragen werden. + + &man.ctld.8; kann auch benutzt werden, um + LUNs zu verwalten. Dazu erstellen Sie eine + /etc/ctl.conf und fügen eine Zeile in + /etc/rc.conf hinzu, um sicherzustellen, + dass &man.ctld.8; beim Booten automatisch gestartet wird. + Danach kann der Daemon gestartet werden. + + Es folgt ein Beispiel einer einfachen Konfiguration für + /etc/ctl.conf. Eine ausführliche + Beschreibung der Optionen finden Sie + in &man.ctl.conf.5;. + + target naa.50015178f369f092 { + lun 0 { + path /data/target0 + size 4G + } +} + + Dieses Beispiel erstellt ein einzelnes Target + mit einer einzigen LUN. + naa.50015178f369f092 ist eine + Gerätekennung, die aus 32 zufälligen + Hexadezimalziffern besteht. + path definiert den absoluten Pfad zu einer + Datei oder eines zvol, welches die + LUN als Speicher nutzen kann. Diese Datei + muss vor dem Start von &man.ctld.8; existieren. Die zweite + Zeile ist optional und definiert die Größe + der LUN. + + Damit der &man.ctld.8; Daemon beim Booten gestartet wird, + muss diese Zeile in /etc/rc.conf + hinzugefügt werden: + + ctld_enable="YES" + + Sie können &man.ctld.8; mit diesem Befehl direkt + starten: + + &prompt.root; service ctld start + + Der &man.ctld.8; Daemon liest beim Start + /etc/ctl.conf. Wenn diese Datei nach dem + Start des Daemons bearbeitet wird, müssen die Änderungen neu + geladen werden, damit sie sofort wirksam werden: + + &prompt.root; service ctld reload + + +