1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 ============================================== 3 ========================================================= 4 BusLogic MultiMaster and FlashPoint SCSI Drive 4 BusLogic MultiMaster and FlashPoint SCSI Driver for Linux 5 ============================================== 5 ========================================================= 6 6 7 Version 2.0.15 for Li 7 Version 2.0.15 for Linux 2.0 8 8 9 Version 2.1.15 for Li 9 Version 2.1.15 for Linux 2.1 10 10 11 PRODUCTION RELEA 11 PRODUCTION RELEASE 12 12 13 17 August 1998 13 17 August 1998 14 14 15 Leonard N. Zubk 15 Leonard N. Zubkoff 16 16 17 Dandelion Digit 17 Dandelion Digital 18 18 19 lnz@dandelion.c 19 lnz@dandelion.com 20 20 21 Copyright 1995-1998 by Leonard N. Zub< 21 Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com> 22 22 23 23 24 Introduction 24 Introduction 25 ============ 25 ============ 26 26 27 BusLogic, Inc. designed and manufactured a var 27 BusLogic, Inc. designed and manufactured a variety of high performance SCSI 28 host adapters which share a common programming 28 host adapters which share a common programming interface across a diverse 29 collection of bus architectures by virtue of t 29 collection of bus architectures by virtue of their MultiMaster ASIC technology. 30 BusLogic was acquired by Mylex Corporation in 30 BusLogic was acquired by Mylex Corporation in February 1996, but the products 31 supported by this driver originated under the 31 supported by this driver originated under the BusLogic name and so that name is 32 retained in the source code and documentation. 32 retained in the source code and documentation. 33 33 34 This driver supports all present BusLogic Mult 34 This driver supports all present BusLogic MultiMaster Host Adapters, and should 35 support any future MultiMaster designs with li 35 support any future MultiMaster designs with little or no modification. More 36 recently, BusLogic introduced the FlashPoint H 36 recently, BusLogic introduced the FlashPoint Host Adapters, which are less 37 costly and rely on the host CPU, rather than i 37 costly and rely on the host CPU, rather than including an onboard processor. 38 Despite not having an onboard CPU, the FlashPo 38 Despite not having an onboard CPU, the FlashPoint Host Adapters perform very 39 well and have very low command latency. BusLo 39 well and have very low command latency. BusLogic has recently provided me with 40 the FlashPoint Driver Developer's Kit, which c 40 the FlashPoint Driver Developer's Kit, which comprises documentation and freely 41 redistributable source code for the FlashPoint 41 redistributable source code for the FlashPoint SCCB Manager. The SCCB Manager 42 is the library of code that runs on the host C 42 is the library of code that runs on the host CPU and performs functions 43 analogous to the firmware on the MultiMaster H 43 analogous to the firmware on the MultiMaster Host Adapters. Thanks to their 44 having provided the SCCB Manager, this driver 44 having provided the SCCB Manager, this driver now supports the FlashPoint Host 45 Adapters as well. 45 Adapters as well. 46 46 47 My primary goals in writing this completely ne 47 My primary goals in writing this completely new BusLogic driver for Linux are 48 to achieve the full performance that BusLogic 48 to achieve the full performance that BusLogic SCSI Host Adapters and modern 49 SCSI peripherals are capable of, and to provid 49 SCSI peripherals are capable of, and to provide a highly robust driver that can 50 be depended upon for high performance mission 50 be depended upon for high performance mission critical applications. All of 51 the major performance features can be configur 51 the major performance features can be configured from the Linux kernel command 52 line or at module initialization time, allowin 52 line or at module initialization time, allowing individual installations to 53 tune driver performance and error recovery to 53 tune driver performance and error recovery to their particular needs. 54 54 55 The latest information on Linux support for Bu 55 The latest information on Linux support for BusLogic SCSI Host Adapters, as 56 well as the most recent release of this driver 56 well as the most recent release of this driver and the latest firmware for the 57 BT-948/958/958D, will always be available from 57 BT-948/958/958D, will always be available from my Linux Home Page at URL 58 "http://sourceforge.net/projects/dandelion/". 58 "http://sourceforge.net/projects/dandelion/". 59 59 60 Bug reports should be sent via electronic mail 60 Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please 61 include with the bug report the complete confi 61 include with the bug report the complete configuration messages reported by the 62 driver and SCSI subsystem at startup, along wi 62 driver and SCSI subsystem at startup, along with any subsequent system messages 63 relevant to SCSI operations, and a detailed de 63 relevant to SCSI operations, and a detailed description of your system's 64 hardware configuration. 64 hardware configuration. 65 65 66 Mylex has been an excellent company to work wi 66 Mylex has been an excellent company to work with and I highly recommend their 67 products to the Linux community. In November 67 products to the Linux community. In November 1995, I was offered the 68 opportunity to become a beta test site for the 68 opportunity to become a beta test site for their latest MultiMaster product, 69 the BT-948 PCI Ultra SCSI Host Adapter, and th 69 the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide 70 Ultra SCSI Host Adapter in January 1996. This 70 Ultra SCSI Host Adapter in January 1996. This was mutually beneficial since 71 Mylex received a degree and kind of testing th 71 Mylex received a degree and kind of testing that their own testing group cannot 72 readily achieve, and the Linux community has a 72 readily achieve, and the Linux community has available high performance host 73 adapters that have been well tested with Linux 73 adapters that have been well tested with Linux even before being brought to 74 market. This relationship has also given me t 74 market. This relationship has also given me the opportunity to interact 75 directly with their technical staff, to unders 75 directly with their technical staff, to understand more about the internal 76 workings of their products, and in turn to edu 76 workings of their products, and in turn to educate them about the needs and 77 potential of the Linux community. 77 potential of the Linux community. 78 78 79 More recently, Mylex has reaffirmed the compan 79 More recently, Mylex has reaffirmed the company's interest in supporting the 80 Linux community, and I am now working on a Lin 80 Linux community, and I am now working on a Linux driver for the DAC960 PCI RAID 81 Controllers. Mylex's interest and support is 81 Controllers. Mylex's interest and support is greatly appreciated. 82 82 83 Unlike some other vendors, if you contact Myle 83 Unlike some other vendors, if you contact Mylex Technical Support with a 84 problem and are running Linux, they will not t 84 problem and are running Linux, they will not tell you that your use of their 85 products is unsupported. Their latest product 85 products is unsupported. Their latest product marketing literature even states 86 "Mylex SCSI host adapters are compatible with 86 "Mylex SCSI host adapters are compatible with all major operating systems 87 including: ... Linux ...". 87 including: ... Linux ...". 88 88 89 Mylex Corporation is located at 34551 Ardenwoo 89 Mylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California 90 94555, USA and can be reached at 510/796-6100 90 94555, USA and can be reached at 510/796-6100 or on the World Wide Web at 91 http://www.mylex.com. Mylex HBA Technical Sup 91 http://www.mylex.com. Mylex HBA Technical Support can be reached by electronic 92 mail at techsup@mylex.com, by Voice at 510/608 92 mail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715. 93 Contact information for offices in Europe and 93 Contact information for offices in Europe and Japan is available on the Web 94 site. 94 site. 95 95 96 96 97 Driver Features 97 Driver Features 98 =============== 98 =============== 99 99 100 Configuration Reporting and Testing 100 Configuration Reporting and Testing 101 ----------------------------------- 101 ----------------------------------- 102 102 103 During system initialization, the driver rep 103 During system initialization, the driver reports extensively on the host 104 adapter hardware configuration, including th 104 adapter hardware configuration, including the synchronous transfer parameters 105 requested and negotiated with each target de 105 requested and negotiated with each target device. AutoSCSI settings for 106 Synchronous Negotiation, Wide Negotiation, a 106 Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are 107 reported for each target device, as well as 107 reported for each target device, as well as the status of Tagged Queuing. 108 If the same setting is in effect for all tar 108 If the same setting is in effect for all target devices, then a single word 109 or phrase is used; otherwise, a letter is pr 109 or phrase is used; otherwise, a letter is provided for each target device to 110 indicate the individual status. The followi 110 indicate the individual status. The following examples 111 should clarify this reporting format: 111 should clarify this reporting format: 112 112 113 Synchronous Negotiation: Ultra 113 Synchronous Negotiation: Ultra 114 114 115 Synchronous negotiation is enabled for a 115 Synchronous negotiation is enabled for all target devices and the host 116 adapter will attempt to negotiate for 20 116 adapter will attempt to negotiate for 20.0 mega-transfers/second. 117 117 118 Synchronous Negotiation: Fast 118 Synchronous Negotiation: Fast 119 119 120 Synchronous negotiation is enabled for a 120 Synchronous negotiation is enabled for all target devices and the host 121 adapter will attempt to negotiate for 10 121 adapter will attempt to negotiate for 10.0 mega-transfers/second. 122 122 123 Synchronous Negotiation: Slow 123 Synchronous Negotiation: Slow 124 124 125 Synchronous negotiation is enabled for a 125 Synchronous negotiation is enabled for all target devices and the host 126 adapter will attempt to negotiate for 5. 126 adapter will attempt to negotiate for 5.0 mega-transfers/second. 127 127 128 Synchronous Negotiation: Disabled 128 Synchronous Negotiation: Disabled 129 129 130 Synchronous negotiation is disabled and 130 Synchronous negotiation is disabled and all target devices are limited to 131 asynchronous operation. 131 asynchronous operation. 132 132 133 Synchronous Negotiation: UFSNUUU#UUUUUUUU 133 Synchronous Negotiation: UFSNUUU#UUUUUUUU 134 134 135 Synchronous negotiation to Ultra speed i 135 Synchronous negotiation to Ultra speed is enabled for target devices 0 136 and 4 through 15, to Fast speed for targ 136 and 4 through 15, to Fast speed for target device 1, to Slow speed for 137 target device 2, and is not permitted to 137 target device 2, and is not permitted to target device 3. The host 138 adapter's SCSI ID is represented by the 138 adapter's SCSI ID is represented by the "#". 139 139 140 The status of Wide Negotiation, Disconnect 140 The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing 141 are reported as "Enabled", Disabled", or a 141 are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters. 142 142 143 Performance Features 143 Performance Features 144 -------------------- 144 -------------------- 145 145 146 BusLogic SCSI Host Adapters directly impleme 146 BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so 147 support has been included in the driver to u 147 support has been included in the driver to utilize tagged queuing with any 148 target devices that report having the tagged 148 target devices that report having the tagged queuing capability. Tagged 149 queuing allows for multiple outstanding comm 149 queuing allows for multiple outstanding commands to be issued to each target 150 device or logical unit, and can improve I/O 150 device or logical unit, and can improve I/O performance substantially. In 151 addition, BusLogic's Strict Round Robin Mode 151 addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter 152 performance, and scatter/gather I/O can supp 152 performance, and scatter/gather I/O can support as many segments as can be 153 effectively utilized by the Linux I/O subsys 153 effectively utilized by the Linux I/O subsystem. Control over the use of 154 tagged queuing for each target device as wel 154 tagged queuing for each target device as well as individual selection of the 155 tagged queue depth is available through driv 155 tagged queue depth is available through driver options provided on the kernel 156 command line or at module initialization tim 156 command line or at module initialization time. By default, the queue depth 157 is determined automatically based on the hos 157 is determined automatically based on the host adapter's total queue depth and 158 the number, type, speed, and capabilities of 158 the number, type, speed, and capabilities of the target devices found. In 159 addition, tagged queuing is automatically di 159 addition, tagged queuing is automatically disabled whenever the host adapter 160 firmware version is known not to implement i 160 firmware version is known not to implement it correctly, or whenever a tagged 161 queue depth of 1 is selected. Tagged queuin 161 queue depth of 1 is selected. Tagged queuing is also disabled for individual 162 target devices if disconnect/reconnect is di 162 target devices if disconnect/reconnect is disabled for that device. 163 163 164 Robustness Features 164 Robustness Features 165 ------------------- 165 ------------------- 166 166 167 The driver implements extensive error recove 167 The driver implements extensive error recovery procedures. When the higher 168 level parts of the SCSI subsystem request th 168 level parts of the SCSI subsystem request that a timed out command be reset, 169 a selection is made between a full host adap 169 a selection is made between a full host adapter hard reset and SCSI bus reset 170 versus sending a bus device reset message to 170 versus sending a bus device reset message to the individual target device 171 based on the recommendation of the SCSI subs 171 based on the recommendation of the SCSI subsystem. Error recovery strategies 172 are selectable through driver options indivi 172 are selectable through driver options individually for each target device, 173 and also include sending a bus device reset 173 and also include sending a bus device reset to the specific target device 174 associated with the command being reset, as 174 associated with the command being reset, as well as suppressing error 175 recovery entirely to avoid perturbing an imp 175 recovery entirely to avoid perturbing an improperly functioning device. If 176 the bus device reset error recovery strategy 176 the bus device reset error recovery strategy is selected and sending a bus 177 device reset does not restore correct operat 177 device reset does not restore correct operation, the next command that is 178 reset will force a full host adapter hard re 178 reset will force a full host adapter hard reset and SCSI bus reset. SCSI bus 179 resets caused by other devices and detected 179 resets caused by other devices and detected by the host adapter are also 180 handled by issuing a soft reset to the host 180 handled by issuing a soft reset to the host adapter and re-initialization. 181 Finally, if tagged queuing is active and mor 181 Finally, if tagged queuing is active and more than one command reset occurs 182 in a 10 minute interval, or if a command res 182 in a 10 minute interval, or if a command reset occurs within the first 10 183 minutes of operation, then tagged queuing wi 183 minutes of operation, then tagged queuing will be disabled for that target 184 device. These error recovery options improv 184 device. These error recovery options improve overall system robustness by 185 preventing individual errant devices from ca 185 preventing individual errant devices from causing the system as a whole to 186 lock up or crash, and thereby allowing a cle 186 lock up or crash, and thereby allowing a clean shutdown and restart after the 187 offending component is removed. 187 offending component is removed. 188 188 189 PCI Configuration Support 189 PCI Configuration Support 190 ------------------------- 190 ------------------------- 191 191 192 On PCI systems running kernels compiled with 192 On PCI systems running kernels compiled with PCI BIOS support enabled, this 193 driver will interrogate the PCI configuratio 193 driver will interrogate the PCI configuration space and use the I/O port 194 addresses assigned by the system BIOS, rathe 194 addresses assigned by the system BIOS, rather than the ISA compatible I/O 195 port addresses. The ISA compatible I/O port 195 port addresses. The ISA compatible I/O port address is then disabled by the 196 driver. On PCI systems it is also recommend 196 driver. On PCI systems it is also recommended that the AutoSCSI utility be 197 used to disable the ISA compatible I/O port 197 used to disable the ISA compatible I/O port entirely as it is not necessary. 198 The ISA compatible I/O port is disabled by d 198 The ISA compatible I/O port is disabled by default on the BT-948/958/958D. 199 199 200 /proc File System Support 200 /proc File System Support 201 ------------------------- 201 ------------------------- 202 202 203 Copies of the host adapter configuration inf 203 Copies of the host adapter configuration information together with updated 204 data transfer and error recovery statistics 204 data transfer and error recovery statistics are available through the 205 /proc/scsi/BusLogic/<N> interface. 205 /proc/scsi/BusLogic/<N> interface. 206 206 207 Shared Interrupts Support 207 Shared Interrupts Support 208 ------------------------- 208 ------------------------- 209 209 210 On systems that support shared interrupts, a 210 On systems that support shared interrupts, any number of BusLogic Host 211 Adapters may share the same interrupt reques 211 Adapters may share the same interrupt request channel. 212 212 213 213 214 Supported Host Adapters 214 Supported Host Adapters 215 ======================= 215 ======================= 216 216 217 The following list comprises the supported Bus 217 The following list comprises the supported BusLogic SCSI Host Adapters as of 218 the date of this document. It is recommended 218 the date of this document. It is recommended that anyone purchasing a BusLogic 219 Host Adapter not in the following table contac 219 Host Adapter not in the following table contact the author beforehand to verify 220 that it is or will be supported. 220 that it is or will be supported. 221 221 222 FlashPoint Series PCI Host Adapters: 222 FlashPoint Series PCI Host Adapters: 223 223 224 ======================= ====================== 224 ======================= ============================================= 225 FlashPoint LT (BT-930) Ultra SCSI-3 225 FlashPoint LT (BT-930) Ultra SCSI-3 226 FlashPoint LT (BT-930R) Ultra SCSI-3 with RAID 226 FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus 227 FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 w 227 FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS) 228 FlashPoint DL (BT-932) Dual Channel Ultra SCS 228 FlashPoint DL (BT-932) Dual Channel Ultra SCSI-3 229 FlashPoint DL (BT-932R) Dual Channel Ultra SCS 229 FlashPoint DL (BT-932R) Dual Channel Ultra SCSI-3 with RAIDPlus 230 FlashPoint LW (BT-950) Wide Ultra SCSI-3 230 FlashPoint LW (BT-950) Wide Ultra SCSI-3 231 FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with 231 FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus 232 FlashPoint DW (BT-952) Dual Channel Wide Ultr 232 FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3 233 FlashPoint DW (BT-952R) Dual Channel Wide Ultr 233 FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus 234 ======================= ====================== 234 ======================= ============================================= 235 235 236 MultiMaster "W" Series Host Adapters: 236 MultiMaster "W" Series Host Adapters: 237 237 238 ======= === ====================== 238 ======= === ============================== 239 BT-948 PCI Ultra SCSI-3 239 BT-948 PCI Ultra SCSI-3 240 BT-958 PCI Wide Ultra SCSI-3 240 BT-958 PCI Wide Ultra SCSI-3 241 BT-958D PCI Wide Differential Ultr 241 BT-958D PCI Wide Differential Ultra SCSI-3 242 ======= === ====================== 242 ======= === ============================== 243 243 244 MultiMaster "C" Series Host Adapters: 244 MultiMaster "C" Series Host Adapters: 245 245 246 ======== ==== ====================== 246 ======== ==== ============================== 247 BT-946C PCI Fast SCSI-2 247 BT-946C PCI Fast SCSI-2 248 BT-956C PCI Wide Fast SCSI-2 248 BT-956C PCI Wide Fast SCSI-2 249 BT-956CD PCI Wide Differential Fast 249 BT-956CD PCI Wide Differential Fast SCSI-2 250 BT-445C VLB Fast SCSI-2 250 BT-445C VLB Fast SCSI-2 251 BT-747C EISA Fast SCSI-2 251 BT-747C EISA Fast SCSI-2 252 BT-757C EISA Wide Fast SCSI-2 252 BT-757C EISA Wide Fast SCSI-2 253 BT-757CD EISA Wide Differential Fast 253 BT-757CD EISA Wide Differential Fast SCSI-2 >> 254 BT-545C ISA Fast SCSI-2 >> 255 BT-540CF ISA Fast SCSI-2 254 ======== ==== ====================== 256 ======== ==== ============================== 255 257 256 MultiMaster "S" Series Host Adapters: 258 MultiMaster "S" Series Host Adapters: 257 259 258 ======= ==== ====================== 260 ======= ==== ============================== 259 BT-445S VLB Fast SCSI-2 261 BT-445S VLB Fast SCSI-2 260 BT-747S EISA Fast SCSI-2 262 BT-747S EISA Fast SCSI-2 261 BT-747D EISA Differential Fast SCSI 263 BT-747D EISA Differential Fast SCSI-2 262 BT-757S EISA Wide Fast SCSI-2 264 BT-757S EISA Wide Fast SCSI-2 263 BT-757D EISA Wide Differential Fast 265 BT-757D EISA Wide Differential Fast SCSI-2 >> 266 BT-545S ISA Fast SCSI-2 >> 267 BT-542D ISA Differential Fast SCSI-2 264 BT-742A EISA SCSI-2 (742A revision 268 BT-742A EISA SCSI-2 (742A revision H) >> 269 BT-542B ISA SCSI-2 (542B revision H) 265 ======= ==== ====================== 270 ======= ==== ============================== 266 271 267 MultiMaster "A" Series Host Adapters: 272 MultiMaster "A" Series Host Adapters: 268 273 269 ======= ==== ====================== 274 ======= ==== ============================== 270 BT-742A EISA SCSI-2 (742A revisions 275 BT-742A EISA SCSI-2 (742A revisions A - G) >> 276 BT-542B ISA SCSI-2 (542B revisions A - G) 271 ======= ==== ====================== 277 ======= ==== ============================== 272 278 273 AMI FastDisk Host Adapters that are true BusLo 279 AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also 274 supported by this driver. 280 supported by this driver. 275 281 276 BusLogic SCSI Host Adapters are available pack 282 BusLogic SCSI Host Adapters are available packaged both as bare boards and as 277 retail kits. The BT- model numbers above refe 283 retail kits. The BT- model numbers above refer to the bare board packaging. 278 The retail kit model numbers are found by repl 284 The retail kit model numbers are found by replacing BT- with KT- in the above 279 list. The retail kit includes the bare board 285 list. The retail kit includes the bare board and manual as well as cabling and 280 driver media and documentation that are not pr 286 driver media and documentation that are not provided with bare boards. 281 287 282 288 283 FlashPoint Installation Notes 289 FlashPoint Installation Notes 284 ============================= 290 ============================= 285 291 286 RAIDPlus Support 292 RAIDPlus Support 287 ---------------- 293 ---------------- 288 294 289 FlashPoint Host Adapters now include RAIDPlu 295 FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software 290 RAID. RAIDPlus is not supported on Linux, a 296 RAID. RAIDPlus is not supported on Linux, and there are no plans to support 291 it. The MD driver in Linux 2.0 provides for 297 it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and 292 striping (RAID-0), and support for mirroring 298 striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4), 293 and distributed parity (RAID-5) is available 299 and distributed parity (RAID-5) is available separately. The built-in Linux 294 RAID support is generally more flexible and 300 RAID support is generally more flexible and is expected to perform better 295 than RAIDPlus, so there is little impetus to 301 than RAIDPlus, so there is little impetus to include RAIDPlus support in the 296 BusLogic driver. 302 BusLogic driver. 297 303 298 Enabling UltraSCSI Transfers 304 Enabling UltraSCSI Transfers 299 ---------------------------- 305 ---------------------------- 300 306 301 FlashPoint Host Adapters ship with their con 307 FlashPoint Host Adapters ship with their configuration set to "Factory 302 Default" settings that are conservative and 308 Default" settings that are conservative and do not allow for UltraSCSI speed 303 to be negotiated. This results in fewer pro 309 to be negotiated. This results in fewer problems when these host adapters 304 are installed in systems with cabling or ter 310 are installed in systems with cabling or termination that is not sufficient 305 for UltraSCSI operation, or where existing S 311 for UltraSCSI operation, or where existing SCSI devices do not properly 306 respond to synchronous transfer negotiation 312 respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI 307 may be used to load "Optimum Performance" se 313 may be used to load "Optimum Performance" settings which allow UltraSCSI 308 speed to be negotiated with all devices, or 314 speed to be negotiated with all devices, or UltraSCSI speed can be enabled on 309 an individual basis. It is recommended that 315 an individual basis. It is recommended that SCAM be manually disabled after 310 the "Optimum Performance" settings are loade 316 the "Optimum Performance" settings are loaded. 311 317 312 318 313 BT-948/958/958D Installation Notes 319 BT-948/958/958D Installation Notes 314 ================================== 320 ================================== 315 321 316 The BT-948/958/958D PCI Ultra SCSI Host Adapte 322 The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may 317 require attention in some circumstances when i 323 require attention in some circumstances when installing Linux. 318 324 319 PCI I/O Port Assignments 325 PCI I/O Port Assignments 320 ------------------------ 326 ------------------------ 321 327 322 When configured to factory default settings, 328 When configured to factory default settings, the BT-948/958/958D will only 323 recognize the PCI I/O port assignments made 329 recognize the PCI I/O port assignments made by the motherboard's PCI BIOS. 324 The BT-948/958/958D will not respond to any 330 The BT-948/958/958D will not respond to any of the ISA compatible I/O ports 325 that previous BusLogic SCSI Host Adapters re 331 that previous BusLogic SCSI Host Adapters respond to. This driver supports 326 the PCI I/O port assignments, so this is the 332 the PCI I/O port assignments, so this is the preferred configuration. 327 However, if the obsolete BusLogic driver mus 333 However, if the obsolete BusLogic driver must be used for any reason, such as 328 a Linux distribution that does not yet use t 334 a Linux distribution that does not yet use this driver in its boot kernel, 329 BusLogic has provided an AutoSCSI configurat 335 BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA 330 compatible I/O port. 336 compatible I/O port. 331 337 332 To enable this backward compatibility option 338 To enable this backward compatibility option, invoke the AutoSCSI utility via 333 Ctrl-B at system startup and select "Adapter 339 Ctrl-B at system startup and select "Adapter Configuration", "View/Modify 334 Configuration", and then change the "ISA Com 340 Configuration", and then change the "ISA Compatible Port" setting from 335 "Disable" to "Primary" or "Alternate". Once 341 "Disable" to "Primary" or "Alternate". Once this driver has been installed, 336 the "ISA Compatible Port" option should be s 342 the "ISA Compatible Port" option should be set back to "Disable" to avoid 337 possible future I/O port conflicts. The old 343 possible future I/O port conflicts. The older BT-946C/956C/956CD also have 338 this configuration option, but the factory d 344 this configuration option, but the factory default setting is "Primary". 339 345 340 PCI Slot Scanning Order 346 PCI Slot Scanning Order 341 ----------------------- 347 ----------------------- 342 348 343 In systems with multiple BusLogic PCI Host A 349 In systems with multiple BusLogic PCI Host Adapters, the order in which the 344 PCI slots are scanned may appear reversed wi 350 PCI slots are scanned may appear reversed with the BT-948/958/958D as 345 compared to the BT-946C/956C/956CD. For boo 351 compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work 346 correctly, it is necessary that the host ada 352 correctly, it is necessary that the host adapter's BIOS and the kernel agree 347 on which disk is the boot device, which requ 353 on which disk is the boot device, which requires that they recognize the PCI 348 host adapters in the same order. The mother 354 host adapters in the same order. The motherboard's PCI BIOS provides a 349 standard way of enumerating the PCI host ada 355 standard way of enumerating the PCI host adapters, which is used by the Linux 350 kernel. Some PCI BIOS implementations enume 356 kernel. Some PCI BIOS implementations enumerate the PCI slots in order of 351 increasing bus number and device number, whi 357 increasing bus number and device number, while others do so in the opposite 352 direction. 358 direction. 353 359 354 Unfortunately, Microsoft decided that Window 360 Unfortunately, Microsoft decided that Windows 95 would always enumerate the 355 PCI slots in order of increasing bus number 361 PCI slots in order of increasing bus number and device number regardless of 356 the PCI BIOS enumeration, and requires that 362 the PCI BIOS enumeration, and requires that their scheme be supported by the 357 host adapter's BIOS to receive Windows 95 ce 363 host adapter's BIOS to receive Windows 95 certification. Therefore, the 358 factory default settings of the BT-948/958/9 364 factory default settings of the BT-948/958/958D enumerate the host adapters 359 by increasing bus number and device number. 365 by increasing bus number and device number. To disable this feature, invoke 360 the AutoSCSI utility via Ctrl-B at system st 366 the AutoSCSI utility via Ctrl-B at system startup and select "Adapter 361 Configuration", "View/Modify Configuration", 367 Configuration", "View/Modify Configuration", press Ctrl-F10, and then change 362 the "Use Bus And Device # For PCI Scanning S 368 the "Use Bus And Device # For PCI Scanning Seq." option to OFF. 363 369 364 This driver will interrogate the setting of 370 This driver will interrogate the setting of the PCI Scanning Sequence option 365 so as to recognize the host adapters in the 371 so as to recognize the host adapters in the same order as they are enumerated 366 by the host adapter's BIOS. 372 by the host adapter's BIOS. 367 373 368 Enabling UltraSCSI Transfers 374 Enabling UltraSCSI Transfers 369 ---------------------------- 375 ---------------------------- 370 376 371 The BT-948/958/958D ship with their configur 377 The BT-948/958/958D ship with their configuration set to "Factory Default" 372 settings that are conservative and do not al 378 settings that are conservative and do not allow for UltraSCSI speed to be 373 negotiated. This results in fewer problems 379 negotiated. This results in fewer problems when these host adapters are 374 installed in systems with cabling or termina 380 installed in systems with cabling or termination that is not sufficient for 375 UltraSCSI operation, or where existing SCSI 381 UltraSCSI operation, or where existing SCSI devices do not properly respond 376 to synchronous transfer negotiation for Ultr 382 to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be 377 used to load "Optimum Performance" settings 383 used to load "Optimum Performance" settings which allow UltraSCSI speed to be 378 negotiated with all devices, or UltraSCSI sp 384 negotiated with all devices, or UltraSCSI speed can be enabled on an 379 individual basis. It is recommended that SC 385 individual basis. It is recommended that SCAM be manually disabled after the 380 "Optimum Performance" settings are loaded. 386 "Optimum Performance" settings are loaded. 381 387 382 388 383 Driver Options 389 Driver Options 384 ============== 390 ============== 385 391 386 BusLogic Driver Options may be specified eithe 392 BusLogic Driver Options may be specified either via the Linux Kernel Command 387 Line or via the Loadable Kernel Module Install 393 Line or via the Loadable Kernel Module Installation Facility. Driver Options 388 for multiple host adapters may be specified ei 394 for multiple host adapters may be specified either by separating the option 389 strings by a semicolon, or by specifying multi 395 strings by a semicolon, or by specifying multiple "BusLogic=" strings on the 390 command line. Individual option specification 396 command line. Individual option specifications for a single host adapter are 391 separated by commas. The Probing and Debuggin 397 separated by commas. The Probing and Debugging Options apply to all host 392 adapters whereas the remaining options apply i 398 adapters whereas the remaining options apply individually only to the 393 selected host adapter. 399 selected host adapter. 394 400 395 The BusLogic Driver Probing Options comprise t 401 The BusLogic Driver Probing Options comprise the following: 396 402 >> 403 IO:<integer> >> 404 >> 405 The "IO:" option specifies an ISA I/O Address to be probed for a non-PCI >> 406 MultiMaster Host Adapter. If neither "IO:" nor "NoProbeISA" options are >> 407 specified, then the standard list of BusLogic MultiMaster ISA I/O Addresses >> 408 will be probed (0x330, 0x334, 0x230, 0x234, 0x130, and 0x134). Multiple >> 409 "IO:" options may be specified to precisely determine the I/O Addresses to >> 410 be probed, but the probe order will always follow the standard list. >> 411 397 NoProbe 412 NoProbe 398 413 399 The "NoProbe" option disables all probing an 414 The "NoProbe" option disables all probing and therefore no BusLogic Host 400 Adapters will be detected. 415 Adapters will be detected. 401 416 >> 417 NoProbeISA >> 418 >> 419 The "NoProbeISA" option disables probing of the standard BusLogic ISA I/O >> 420 Addresses and therefore only PCI MultiMaster and FlashPoint Host Adapters >> 421 will be detected. >> 422 402 NoProbePCI 423 NoProbePCI 403 424 404 The "NoProbePCI" options disables the interr 425 The "NoProbePCI" options disables the interrogation of PCI Configuration 405 Space and therefore only ISA Multimaster Hos 426 Space and therefore only ISA Multimaster Host Adapters will be detected, as 406 well as PCI Multimaster Host Adapters that h 427 well as PCI Multimaster Host Adapters that have their ISA Compatible I/O 407 Port set to "Primary" or "Alternate". 428 Port set to "Primary" or "Alternate". 408 429 409 NoSortPCI 430 NoSortPCI 410 431 411 The "NoSortPCI" option forces PCI MultiMaste 432 The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be 412 enumerated in the order provided by the PCI 433 enumerated in the order provided by the PCI BIOS, ignoring any setting of 413 the AutoSCSI "Use Bus And Device # For PCI S 434 the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option. 414 435 415 MultiMasterFirst 436 MultiMasterFirst 416 437 417 The "MultiMasterFirst" option forces MultiMa 438 The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed 418 before FlashPoint Host Adapters. By default 439 before FlashPoint Host Adapters. By default, if both FlashPoint and PCI 419 MultiMaster Host Adapters are present, this 440 MultiMaster Host Adapters are present, this driver will probe for 420 FlashPoint Host Adapters first unless the BI 441 FlashPoint Host Adapters first unless the BIOS primary disk is controlled 421 by the first PCI MultiMaster Host Adapter, i 442 by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host 422 Adapters will be probed first. 443 Adapters will be probed first. 423 444 424 FlashPointFirst 445 FlashPointFirst 425 446 426 The "FlashPointFirst" option forces FlashPoi 447 The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed 427 before MultiMaster Host Adapters. 448 before MultiMaster Host Adapters. 428 449 429 The BusLogic Driver Tagged Queuing Options all 450 The BusLogic Driver Tagged Queuing Options allow for explicitly specifying 430 the Queue Depth and whether Tagged Queuing is 451 the Queue Depth and whether Tagged Queuing is permitted for each Target 431 Device (assuming that the Target Device suppor 452 Device (assuming that the Target Device supports Tagged Queuing). The Queue 432 Depth is the number of SCSI Commands that are 453 Depth is the number of SCSI Commands that are allowed to be concurrently 433 presented for execution (either to the Host Ad 454 presented for execution (either to the Host Adapter or Target Device). Note 434 that explicitly enabling Tagged Queuing may le 455 that explicitly enabling Tagged Queuing may lead to problems; the option to 435 enable or disable Tagged Queuing is provided p 456 enable or disable Tagged Queuing is provided primarily to allow disabling 436 Tagged Queuing on Target Devices that do not i 457 Tagged Queuing on Target Devices that do not implement it correctly. The 437 following options are available: 458 following options are available: 438 459 439 QueueDepth:<integer> 460 QueueDepth:<integer> 440 461 441 The "QueueDepth:" or QD:" option specifies t 462 The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all 442 Target Devices that support Tagged Queuing, 463 Target Devices that support Tagged Queuing, as well as the maximum Queue 443 Depth for devices that do not support Tagged 464 Depth for devices that do not support Tagged Queuing. If no Queue Depth 444 option is provided, the Queue Depth will be 465 option is provided, the Queue Depth will be determined automatically based 445 on the Host Adapter's Total Queue Depth and 466 on the Host Adapter's Total Queue Depth and the number, type, speed, and 446 capabilities of the detected Target Devices. !! 467 capabilities of the detected Target Devices. For Host Adapters that >> 468 require ISA Bounce Buffers, the Queue Depth is automatically set by default >> 469 to BusLogic_TaggedQueueDepthBB or BusLogic_UntaggedQueueDepthBB to avoid >> 470 excessive preallocation of DMA Bounce Buffer memory. Target Devices that 447 do not support Tagged Queuing always have th 471 do not support Tagged Queuing always have their Queue Depth set to 448 BusLogic_UntaggedQueueDepth or BusLogic_Unta 472 BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a 449 lower Queue Depth option is provided. A Que 473 lower Queue Depth option is provided. A Queue Depth of 1 automatically 450 disables Tagged Queuing. 474 disables Tagged Queuing. 451 475 452 QueueDepth:[<integer>,<integer>...] 476 QueueDepth:[<integer>,<integer>...] 453 477 454 The "QueueDepth:[...]" or "QD:[...]" option 478 The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth 455 individually for each Target Device. If an 479 individually for each Target Device. If an <integer> is omitted, the 456 associated Target Device will have its Queue 480 associated Target Device will have its Queue Depth selected automatically. 457 481 458 TaggedQueuing:Default 482 TaggedQueuing:Default 459 483 460 The "TaggedQueuing:Default" or "TQ:Default" 484 The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing 461 based on the firmware version of the BusLogi 485 based on the firmware version of the BusLogic Host Adapter and based on 462 whether the Queue Depth allows queuing multi 486 whether the Queue Depth allows queuing multiple commands. 463 487 464 TaggedQueuing:Enable 488 TaggedQueuing:Enable 465 489 466 The "TaggedQueuing:Enable" or "TQ:Enable" op 490 The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for 467 all Target Devices on this Host Adapter, ove 491 all Target Devices on this Host Adapter, overriding any limitation that 468 would otherwise be imposed based on the Host 492 would otherwise be imposed based on the Host Adapter firmware version. 469 493 470 TaggedQueuing:Disable 494 TaggedQueuing:Disable 471 495 472 The "TaggedQueuing:Disable" or "TQ:Disable" 496 The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing 473 for all Target Devices on this Host Adapter. 497 for all Target Devices on this Host Adapter. 474 498 475 TaggedQueuing:<Target-Spec> 499 TaggedQueuing:<Target-Spec> 476 500 477 The "TaggedQueuing:<Target-Spec>" or "TQ:<Ta 501 The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls 478 Tagged Queuing individually for each Target 502 Tagged Queuing individually for each Target Device. <Target-Spec> is a 479 sequence of "Y", "N", and "X" characters. " 503 sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N" 480 disables Tagged Queuing, and "X" accepts the 504 disables Tagged Queuing, and "X" accepts the default based on the firmware 481 version. The first character refers to Targ 505 version. The first character refers to Target Device 0, the second to 482 Target Device 1, and so on; if the sequence 506 Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters 483 does not cover all the Target Devices, unspe 507 does not cover all the Target Devices, unspecified characters are assumed 484 to be "X". 508 to be "X". 485 509 486 The BusLogic Driver Miscellaneous Options comp 510 The BusLogic Driver Miscellaneous Options comprise the following: 487 511 488 BusSettleTime:<seconds> 512 BusSettleTime:<seconds> 489 513 490 The "BusSettleTime:" or "BST:" option specif 514 The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in 491 seconds. The Bus Settle Time is the amount 515 seconds. The Bus Settle Time is the amount of time to wait between a Host 492 Adapter Hard Reset which initiates a SCSI Bu 516 Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI 493 Commands. If unspecified, it defaults to Bu 517 Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime. 494 518 495 InhibitTargetInquiry 519 InhibitTargetInquiry 496 520 497 The "InhibitTargetInquiry" option inhibits t 521 The "InhibitTargetInquiry" option inhibits the execution of an Inquire 498 Target Devices or Inquire Installed Devices 522 Target Devices or Inquire Installed Devices command on MultiMaster Host 499 Adapters. This may be necessary with some o 523 Adapters. This may be necessary with some older Target Devices that do not 500 respond correctly when Logical Units above 0 524 respond correctly when Logical Units above 0 are addressed. 501 525 502 The BusLogic Driver Debugging Options comprise 526 The BusLogic Driver Debugging Options comprise the following: 503 527 504 TraceProbe 528 TraceProbe 505 529 506 The "TraceProbe" option enables tracing of H 530 The "TraceProbe" option enables tracing of Host Adapter Probing. 507 531 508 TraceHardwareReset 532 TraceHardwareReset 509 533 510 The "TraceHardwareReset" option enables trac 534 The "TraceHardwareReset" option enables tracing of Host Adapter Hardware 511 Reset. 535 Reset. 512 536 513 TraceConfiguration 537 TraceConfiguration 514 538 515 The "TraceConfiguration" option enables trac 539 The "TraceConfiguration" option enables tracing of Host Adapter 516 Configuration. 540 Configuration. 517 541 518 TraceErrors 542 TraceErrors 519 543 520 The "TraceErrors" option enables tracing of 544 The "TraceErrors" option enables tracing of SCSI Commands that return an 521 error from the Target Device. The CDB and S 545 error from the Target Device. The CDB and Sense Data will be printed for 522 each SCSI Command that fails. 546 each SCSI Command that fails. 523 547 524 Debug 548 Debug 525 549 526 The "Debug" option enables all debugging opt 550 The "Debug" option enables all debugging options. 527 551 528 The following examples demonstrate setting the 552 The following examples demonstrate setting the Queue Depth for Target Devices 529 1 and 2 on the first host adapter to 7 and 15, 553 1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target 530 Devices on the second host adapter to 31, and 554 Devices on the second host adapter to 31, and the Bus Settle Time on the 531 second host adapter to 30 seconds. 555 second host adapter to 30 seconds. 532 556 533 Linux Kernel Command Line:: 557 Linux Kernel Command Line:: 534 558 535 linux BusLogic=QueueDepth:[,7,15];QueueDepth 559 linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 536 560 537 LILO Linux Boot Loader (in /etc/lilo.conf):: 561 LILO Linux Boot Loader (in /etc/lilo.conf):: 538 562 539 append = "BusLogic=QueueDepth:[,7,15];QueueD 563 append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" 540 564 541 INSMOD Loadable Kernel Module Installation Fac 565 INSMOD Loadable Kernel Module Installation Facility:: 542 566 543 insmod BusLogic.o \ 567 insmod BusLogic.o \ 544 'BusLogic="QueueDepth:[,7,15];QueueDepth 568 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' 545 569 546 570 547 .. Note:: 571 .. Note:: 548 572 549 Module Utilities 2.1.71 or later is requ 573 Module Utilities 2.1.71 or later is required for correct parsing 550 of driver options containing commas. 574 of driver options containing commas. 551 575 552 576 553 Driver Installation 577 Driver Installation 554 =================== 578 =================== 555 579 556 This distribution was prepared for Linux kerne 580 This distribution was prepared for Linux kernel version 2.0.35, but should be 557 compatible with 2.0.4 or any later 2.0 series 581 compatible with 2.0.4 or any later 2.0 series kernel. 558 582 559 To install the new BusLogic SCSI driver, you m 583 To install the new BusLogic SCSI driver, you may use the following commands, 560 replacing "/usr/src" with wherever you keep yo 584 replacing "/usr/src" with wherever you keep your Linux kernel source tree:: 561 585 562 cd /usr/src 586 cd /usr/src 563 tar -xvzf BusLogic-2.0.15.tar.gz 587 tar -xvzf BusLogic-2.0.15.tar.gz 564 mv README.* LICENSE.* BusLogic.[ch] FlashPoi 588 mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi 565 patch -p0 < BusLogic.patch (only for 2.0.33 589 patch -p0 < BusLogic.patch (only for 2.0.33 and below) 566 cd linux 590 cd linux 567 make config 591 make config 568 make zImage 592 make zImage 569 593 570 Then install "arch/x86/boot/zImage" as your st 594 Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if 571 appropriate, and reboot. 595 appropriate, and reboot. 572 596 573 597 574 BusLogic Announcements Mailing List 598 BusLogic Announcements Mailing List 575 =================================== 599 =================================== 576 600 577 The BusLogic Announcements Mailing List provid 601 The BusLogic Announcements Mailing List provides a forum for informing Linux 578 users of new driver releases and other announc 602 users of new driver releases and other announcements regarding Linux support 579 for BusLogic SCSI Host Adapters. To join the 603 for BusLogic SCSI Host Adapters. To join the mailing list, send a message to 580 "buslogic-announce-request@dandelion.com" with 604 "buslogic-announce-request@dandelion.com" with the line "subscribe" in the 581 message body. 605 message body.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.