Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | This driver is for Compaq's SMART Array Controllers. |
2 | ||
3 | Supported Cards: | |
4 | ---------------- | |
5 | ||
6 | This driver is known to work with the following cards: | |
7 | ||
8 | * SA 5300 | |
9 | * SA 5i | |
10 | * SA 532 | |
11 | * SA 5312 | |
12 | * SA 641 | |
13 | * SA 642 | |
14 | * SA 6400 | |
15 | * SA 6400 U320 Expansion Module | |
16 | * SA 6i | |
17 | * SA P600 | |
18 | * SA P800 | |
19 | * SA E400 | |
3de0a70b | 20 | * SA E300 |
1da177e4 LT |
21 | |
22 | If nodes are not already created in the /dev/cciss directory, run as root: | |
23 | ||
24 | # cd /dev | |
25 | # ./MAKEDEV cciss | |
26 | ||
27 | Device Naming: | |
28 | -------------- | |
29 | ||
30 | You need some entries in /dev for the cciss device. The MAKEDEV script | |
31 | can make device nodes for you automatically. Currently the device setup | |
32 | is as follows: | |
33 | ||
34 | Major numbers: | |
35 | 104 cciss0 | |
36 | 105 cciss1 | |
37 | 106 cciss2 | |
38 | 105 cciss3 | |
39 | 108 cciss4 | |
40 | 109 cciss5 | |
41 | 110 cciss6 | |
42 | 111 cciss7 | |
43 | ||
44 | Minor numbers: | |
45 | b7 b6 b5 b4 b3 b2 b1 b0 | |
46 | |----+----| |----+----| | |
47 | | | | |
48 | | +-------- Partition ID (0=wholedev, 1-15 partition) | |
49 | | | |
50 | +-------------------- Logical Volume number | |
51 | ||
52 | The device naming scheme is: | |
53 | /dev/cciss/c0d0 Controller 0, disk 0, whole device | |
54 | /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1 | |
55 | /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2 | |
56 | /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3 | |
57 | ||
58 | /dev/cciss/c1d1 Controller 1, disk 1, whole device | |
59 | /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1 | |
60 | /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2 | |
61 | /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3 | |
62 | ||
63 | SCSI tape drive and medium changer support | |
64 | ------------------------------------------ | |
65 | ||
66 | SCSI sequential access devices and medium changer devices are supported and | |
67 | appropriate device nodes are automatically created. (e.g. | |
68 | /dev/st0, /dev/st1, etc. See the "st" man page for more details.) | |
69 | You must enable "SCSI tape drive support for Smart Array 5xxx" and | |
70 | "SCSI support" in your kernel configuration to be able to use SCSI | |
71 | tape drives with your Smart Array 5xxx controller. | |
72 | ||
73 | Additionally, note that the driver will not engage the SCSI core at init | |
74 | time. The driver must be directed to dynamically engage the SCSI core via | |
75 | the /proc filesystem entry which the "block" side of the driver creates as | |
76 | /proc/driver/cciss/cciss* at runtime. This is because at driver init time, | |
77 | the SCSI core may not yet be initialized (because the driver is a block | |
78 | driver) and attempting to register it with the SCSI core in such a case | |
79 | would cause a hang. This is best done via an initialization script | |
80 | (typically in /etc/init.d, but could vary depending on distibution). | |
81 | For example: | |
82 | ||
83 | for x in /proc/driver/cciss/cciss[0-9]* | |
84 | do | |
85 | echo "engage scsi" > $x | |
86 | done | |
87 | ||
88 | Once the SCSI core is engaged by the driver, it cannot be disengaged | |
89 | (except by unloading the driver, if it happens to be linked as a module.) | |
90 | ||
91 | Note also that if no sequential access devices or medium changers are | |
92 | detected, the SCSI core will not be engaged by the action of the above | |
93 | script. | |
94 | ||
95 | Hot plug support for SCSI tape drives | |
96 | ------------------------------------- | |
97 | ||
98 | Hot plugging of SCSI tape drives is supported, with some caveats. | |
99 | The cciss driver must be informed that changes to the SCSI bus | |
100 | have been made, in addition to and prior to informing the SCSI | |
101 | mid layer. This may be done via the /proc filesystem. For example: | |
102 | ||
103 | echo "rescan" > /proc/scsi/cciss0/1 | |
104 | ||
105 | This causes the adapter to query the adapter about changes to the | |
106 | physical SCSI buses and/or fibre channel arbitrated loop and the | |
107 | driver to make note of any new or removed sequential access devices | |
108 | or medium changers. The driver will output messages indicating what | |
109 | devices have been added or removed and the controller, bus, target and | |
110 | lun used to address the device. Once this is done, the SCSI mid layer | |
111 | can be informed of changes to the virtual SCSI bus which the driver | |
112 | presents to it in the usual way. For example: | |
113 | ||
114 | echo scsi add-single-device 3 2 1 0 > /proc/scsi/scsi | |
115 | ||
116 | to add a device on controller 3, bus 2, target 1, lun 0. Note that | |
117 | the driver makes an effort to preserve the devices positions | |
118 | in the virtual SCSI bus, so if you are only moving tape drives | |
119 | around on the same adapter and not adding or removing tape drives | |
120 | from the adapter, informing the SCSI mid layer may not be necessary. | |
121 | ||
122 | Note that the naming convention of the /proc filesystem entries | |
123 | contains a number in addition to the driver name. (E.g. "cciss0" | |
124 | instead of just "cciss" which you might expect.) | |
125 | ||
126 | Note: ONLY sequential access devices and medium changers are presented | |
127 | as SCSI devices to the SCSI mid layer by the cciss driver. Specifically, | |
128 | physical SCSI disk drives are NOT presented to the SCSI mid layer. The | |
129 | physical SCSI disk drives are controlled directly by the array controller | |
130 | hardware and it is important to prevent the kernel from attempting to directly | |
131 | access these devices too, as if the array controller were merely a SCSI | |
132 | controller in the same way that we are allowing it to access SCSI tape drives. | |
133 |