1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
<table class="head">
<tr>
<td class="head-ltitle">OCS_FC(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">OCS_FC(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">ocs_fc</code> — <span class="Nd">Device
driver for Emulex Fibre Channel Host Adapters</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, add this line to the
kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device ocs_fc</code></div>
<p class="Pp">To load the driver as a module at boot, add this line to
<a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ocs_fc_load="YES"</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">ocs_fc</code> driver provides access to Fibre
Channel SCSI devices.</p>
<p class="Pp">The <code class="Nm">ocs_fc</code> driver supports initiator and
target modes. Support is available for Arbitrated loops, Point-to-Point, and
Fabric connections. FC-Tape is highly recommended for connections to tape
drives that support it. FC-Tape includes four elements from the T-10 FCP-4
specification:</p>
<ul class="Bl-bullet Bd-indent">
<li>Precise Delivery of Commands</li>
<li>Confirmed Completion of FCP I/O Operations</li>
<li>Retransmission of Unsuccessfully Transmitted IUs</li>
<li>Task Retry Identification</li>
</ul>
<p class="Pp">Together these features allow for link level error recovery with
tape devices. Without link level error recovery, an initiator cannot, for
instance, tell whether a tape write command that has timed out resulted in
all, part, or none of the data going to the tape drive. FC-Tape is
automatically enabled when both the controller and target support it.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
<p class="Pp">The <code class="Nm">ocs_fc</code> driver supports these Fibre
Channel adapters:</p>
<div class="Bd-indent">
<dl class="Bl-tag">
<dt>Emulex 16/8G FC GEN 5 HBAS</dt>
<dd>
<div class="Bd Pp Bd-indent Li">
<pre>LPe15004 FC Host Bus Adapters
LPe160XX FC Host Bus Adapters</pre>
</div>
</dd>
<dt>Emulex 32/16G FC GEN 6 HBAS</dt>
<dd>
<div class="Bd Pp Bd-indent Li">
<pre>LPe3100X FC Host Bus Adapters
LPe3200X FC Host Bus Adapters</pre>
</div>
</dd>
<dt>Emulex 64/32G FC GEN 7 HBAS</dt>
<dd>
<div class="Bd Pp Bd-indent Li">
<pre>LPe3500X FC Host Bus Adapters</pre>
</div>
</dd>
</dl>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="UPDATING_FIRMWARE"><a class="permalink" href="#UPDATING_FIRMWARE">UPDATING
FIRMWARE</a></h1>
<p class="Pp">Adapter firmware updates are persistent.</p>
<p class="Pp">Firmware can be updated by following these steps:</p>
<ol class="Bl-enum">
<li>Copy this code to a <span class="Pa">Makefile</span>:
<div class="Bd Pp Bd-indent Li">
<pre>KMOD=ocsflash
FIRMWS=imagename.grp:ocsflash
.include <bsd.kmod.mk></pre>
</div>
</li>
<li>Replace <span class="Pa">imagename</span> with the name of the GRP
file.</li>
<li>Copy the <span class="Pa">Makefile</span> and GRP file to a local
directory</li>
<li>Execute <code class="Cm">make</code> and copy the generated
<span class="Pa">ocsflash.ko</span> file to
<span class="Pa">/lib/modules</span></li>
<li id="sysctl"><a class="permalink" href="#sysctl"><code class="Cm">sysctl
dev.ocs_fc.<N>.fw_upgrade=ocsflash</code></a></li>
<li>Check kernel messages regarding status of the operation</li>
<li>Reboot the machine</li>
</ol>
</section>
<section class="Sh">
<h1 class="Sh" id="BOOT_OPTIONS"><a class="permalink" href="#BOOT_OPTIONS">BOOT
OPTIONS</a></h1>
<p class="Pp">Options are controlled by setting values in
<span class="Pa">/boot/device.hints</span>.</p>
<p class="Pp">They are:</p>
<dl class="Bl-tag">
<dt id="hint.ocs_fc.N.initiator"><var class="Va">hint.ocs_fc.N.initiator</var></dt>
<dd>Enable initiator functionality. Default 1 (enabled), 0 to disable.</dd>
<dt id="hint.ocs_fc.N.target"><var class="Va">hint.ocs_fc.N.target</var></dt>
<dd>Enable target functionality. Default 1 (enabled), 0 to disable.</dd>
<dt id="hint.ocs_fc.N.topology"><var class="Va">hint.ocs_fc.N.topology</var></dt>
<dd>Topology: 0 for Auto, 1 for NPort only, 2 for Loop only.</dd>
<dt id="hint.ocs_fc.N.speed"><var class="Va">hint.ocs_fc.N.speed</var></dt>
<dd>Link speed in megabits per second. Possible values include: 0 Auto-speed
negotiation (default), 4000 (4GFC), 8000 (8GFC), 16000 (16GFC).</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_OPTIONS"><a class="permalink" href="#SYSCTL_OPTIONS">SYSCTL
OPTIONS</a></h1>
<dl class="Bl-tag">
<dt id="dev.ocs_fc.N.port_state"><var class="Va">dev.ocs_fc.N.port_state</var></dt>
<dd>Port state (read/write). Valid values are <code class="Li">online</code>
and <code class="Li">offline</code>.</dd>
<dt id="dev.ocs_fc.N.wwpn"><var class="Va">dev.ocs_fc.N.wwpn</var></dt>
<dd>World Wide Port Name (read/write).</dd>
<dt id="dev.ocs_fc.N.wwnn"><var class="Va">dev.ocs_fc.N.wwnn</var></dt>
<dd>World Wide Node Name (read/write).</dd>
<dt id="dev.ocs_fc.N.fwrev"><var class="Va">dev.ocs_fc.N.fwrev</var></dt>
<dd>Firmware revision (read-only).</dd>
<dt id="dev.ocs_fc.N.sn"><var class="Va">dev.ocs_fc.N.sn</var></dt>
<dd>Adapter serial number (read-only).</dd>
<dt id="dev.ocs_fc.N.configured_speed"><var class="Va">dev.ocs_fc.N.configured_speed</var></dt>
<dd>Configured Port Speed (read/write). Valid values are: 0 Auto-speed
negotiation (default), 4000 (4GFC), 8000 (8GFC), 16000 (16GFC).</dd>
<dt id="dev.ocs_fc.N.configured_topology"><var class="Va">dev.ocs_fc.N.configured_topology</var></dt>
<dd>Configured Port Topology (read/write). Valid values are: 0-Auto; 1-NPort;
2-Loop.</dd>
<dt id="dev.ocs_fc.N.current_speed"><var class="Va">dev.ocs_fc.N.current_speed</var></dt>
<dd>Current Port Speed (read-only).</dd>
<dt id="dev.ocs_fc.N.current_topology"><var class="Va">dev.ocs_fc.N.current_topology</var></dt>
<dd>Current Port Topology (read-only).</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SUPPORT"><a class="permalink" href="#SUPPORT">SUPPORT</a></h1>
<p class="Pp">For general information and support, go to the Broadcom website
at: <span class="Pa">http://www.broadcom.com/</span> or E-Mail at
<span class="Pa">ocs-driver-team.pdl@broadcom.com</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">ifconfig(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">ocs_fc</code> driver was written by
<span class="An">Broadcom</span>.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">December 29, 2021</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|