Updated version to 0.9.6 and Makefiles to bring the debug options back
[mirror/scst/.git] / qla2x00t / qla2x00-target / README
1 Target driver for Qlogic 2200/2300 Fibre Channel cards
2 ======================================================
3
4 Version 0.9.6, XX XXX 200X
5 --------------------------
6
7 This driver has all required features and looks to be quite stable (for
8 beta) and useful. It consists from two parts: the target mode driver
9 itself and the changed initiator driver from Linux kernel, which is,
10 particularly, intended to perform all the initialization and shutdown
11 tasks. This driver was changed to provide the target mode support and
12 all necessary callbacks, but it's still capable to work as initiator
13 only. Mode, when a host acts as the initiator and the target
14 simultaneously, is supported as well.
15
16 This version is compatible with SCST version 0.9.5 and higher.
17
18 Tested on stable kernels from http://www.kernel.org. The original
19 initiator driver was taken from kernel version 2.6.17.8, but it should
20 also work on other versions, including 2.6.18.x and 2.6.16.x.
21
22 See also "ToDo" file for list of known issues and unimplemented 
23 features.
24
25 Installation
26 ------------
27
28 At first, make sure that the link "/lib/modules/`you_kernel_version`/build" 
29 points to the source code for your currently running kernel.
30
31 Then you should replace (or link) by the initiator driver from this
32 package "qla2xxx" subdirectory in kernel_source/drivers/scsi/ of the
33 currently running kernel and using your favorite kernel configuration
34 tool enable in the QLogic QLA2XXX Fibre Channel driver target mode
35 support (CONFIG_SCSI_QLA2XXX_TARGET). Then rebuild the kernel and its
36 modules. During this step you will compile the initiator driver. To
37 install it, install the built kernel and its modules.
38
39 Then edit qla2x00-target/Makefile and set SCST_INC_DIR variable to point
40 to the directory, where SCST's public include files are located. If you
41 install QLA2x00 target driver's source code in the SCST's directory,
42 then SCST_INC_DIR will be set correctly for you.
43
44 Also you can set SCST_DIR variable to the directory, where SCST was
45 built, but this is optional. If you don't set it or set incorrectly,
46 during the compilation you will get a bunch of harmless warnings like
47 "WARNING: "scst_rx_data" [/XXX/qla2x00tgt.ko] undefined!"
48
49 To compile the target driver, type 'make' in qla2x00-target/
50 subdirectory. It will build qla2x00tgt.ko module.
51
52 To install the target driver, type 'make install' in qla2x00-target/
53 subdirectory. The target driver will be installed in
54 /lib/modules/`you_kernel_version`/extra. To uninstall it, type 'make
55 uninstall'.
56
57 After the drivers are loaded, the target mode should be enabled via a
58 sysfs interface on a per card basis. Under the appropriate scsi_host
59 there is an entry target_mode_enabled, where you should write "1", like:
60
61 echo "1" >/sys/class/scsi_host/host0/target_mode_enabled
62
63 Compilation options
64 -------------------
65
66 There are the following compilation options, that could be commented
67 in/out in Makefile:
68
69  - DEBUG_TGT - turns on some debugging code, including some logging. Makes
70    the driver considerably bigger and slower, producing large amount of
71    log data.
72
73  - TRACING - turns on ability to log events. Makes the driver considerably
74    bigger and lead to some performance loss.
75
76  - DEBUG_WORK_IN_THREAD - makes SCST process incoming commands and
77    call the driver's callbacks in SCST thread context instead of tasklet
78    one. Useful for debugging and lead to some performance loss.
79    
80 Credits
81 -------
82
83 Thanks to 
84
85  * Nathaniel Clark <nate@misrule.us> for porting to new 2.6 kernel
86 initiator driver.
87
88  * Mark Buechler <mark.buechler@gmail.com> for the original
89 WWN-based authentification, a lot of useful suggestions, bug reports and
90 help in debugging.
91
92  * Ming Zhang <mingz@ele.uri.edu> for his fixes.
93
94 Vladislav Bolkhovitin <vst@vlnb.net>, http://scst.sourceforge.net