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

