Update to rr51744:
Introduce a new chapter on USB Device Mode / USB OTG. (german translation) Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D16445
This commit is contained in:
parent
815840b242
commit
a316169d3b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=52143
5 changed files with 410 additions and 137 deletions
|
@ -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+= preface/preface.xml
|
|||
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
|
||||
|
||||
|
|
|
@ -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
|
||||
-->
|
||||
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
|
||||
<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> %txtfiles;
|
||||
|
@ -266,6 +266,7 @@
|
|||
&chap.l10n;
|
||||
&chap.cutting-edge;
|
||||
&chap.dtrace;
|
||||
&chap.usb-device-mode;
|
||||
</part>
|
||||
|
||||
<part xml:id="network-communication">
|
||||
|
|
|
@ -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
|
||||
-->
|
||||
|
||||
<!ENTITY % not.published "INCLUDE">
|
||||
|
@ -47,6 +47,7 @@
|
|||
<!ENTITY chap.l10n SYSTEM "l10n/chapter.xml">
|
||||
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.xml">
|
||||
<!ENTITY chap.dtrace SYSTEM "dtrace/chapter.xml">
|
||||
<!ENTITY chap.usb-device-mode SYSTEM "usb-device-mode/chapter.xml">
|
||||
|
||||
<!-- Teil Vier -->
|
||||
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.xml">
|
||||
|
|
|
@ -650,140 +650,6 @@ da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached
|
|||
Laufwerken und
|
||||
<acronym>iSCSI</acronym>-<acronym>LUN</acronym>s.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title><acronym>USB</acronym>-Massenspeicher</title>
|
||||
|
||||
<note>
|
||||
<para>Der &man.cfumass.4;-Treiber ist ein
|
||||
<acronym>USB</acronym> Geräte-Modus-Treiber und steht mit
|
||||
&os; 12.0 zur Verfügung.</para>
|
||||
</note>
|
||||
|
||||
<para>Auf
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-kompatibler
|
||||
Hardware, wie in eingebetteten Systemen, kann der &os;
|
||||
<acronym>USB</acronym>-Stack im Geräte-Modus laufen. Der
|
||||
Geräte-Modus ermöglicht es dem Rechner, verschiedene Arten von
|
||||
<acronym>USB</acronym>-Geräteklassen zu präsentieren,
|
||||
einschließlich serieller Schnittstellen, Netzwerkadapter und
|
||||
Massenspeicher. Ein <acronym>USB</acronym>-Host,
|
||||
beispielsweise ein Laptop oder Desktop-Rechner, kann darauf
|
||||
wie auf ein physikalisches <acronym>USB</acronym>-Gerät
|
||||
zugreifen.</para>
|
||||
|
||||
<para>Je nach angeschlossener Hardware, ermöglicht das
|
||||
&man.usb.template.4; Kernelmodul es dem
|
||||
<acronym>USB</acronym>-Stack, automatisch zwischen Host- und
|
||||
Geräteseite umzuschalten. Das Anschließen eines
|
||||
<acronym>USB</acronym>-Gerätes an den
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port bewirkt,
|
||||
dass &os; in den Geräte-Modus wechselt.</para>
|
||||
|
||||
<para>Was &os; dem <acronym>USB</acronym>-Host präsentiert,
|
||||
hängt von der sysctl-Variablen
|
||||
<varname>hw.usb.template</varname> 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
|
||||
<acronym>USB</acronym>-Bus neu gescannt werden. Wenn auf dem
|
||||
Host &os; läuft, können Sie &man.usbconfig.8;
|
||||
<command>reset</command> benutzen. Dieser Befehl muss nach
|
||||
dem Laden von <filename>usb_template.ko</filename> erfolgen,
|
||||
falls der <acronym>USB</acronym>-Host bereits am
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port
|
||||
angeschlossen war.</para>
|
||||
|
||||
<para>Die sysctl-Variable <varname>hw.usb.template</varname> ist
|
||||
in der Voreinstellung auf 0 gesetzt, so dass &os; als
|
||||
<acronym>USB</acronym>-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
|
||||
<acronym>iSCSI</acronym>- und Fibre Channel-Targets
|
||||
benutzt wird. Auf der Host-Seite können
|
||||
<acronym>USB</acronym>-Massenspeicher nur auf eine einzelne
|
||||
<acronym>LUN</acronym> (<acronym>LUN</acronym> 0)
|
||||
zugreifen.</para>
|
||||
|
||||
<para><acronym>USB</acronym>-Massenspeicher benötigen keinen
|
||||
aktiven &man.ctld.8;-Daemon, obwohl er bei Bedarf verwendet
|
||||
werden kann. Dies unterscheidet sich von
|
||||
<acronym>iSCSI</acronym>. So gibt es zwei Möglichkeiten,
|
||||
ein Target zu konfigurieren: &man.ctladm.8; und &man.ctld.8;.
|
||||
Beide erfordern, dass das <filename>cfumass.ko</filename>
|
||||
Kernelmodul geladen ist. Das Modul kann wie folgt geladen
|
||||
werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload cfumass</userinput></screen>
|
||||
|
||||
<para>Wenn <filename>cfumass.ko</filename> nicht im Kernel
|
||||
enthalten ist, kann das Modul beim Booten über
|
||||
<filename>/boot/loader.conf</filename> geladen werden:</para>
|
||||
|
||||
<programlisting>cfumass_load="YES"</programlisting>
|
||||
|
||||
<para>Eine <acronym>LUN</acronym> kann auch ohne den
|
||||
&man.ctld.8;-Daemon erstellt werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>ctladm create -b block -o file=/data/target0</userinput></screen>
|
||||
|
||||
<para>Damit wird dem <acronym>USB</acronym> der Inhalt des
|
||||
Abbilds <filename>/data/target0</filename> als
|
||||
<acronym>LUN</acronym> präsentiert. Die Datei muss vor dem
|
||||
Ausführen des Befehls vorhanden sein. Um die
|
||||
<acronym>LUN</acronym> beim Systemstart zu konfigurieren,
|
||||
fügen Sie den Befehl in <filename>/etc/rc.local</filename>
|
||||
hinzu.</para>
|
||||
|
||||
<para>&man.ctld.8; kann ebenfalls verwendet werden, um
|
||||
<acronym>LUN</acronym>s zu verwalten. Erstellen Sie
|
||||
<filename>/etc/ctl.conf</filename> und fügen Sie eine Zeile in
|
||||
<filename>/etc/rc.conf</filename> hinzu, um sicherzustellen,
|
||||
dass &man.ctld.8; beim Booten automatisch gestartet wird.
|
||||
Danach starten Sie den Daemon.</para>
|
||||
|
||||
<para>Dies ist ein Beispiel für eine einfache
|
||||
<filename>/etc/ctl.conf</filename> Konfigurationsdatei.
|
||||
&man.ctl.conf.5; enthält eine ausführliche Beschreibung der
|
||||
einzelnen Optionen.</para>
|
||||
|
||||
<programlisting>target naa.50015178f369f092 {
|
||||
lun 0 {
|
||||
path /data/target0
|
||||
size 4G
|
||||
}
|
||||
}</programlisting>
|
||||
|
||||
<para>Dieses Beispiel erstellt ein Target mit einer einzigen
|
||||
<acronym>LUN</acronym>.
|
||||
<literal>naa.50015178f369f092</literal> ist eine Gerätekennung
|
||||
aus 32 zufälligen, hexadezimalen Ziffern. Die
|
||||
<literal>path</literal>-Zeile definiert den vollständigen Pfad
|
||||
einer Datei oder eines zvols, welche als Backend für die
|
||||
<acronym>LUN</acronym> benutzt wird. Die Konfigurationsdatei
|
||||
muss vor dem Start von &man.ctld.8; existieren. Die zweite
|
||||
Zeile ist optional und gibt die Größe der
|
||||
<acronym>LUN</acronym> an.</para>
|
||||
|
||||
<para>Fügen Sie folgende Zeile in
|
||||
<filename>/etc/rc.conf</filename> hinzu, um den
|
||||
&man.ctld.8;-Daemon beim Booten zu starten:</para>
|
||||
|
||||
<programlisting>ctld_enable="YES"</programlisting>
|
||||
|
||||
<para>Um &man.ctld.8; zu starten, führen Sie dieses Kommando
|
||||
aus:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld start</userinput></screen>
|
||||
|
||||
<para>Beim Start liest der &man.ctld.8;-Daemon
|
||||
<filename>/etc/ctl.conf</filename> ein. Wenn diese Datei nach
|
||||
dem Start des Daemons bearbeitet wird, können Sie sie erneut
|
||||
einlesen, damit die Änderungen direkt wirksam sind:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="creating-cds">
|
||||
|
|
404
de_DE.ISO8859-1/books/handbook/usb-device-mode/chapter.xml
Normal file
404
de_DE.ISO8859-1/books/handbook/usb-device-mode/chapter.xml
Normal file
|
@ -0,0 +1,404 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
basiert auf: r51744
|
||||
-->
|
||||
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
xml:id="usb-device-mode">
|
||||
|
||||
<title>USB Gerätemodus</title>
|
||||
|
||||
<sect1 xml:id="usb-device-mode-synopsis">
|
||||
<title>Übersicht</title>
|
||||
|
||||
<info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Edward Tomasz</firstname>
|
||||
<surname>Napierala</surname>
|
||||
</personname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>trasz@FreeBSD.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
<contrib>Beigetragen von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
|
||||
<para>Dieses Kapitel behandelt die Verwendung des USB Gerätemodus
|
||||
und USB On-The-Go (<acronym>USB OTG</acronym>) unter &os;. Dazu
|
||||
gehören virtuelle serielle Konsolen, virtuelle Netzwerkkarten
|
||||
und virtuelle USB-Laufwerke.</para>
|
||||
|
||||
<para>Wenn die eingesetzte Hardware den USB-Gerätemodus oder
|
||||
<acronym>USB OTG</acronym> unterstützt, kann &os;s
|
||||
<acronym>USB</acronym>-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
|
||||
<acronym>USB</acronym>-Geräteklassen darzustellen,
|
||||
einschließlich serieller Schnittstellen, Netzwerkkarten und
|
||||
Massenspeicher oder Kombinationen davon. Ein
|
||||
<acronym>USB</acronym>-Host, beispielsweise ein Notebook oder
|
||||
ein Desktop-Rechner, kann wie auf ein physisches
|
||||
<acronym>USB</acronym>-Gerät darauf zugreifen.</para>
|
||||
|
||||
<para>Es gibt zwei grundlegende Möglichkeiten, wie die Hardware
|
||||
den Gerätemodus bereitstellen kann: mit einem separaten
|
||||
<quote>Client Modus</quote>, 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 <acronym>USB</acronym>-Gerät
|
||||
wie einen Speicherstick an den Port anschließen, wechselt &os;
|
||||
in den Hostmodus. Wenn Sie einen <acronym>USB</acronym>-Host
|
||||
wie einen Computer anschließen, wechselt &os; in den
|
||||
Gerätemodus. <quote>Client Ports</quote> arbeiten immer
|
||||
im Gerätemodus.</para>
|
||||
|
||||
<para>Was &os; dem <acronym>USB</acronym>-Host präsentiert, hängt
|
||||
von der sysctl-Variable <varname>hw.usb.template</varname> 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.</para>
|
||||
|
||||
<para>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 <acronym>USB</acronym>-Bus auf eine
|
||||
systemspezifische Weise neu zu scannen. Wenn &os; auf dem Host
|
||||
läuft, kann &man.usbconfig.8; <command>reset</command>
|
||||
verwendet werden. Dies muss auch nach dem Laden von
|
||||
<filename>usb_template.ko</filename> geschehen, wenn der
|
||||
<acronym>USB</acronym>-Host bereits an der
|
||||
<acronym>USB OTG</acronym>-Buchse angeschlossen war.</para>
|
||||
|
||||
<para>Nachdem Sie dieses Kapitel gelesen haben, werden
|
||||
Sie wissen:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>wie man den USB Gerätemodus unter
|
||||
&os; einrichtet.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>wie man die virtuelle serielle Schnittstelle unter
|
||||
&os; konfiguriert.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>wie man sich mit der virtuellen seriellen Schnittstelle
|
||||
von verschiedenen Betriebssystemen aus verbindet.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="usb-device-mode-terminals">
|
||||
<title>Virtuelle serielle
|
||||
<acronym>USB</acronym>-Ports</title>
|
||||
|
||||
<sect2>
|
||||
<title>Konfiguration des <acronym>USB</acronym>-Gerätemodus für
|
||||
serielle Ports</title>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<para>Um die seriellen Ports im
|
||||
<acronym>USB</acronym>-Gerätemodus zu aktivieren, fügen Sie
|
||||
folgenden Zeilen in
|
||||
<filename>/etc/ttys</filename> hinzu:</para>
|
||||
|
||||
<programlisting>ttyU0 "/usr/libexec/getty 3wire" vt100 onifconsole secure
|
||||
ttyU1 "/usr/libexec/getty 3wire" vt100 onifconsole secure</programlisting>
|
||||
|
||||
<para>Danach fügen Sie folgende Zeilen in
|
||||
<filename>/etc/devd.conf</filename> hinzu:</para>
|
||||
|
||||
<programlisting>notify 100 {
|
||||
match "system" "DEVFS";
|
||||
match "subsystem" "CDEV";
|
||||
match "type" "CREATE";
|
||||
match "cdev" "ttyU[0-9]+";
|
||||
action "/sbin/init q";
|
||||
};</programlisting>
|
||||
|
||||
<para>Laden Sie die Konfiguration neu, falls &man.devd.8;
|
||||
bereits läuft:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service devd restart</userinput></screen>
|
||||
|
||||
<para>Stellen Sie sicher, dass die notwendigen Module geladen
|
||||
sind und die richtige Vorlage beim Booten gesetzt ist. Fügen
|
||||
Sie dazu folgende Zeilen in
|
||||
<filename>/boot/loader.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>umodem_load="YES"
|
||||
hw.usb.template=3</programlisting>
|
||||
|
||||
<para>Um das Modul zu laden und die Vorlage ohne Neustart zu
|
||||
aktivieren, verwenden Sie:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload umodem</userinput>
|
||||
&prompt.root; <userinput>sysctl hw.usb.template=3</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>&os; mit der seriellen Schnittstelle im
|
||||
<acronym>USB</acronym>-Gerätemodus verbinden</title>
|
||||
|
||||
<para>Um eine Verbindung zu einer Karte herzustellen, die so
|
||||
konfiguriert ist, dass sie serielle Ports im
|
||||
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
|
||||
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
|
||||
Laptop, an den <acronym>USB OTG</acronym>- oder
|
||||
<acronym>USB</acronym>-Client-Port der Karte an. Verwenden
|
||||
Sie <command>pstat -t</command> auf dem Host, um die
|
||||
Terminalzeilen aufzulisten. Am Ende der Liste sollten Sie
|
||||
einen seriellen <acronym>USB</acronym>-Anschluss sehen,
|
||||
zum Beispiel <quote>ttyU0</quote>. Um die Verbindung zu
|
||||
öffnen, benutzen Sie:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cu -l /dev/ttyU0</userinput></screen>
|
||||
|
||||
<para>Nach mehrmaligem Drücken der <keycap>Enter</keycap>-Taste
|
||||
erscheint ein Anmeldeprompt.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>macOS mit der seriellen Schnittstelle im
|
||||
<acronym>USB</acronym>-Gerätemodus verbinden</title>
|
||||
|
||||
<para>Um eine Verbindung zu einer Karte herzustellen, die so
|
||||
konfiguriert ist, dass sie serielle Ports im
|
||||
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
|
||||
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
|
||||
Laptop, an den <acronym>USB OTG</acronym>- oder
|
||||
<acronym>USB</acronym>-Client-Port der Karte an. Um die
|
||||
Verbindung zu öffnen, benutzen Sie:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cu -l /dev/cu.usbmodemFreeBSD1</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Linux mit der seriellen Schnittstelle im
|
||||
<acronym>USB</acronym>-Gerätemodus verbinden</title>
|
||||
|
||||
<para>Um eine Verbindung zu einer Karte herzustellen, die so
|
||||
konfiguriert ist, dass sie serielle Ports im
|
||||
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
|
||||
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
|
||||
Laptop, an den <acronym>USB OTG</acronym>- oder
|
||||
<acronym>USB</acronym>-Client-Port der Karte an. Um die
|
||||
Verbindung zu öffnen, benutzen Sie:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>minicom -D /dev/ttyACM0</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Windows 10 mit der seriellen Schnittstelle im
|
||||
<acronym>USB</acronym>-Gerätemodus verbinden</title>
|
||||
|
||||
<para>Um eine Verbindung zu einer Karte herzustellen, die so
|
||||
konfiguriert ist, dass sie serielle Ports im
|
||||
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
|
||||
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
|
||||
Laptop, an den <acronym>USB OTG</acronym>- oder
|
||||
<acronym>USB</acronym>-Client-Port der Karte an. Um die
|
||||
Verbindung zu öffnen, benötigen Sie ein Terminalprogramm mit
|
||||
Unterstützung für serielle Schnittstellen, zum Beispiel
|
||||
<application>PuTTY</application>. Um den von &windows;
|
||||
verwendeten COM-Port zu ermitteln, starten Sie den
|
||||
Geräte-Manager und erweitern Sie
|
||||
<quote>Ports (COM & LPT)</quote>. Dort sehen Sie einen
|
||||
Namen wie <quote>USB Serial Sevice (COM4)</quote>. Starten
|
||||
Sie das Terminalprogramm Ihrer Wahl, zum Beispiel
|
||||
<application>PuTTY</application>. Im Dialog von
|
||||
<application>PuTTY</application> setzen Sie den
|
||||
<quote>Connection type</quote> auf <quote>Serial</quote> und
|
||||
notieren im Feld <quote>Serial line</quote> den ermittelten
|
||||
COM-Namen. Danach klicken Sie auf <quote>Open</quote>.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="usb-device-mode-network">
|
||||
<title>Netzwerkkarten im
|
||||
<acronym>USB</acronym>-Gerätemodus</title>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<para>Stellen Sie sicher, dass die notwendigen Module geladen
|
||||
sind und die richtige Vorlage beim Booten gesetzt ist. Fügen
|
||||
Sie dazu folgende Zeilen in
|
||||
<filename>/boot/loader.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>if_cdce_load="YES"
|
||||
hw.usb.template=1</programlisting>
|
||||
|
||||
<para>Um das Modul zu laden und die Vorlage ohne Neustart zu
|
||||
aktivieren, verwenden Sie:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload if_cdce</userinput>
|
||||
&prompt.root; <userinput>sysctl hw.usb.template=1</userinput></screen>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="usb-device-mode-storage">
|
||||
<title>Virtuelle <acronym>USB</acronym>-Speichergeräte</title>
|
||||
|
||||
<note>
|
||||
<para>&man.cfumass.4; ist ein
|
||||
<acronym>USB</acronym>-Gerätetreiber, der seit
|
||||
&os; 12.0 verfügbar ist.</para>
|
||||
</note>
|
||||
|
||||
<para>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
|
||||
<acronym>iSCSI</acronym>- oder Fibre-Channel-Targets benutzt
|
||||
wird. Auf dem Host können Initiatioren von
|
||||
<acronym>USB</acronym>-Massenspeichern nur auf eine einzige
|
||||
<acronym>LUN</acronym>, <acronym>LUN</acronym> 0
|
||||
zugreifen.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Konfiguration von <acronym>USB</acronym>-Massenspeicher
|
||||
Targets mit dem cfumass-Startskript</title>
|
||||
|
||||
<para>Der einfachste Weg, ein schreibgeschütztes
|
||||
<acronym>USB</acronym>Speicherziel einzurichten, ist die
|
||||
Verwendung des <filename>cfumass</filename> rc-Skripts.
|
||||
Kopieren Sie einfach die Dateien, die dem
|
||||
<acronym>USB</acronym>-Host präsentiert werden sollen, in das
|
||||
Verzeichnis <filename>/var/cfumass</filename> und fügen Sie
|
||||
diese Zeile in <filename>/etc/rc.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>cfumass_enable="YES"</programlisting>
|
||||
|
||||
<para>Um das Ziel ohne Neustart zu konfigurieren, führen Sie
|
||||
diesen Befehl aus:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service cfumass start</userinput></screen>
|
||||
|
||||
<para>Im Gegensatz zur seriellen und Netzwerkfunktionalität
|
||||
sollte die Vorlage in <filename>/boot/loader.conf</filename>
|
||||
nicht auf 0 oder 10 gesetzt werden, da die
|
||||
<acronym>LUN</acronym> vor dem Setzen der Vorlage
|
||||
konfiguriert werden muss. Das <filename>cfumass</filename>
|
||||
rc-Skript setzt beim Start automatisch die richtige
|
||||
Vorlage.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title><acronym>USB</acronym>-Massenspeicher mit anderen
|
||||
Werkzeugen konfigurieren</title>
|
||||
|
||||
<para>Der Rest dieses Kapitels enthält eine detaillierte
|
||||
Beschreibung der Konfiguration ohne die Verwendung des
|
||||
<filename>cfumass</filename> rc-Skripts. Dies ist
|
||||
beispielsweise notwendig, wenn man eine beschreibbare
|
||||
<acronym>LUN</acronym> zur Verfügung stellen will.</para>
|
||||
|
||||
<para>Im Gegensatz zu <acronym>iSCSI</acronym> ist es bei
|
||||
<acronym>USB</acronym>-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 <filename>cfumass.ko</filename> geladen ist.
|
||||
Das Modul kann manuell geladen werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload cfumass</userinput></screen>
|
||||
|
||||
<para>Wenn <filename>cfumass</filename> nicht im Kernel
|
||||
integriert ist, kann <filename>/boot/loader.conf</filename>
|
||||
angepasst werden, damit das Modul beim Booten geladen
|
||||
wird:</para>
|
||||
|
||||
<programlisting>cfumass_load="YES"</programlisting>
|
||||
|
||||
<para>Eine <acronym>LUN</acronym> kann ohne den
|
||||
&man.ctld.8; Daemon erstellt werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>ctladm create -b block -o file=/data/target0</userinput></screen>
|
||||
|
||||
<para>Dies stellt den Inhalt des Abbilds von
|
||||
<filename>/data/target0</filename> als <acronym>LUN</acronym>
|
||||
auf dem <acronym>USB</acronym>-Host dar. Die Datei muss vor
|
||||
der Ausführung des Befehls vorhanden sein. Um die
|
||||
<acronym>LUN</acronym> beim Systemstart zu konfigurieren,
|
||||
muss das Kommando in <filename>/etc/rc.local</filename>
|
||||
eingetragen werden.</para>
|
||||
|
||||
<para>&man.ctld.8; kann auch benutzt werden, um
|
||||
<acronym>LUN</acronym>s zu verwalten. Dazu erstellen Sie eine
|
||||
<filename>/etc/ctl.conf</filename> und fügen eine Zeile in
|
||||
<filename>/etc/rc.conf</filename> hinzu, um sicherzustellen,
|
||||
dass &man.ctld.8; beim Booten automatisch gestartet wird.
|
||||
Danach kann der Daemon gestartet werden.</para>
|
||||
|
||||
<para>Es folgt ein Beispiel einer einfachen Konfiguration für
|
||||
<filename>/etc/ctl.conf</filename>. Eine ausführliche
|
||||
Beschreibung der Optionen finden Sie
|
||||
in &man.ctl.conf.5;.</para>
|
||||
|
||||
<programlisting>target naa.50015178f369f092 {
|
||||
lun 0 {
|
||||
path /data/target0
|
||||
size 4G
|
||||
}
|
||||
}</programlisting>
|
||||
|
||||
<para>Dieses Beispiel erstellt ein einzelnes Target
|
||||
mit einer einzigen <acronym>LUN</acronym>.
|
||||
<literal>naa.50015178f369f092</literal> ist eine
|
||||
Gerätekennung, die aus 32 zufälligen
|
||||
Hexadezimalziffern besteht.
|
||||
<literal>path</literal> definiert den absoluten Pfad zu einer
|
||||
Datei oder eines zvol, welches die
|
||||
<acronym>LUN</acronym> 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 <acronym>LUN</acronym>.</para>
|
||||
|
||||
<para>Damit der &man.ctld.8; Daemon beim Booten gestartet wird,
|
||||
muss diese Zeile in <filename>/etc/rc.conf</filename>
|
||||
hinzugefügt werden:</para>
|
||||
|
||||
<programlisting>ctld_enable="YES"</programlisting>
|
||||
|
||||
<para>Sie können &man.ctld.8; mit diesem Befehl direkt
|
||||
starten:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld start</userinput></screen>
|
||||
|
||||
<para>Der &man.ctld.8; Daemon liest beim Start
|
||||
<filename>/etc/ctl.conf</filename>. Wenn diese Datei nach dem
|
||||
Start des Daemons bearbeitet wird, müssen die Änderungen neu
|
||||
geladen werden, damit sie sofort wirksam werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
Loading…
Reference in a new issue