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 ======== ==== ====================== 254 ======== ==== ============================== 255 255 256 MultiMaster "S" Series Host Adapters: 256 MultiMaster "S" Series Host Adapters: 257 257 258 ======= ==== ====================== 258 ======= ==== ============================== 259 BT-445S VLB Fast SCSI-2 259 BT-445S VLB Fast SCSI-2 260 BT-747S EISA Fast SCSI-2 260 BT-747S EISA Fast SCSI-2 261 BT-747D EISA Differential Fast SCSI 261 BT-747D EISA Differential Fast SCSI-2 262 BT-757S EISA Wide Fast SCSI-2 262 BT-757S EISA Wide Fast SCSI-2 263 BT-757D EISA Wide Differential Fast 263 BT-757D EISA Wide Differential Fast SCSI-2 264 BT-742A EISA SCSI-2 (742A revision 264 BT-742A EISA SCSI-2 (742A revision H) 265 ======= ==== ====================== 265 ======= ==== ============================== 266 266 267 MultiMaster "A" Series Host Adapters: 267 MultiMaster "A" Series Host Adapters: 268 268 269 ======= ==== ====================== 269 ======= ==== ============================== 270 BT-742A EISA SCSI-2 (742A revisions 270 BT-742A EISA SCSI-2 (742A revisions A - G) 271 ======= ==== ====================== 271 ======= ==== ============================== 272 272 273 AMI FastDisk Host Adapters that are true BusLo 273 AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also 274 supported by this driver. 274 supported by this driver. 275 275 276 BusLogic SCSI Host Adapters are available pack 276 BusLogic SCSI Host Adapters are available packaged both as bare boards and as 277 retail kits. The BT- model numbers above refe 277 retail kits. The BT- model numbers above refer to the bare board packaging. 278 The retail kit model numbers are found by repl 278 The retail kit model numbers are found by replacing BT- with KT- in the above 279 list. The retail kit includes the bare board 279 list. The retail kit includes the bare board and manual as well as cabling and 280 driver media and documentation that are not pr 280 driver media and documentation that are not provided with bare boards. 281 281 282 282 283 FlashPoint Installation Notes 283 FlashPoint Installation Notes 284 ============================= 284 ============================= 285 285 286 RAIDPlus Support 286 RAIDPlus Support 287 ---------------- 287 ---------------- 288 288 289 FlashPoint Host Adapters now include RAIDPlu 289 FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software 290 RAID. RAIDPlus is not supported on Linux, a 290 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 291 it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and 292 striping (RAID-0), and support for mirroring 292 striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4), 293 and distributed parity (RAID-5) is available 293 and distributed parity (RAID-5) is available separately. The built-in Linux 294 RAID support is generally more flexible and 294 RAID support is generally more flexible and is expected to perform better 295 than RAIDPlus, so there is little impetus to 295 than RAIDPlus, so there is little impetus to include RAIDPlus support in the 296 BusLogic driver. 296 BusLogic driver. 297 297 298 Enabling UltraSCSI Transfers 298 Enabling UltraSCSI Transfers 299 ---------------------------- 299 ---------------------------- 300 300 301 FlashPoint Host Adapters ship with their con 301 FlashPoint Host Adapters ship with their configuration set to "Factory 302 Default" settings that are conservative and 302 Default" settings that are conservative and do not allow for UltraSCSI speed 303 to be negotiated. This results in fewer pro 303 to be negotiated. This results in fewer problems when these host adapters 304 are installed in systems with cabling or ter 304 are installed in systems with cabling or termination that is not sufficient 305 for UltraSCSI operation, or where existing S 305 for UltraSCSI operation, or where existing SCSI devices do not properly 306 respond to synchronous transfer negotiation 306 respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI 307 may be used to load "Optimum Performance" se 307 may be used to load "Optimum Performance" settings which allow UltraSCSI 308 speed to be negotiated with all devices, or 308 speed to be negotiated with all devices, or UltraSCSI speed can be enabled on 309 an individual basis. It is recommended that 309 an individual basis. It is recommended that SCAM be manually disabled after 310 the "Optimum Performance" settings are loade 310 the "Optimum Performance" settings are loaded. 311 311 312 312 313 BT-948/958/958D Installation Notes 313 BT-948/958/958D Installation Notes 314 ================================== 314 ================================== 315 315 316 The BT-948/958/958D PCI Ultra SCSI Host Adapte 316 The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may 317 require attention in some circumstances when i 317 require attention in some circumstances when installing Linux. 318 318 319 PCI I/O Port Assignments 319 PCI I/O Port Assignments 320 ------------------------ 320 ------------------------ 321 321 322 When configured to factory default settings, 322 When configured to factory default settings, the BT-948/958/958D will only 323 recognize the PCI I/O port assignments made 323 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 324 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 325 that previous BusLogic SCSI Host Adapters respond to. This driver supports 326 the PCI I/O port assignments, so this is the 326 the PCI I/O port assignments, so this is the preferred configuration. 327 However, if the obsolete BusLogic driver mus 327 However, if the obsolete BusLogic driver must be used for any reason, such as 328 a Linux distribution that does not yet use t 328 a Linux distribution that does not yet use this driver in its boot kernel, 329 BusLogic has provided an AutoSCSI configurat 329 BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA 330 compatible I/O port. 330 compatible I/O port. 331 331 332 To enable this backward compatibility option 332 To enable this backward compatibility option, invoke the AutoSCSI utility via 333 Ctrl-B at system startup and select "Adapter 333 Ctrl-B at system startup and select "Adapter Configuration", "View/Modify 334 Configuration", and then change the "ISA Com 334 Configuration", and then change the "ISA Compatible Port" setting from 335 "Disable" to "Primary" or "Alternate". Once 335 "Disable" to "Primary" or "Alternate". Once this driver has been installed, 336 the "ISA Compatible Port" option should be s 336 the "ISA Compatible Port" option should be set back to "Disable" to avoid 337 possible future I/O port conflicts. The old 337 possible future I/O port conflicts. The older BT-946C/956C/956CD also have 338 this configuration option, but the factory d 338 this configuration option, but the factory default setting is "Primary". 339 339 340 PCI Slot Scanning Order 340 PCI Slot Scanning Order 341 ----------------------- 341 ----------------------- 342 342 343 In systems with multiple BusLogic PCI Host A 343 In systems with multiple BusLogic PCI Host Adapters, the order in which the 344 PCI slots are scanned may appear reversed wi 344 PCI slots are scanned may appear reversed with the BT-948/958/958D as 345 compared to the BT-946C/956C/956CD. For boo 345 compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work 346 correctly, it is necessary that the host ada 346 correctly, it is necessary that the host adapter's BIOS and the kernel agree 347 on which disk is the boot device, which requ 347 on which disk is the boot device, which requires that they recognize the PCI 348 host adapters in the same order. The mother 348 host adapters in the same order. The motherboard's PCI BIOS provides a 349 standard way of enumerating the PCI host ada 349 standard way of enumerating the PCI host adapters, which is used by the Linux 350 kernel. Some PCI BIOS implementations enume 350 kernel. Some PCI BIOS implementations enumerate the PCI slots in order of 351 increasing bus number and device number, whi 351 increasing bus number and device number, while others do so in the opposite 352 direction. 352 direction. 353 353 354 Unfortunately, Microsoft decided that Window 354 Unfortunately, Microsoft decided that Windows 95 would always enumerate the 355 PCI slots in order of increasing bus number 355 PCI slots in order of increasing bus number and device number regardless of 356 the PCI BIOS enumeration, and requires that 356 the PCI BIOS enumeration, and requires that their scheme be supported by the 357 host adapter's BIOS to receive Windows 95 ce 357 host adapter's BIOS to receive Windows 95 certification. Therefore, the 358 factory default settings of the BT-948/958/9 358 factory default settings of the BT-948/958/958D enumerate the host adapters 359 by increasing bus number and device number. 359 by increasing bus number and device number. To disable this feature, invoke 360 the AutoSCSI utility via Ctrl-B at system st 360 the AutoSCSI utility via Ctrl-B at system startup and select "Adapter 361 Configuration", "View/Modify Configuration", 361 Configuration", "View/Modify Configuration", press Ctrl-F10, and then change 362 the "Use Bus And Device # For PCI Scanning S 362 the "Use Bus And Device # For PCI Scanning Seq." option to OFF. 363 363 364 This driver will interrogate the setting of 364 This driver will interrogate the setting of the PCI Scanning Sequence option 365 so as to recognize the host adapters in the 365 so as to recognize the host adapters in the same order as they are enumerated 366 by the host adapter's BIOS. 366 by the host adapter's BIOS. 367 367 368 Enabling UltraSCSI Transfers 368 Enabling UltraSCSI Transfers 369 ---------------------------- 369 ---------------------------- 370 370 371 The BT-948/958/958D ship with their configur 371 The BT-948/958/958D ship with their configuration set to "Factory Default" 372 settings that are conservative and do not al 372 settings that are conservative and do not allow for UltraSCSI speed to be 373 negotiated. This results in fewer problems 373 negotiated. This results in fewer problems when these host adapters are 374 installed in systems with cabling or termina 374 installed in systems with cabling or termination that is not sufficient for 375 UltraSCSI operation, or where existing SCSI 375 UltraSCSI operation, or where existing SCSI devices do not properly respond 376 to synchronous transfer negotiation for Ultr 376 to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be 377 used to load "Optimum Performance" settings 377 used to load "Optimum Performance" settings which allow UltraSCSI speed to be 378 negotiated with all devices, or UltraSCSI sp 378 negotiated with all devices, or UltraSCSI speed can be enabled on an 379 individual basis. It is recommended that SC 379 individual basis. It is recommended that SCAM be manually disabled after the 380 "Optimum Performance" settings are loaded. 380 "Optimum Performance" settings are loaded. 381 381 382 382 383 Driver Options 383 Driver Options 384 ============== 384 ============== 385 385 386 BusLogic Driver Options may be specified eithe 386 BusLogic Driver Options may be specified either via the Linux Kernel Command 387 Line or via the Loadable Kernel Module Install 387 Line or via the Loadable Kernel Module Installation Facility. Driver Options 388 for multiple host adapters may be specified ei 388 for multiple host adapters may be specified either by separating the option 389 strings by a semicolon, or by specifying multi 389 strings by a semicolon, or by specifying multiple "BusLogic=" strings on the 390 command line. Individual option specification 390 command line. Individual option specifications for a single host adapter are 391 separated by commas. The Probing and Debuggin 391 separated by commas. The Probing and Debugging Options apply to all host 392 adapters whereas the remaining options apply i 392 adapters whereas the remaining options apply individually only to the 393 selected host adapter. 393 selected host adapter. 394 394 395 The BusLogic Driver Probing Options comprise t 395 The BusLogic Driver Probing Options comprise the following: 396 396 397 NoProbe 397 NoProbe 398 398 399 The "NoProbe" option disables all probing an 399 The "NoProbe" option disables all probing and therefore no BusLogic Host 400 Adapters will be detected. 400 Adapters will be detected. 401 401 402 NoProbePCI 402 NoProbePCI 403 403 404 The "NoProbePCI" options disables the interr 404 The "NoProbePCI" options disables the interrogation of PCI Configuration 405 Space and therefore only ISA Multimaster Hos 405 Space and therefore only ISA Multimaster Host Adapters will be detected, as 406 well as PCI Multimaster Host Adapters that h 406 well as PCI Multimaster Host Adapters that have their ISA Compatible I/O 407 Port set to "Primary" or "Alternate". 407 Port set to "Primary" or "Alternate". 408 408 409 NoSortPCI 409 NoSortPCI 410 410 411 The "NoSortPCI" option forces PCI MultiMaste 411 The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be 412 enumerated in the order provided by the PCI 412 enumerated in the order provided by the PCI BIOS, ignoring any setting of 413 the AutoSCSI "Use Bus And Device # For PCI S 413 the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option. 414 414 415 MultiMasterFirst 415 MultiMasterFirst 416 416 417 The "MultiMasterFirst" option forces MultiMa 417 The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed 418 before FlashPoint Host Adapters. By default 418 before FlashPoint Host Adapters. By default, if both FlashPoint and PCI 419 MultiMaster Host Adapters are present, this 419 MultiMaster Host Adapters are present, this driver will probe for 420 FlashPoint Host Adapters first unless the BI 420 FlashPoint Host Adapters first unless the BIOS primary disk is controlled 421 by the first PCI MultiMaster Host Adapter, i 421 by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host 422 Adapters will be probed first. 422 Adapters will be probed first. 423 423 424 FlashPointFirst 424 FlashPointFirst 425 425 426 The "FlashPointFirst" option forces FlashPoi 426 The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed 427 before MultiMaster Host Adapters. 427 before MultiMaster Host Adapters. 428 428 429 The BusLogic Driver Tagged Queuing Options all 429 The BusLogic Driver Tagged Queuing Options allow for explicitly specifying 430 the Queue Depth and whether Tagged Queuing is 430 the Queue Depth and whether Tagged Queuing is permitted for each Target 431 Device (assuming that the Target Device suppor 431 Device (assuming that the Target Device supports Tagged Queuing). The Queue 432 Depth is the number of SCSI Commands that are 432 Depth is the number of SCSI Commands that are allowed to be concurrently 433 presented for execution (either to the Host Ad 433 presented for execution (either to the Host Adapter or Target Device). Note 434 that explicitly enabling Tagged Queuing may le 434 that explicitly enabling Tagged Queuing may lead to problems; the option to 435 enable or disable Tagged Queuing is provided p 435 enable or disable Tagged Queuing is provided primarily to allow disabling 436 Tagged Queuing on Target Devices that do not i 436 Tagged Queuing on Target Devices that do not implement it correctly. The 437 following options are available: 437 following options are available: 438 438 439 QueueDepth:<integer> 439 QueueDepth:<integer> 440 440 441 The "QueueDepth:" or QD:" option specifies t 441 The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all 442 Target Devices that support Tagged Queuing, 442 Target Devices that support Tagged Queuing, as well as the maximum Queue 443 Depth for devices that do not support Tagged 443 Depth for devices that do not support Tagged Queuing. If no Queue Depth 444 option is provided, the Queue Depth will be 444 option is provided, the Queue Depth will be determined automatically based 445 on the Host Adapter's Total Queue Depth and 445 on the Host Adapter's Total Queue Depth and the number, type, speed, and 446 capabilities of the detected Target Devices. 446 capabilities of the detected Target Devices. Target Devices that 447 do not support Tagged Queuing always have th 447 do not support Tagged Queuing always have their Queue Depth set to 448 BusLogic_UntaggedQueueDepth or BusLogic_Unta 448 BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a 449 lower Queue Depth option is provided. A Que 449 lower Queue Depth option is provided. A Queue Depth of 1 automatically 450 disables Tagged Queuing. 450 disables Tagged Queuing. 451 451 452 QueueDepth:[<integer>,<integer>...] 452 QueueDepth:[<integer>,<integer>...] 453 453 454 The "QueueDepth:[...]" or "QD:[...]" option 454 The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth 455 individually for each Target Device. If an 455 individually for each Target Device. If an <integer> is omitted, the 456 associated Target Device will have its Queue 456 associated Target Device will have its Queue Depth selected automatically. 457 457 458 TaggedQueuing:Default 458 TaggedQueuing:Default 459 459 460 The "TaggedQueuing:Default" or "TQ:Default" 460 The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing 461 based on the firmware version of the BusLogi 461 based on the firmware version of the BusLogic Host Adapter and based on 462 whether the Queue Depth allows queuing multi 462 whether the Queue Depth allows queuing multiple commands. 463 463 464 TaggedQueuing:Enable 464 TaggedQueuing:Enable 465 465 466 The "TaggedQueuing:Enable" or "TQ:Enable" op 466 The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for 467 all Target Devices on this Host Adapter, ove 467 all Target Devices on this Host Adapter, overriding any limitation that 468 would otherwise be imposed based on the Host 468 would otherwise be imposed based on the Host Adapter firmware version. 469 469 470 TaggedQueuing:Disable 470 TaggedQueuing:Disable 471 471 472 The "TaggedQueuing:Disable" or "TQ:Disable" 472 The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing 473 for all Target Devices on this Host Adapter. 473 for all Target Devices on this Host Adapter. 474 474 475 TaggedQueuing:<Target-Spec> 475 TaggedQueuing:<Target-Spec> 476 476 477 The "TaggedQueuing:<Target-Spec>" or "TQ:<Ta 477 The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls 478 Tagged Queuing individually for each Target 478 Tagged Queuing individually for each Target Device. <Target-Spec> is a 479 sequence of "Y", "N", and "X" characters. " 479 sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N" 480 disables Tagged Queuing, and "X" accepts the 480 disables Tagged Queuing, and "X" accepts the default based on the firmware 481 version. The first character refers to Targ 481 version. The first character refers to Target Device 0, the second to 482 Target Device 1, and so on; if the sequence 482 Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters 483 does not cover all the Target Devices, unspe 483 does not cover all the Target Devices, unspecified characters are assumed 484 to be "X". 484 to be "X". 485 485 486 The BusLogic Driver Miscellaneous Options comp 486 The BusLogic Driver Miscellaneous Options comprise the following: 487 487 488 BusSettleTime:<seconds> 488 BusSettleTime:<seconds> 489 489 490 The "BusSettleTime:" or "BST:" option specif 490 The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in 491 seconds. The Bus Settle Time is the amount 491 seconds. The Bus Settle Time is the amount of time to wait between a Host 492 Adapter Hard Reset which initiates a SCSI Bu 492 Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI 493 Commands. If unspecified, it defaults to Bu 493 Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime. 494 494 495 InhibitTargetInquiry 495 InhibitTargetInquiry 496 496 497 The "InhibitTargetInquiry" option inhibits t 497 The "InhibitTargetInquiry" option inhibits the execution of an Inquire 498 Target Devices or Inquire Installed Devices 498 Target Devices or Inquire Installed Devices command on MultiMaster Host 499 Adapters. This may be necessary with some o 499 Adapters. This may be necessary with some older Target Devices that do not 500 respond correctly when Logical Units above 0 500 respond correctly when Logical Units above 0 are addressed. 501 501 502 The BusLogic Driver Debugging Options comprise 502 The BusLogic Driver Debugging Options comprise the following: 503 503 504 TraceProbe 504 TraceProbe 505 505 506 The "TraceProbe" option enables tracing of H 506 The "TraceProbe" option enables tracing of Host Adapter Probing. 507 507 508 TraceHardwareReset 508 TraceHardwareReset 509 509 510 The "TraceHardwareReset" option enables trac 510 The "TraceHardwareReset" option enables tracing of Host Adapter Hardware 511 Reset. 511 Reset. 512 512 513 TraceConfiguration 513 TraceConfiguration 514 514 515 The "TraceConfiguration" option enables trac 515 The "TraceConfiguration" option enables tracing of Host Adapter 516 Configuration. 516 Configuration. 517 517 518 TraceErrors 518 TraceErrors 519 519 520 The "TraceErrors" option enables tracing of 520 The "TraceErrors" option enables tracing of SCSI Commands that return an 521 error from the Target Device. The CDB and S 521 error from the Target Device. The CDB and Sense Data will be printed for 522 each SCSI Command that fails. 522 each SCSI Command that fails. 523 523 524 Debug 524 Debug 525 525 526 The "Debug" option enables all debugging opt 526 The "Debug" option enables all debugging options. 527 527 528 The following examples demonstrate setting the 528 The following examples demonstrate setting the Queue Depth for Target Devices 529 1 and 2 on the first host adapter to 7 and 15, 529 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 530 Devices on the second host adapter to 31, and the Bus Settle Time on the 531 second host adapter to 30 seconds. 531 second host adapter to 30 seconds. 532 532 533 Linux Kernel Command Line:: 533 Linux Kernel Command Line:: 534 534 535 linux BusLogic=QueueDepth:[,7,15];QueueDepth 535 linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 536 536 537 LILO Linux Boot Loader (in /etc/lilo.conf):: 537 LILO Linux Boot Loader (in /etc/lilo.conf):: 538 538 539 append = "BusLogic=QueueDepth:[,7,15];QueueD 539 append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" 540 540 541 INSMOD Loadable Kernel Module Installation Fac 541 INSMOD Loadable Kernel Module Installation Facility:: 542 542 543 insmod BusLogic.o \ 543 insmod BusLogic.o \ 544 'BusLogic="QueueDepth:[,7,15];QueueDepth 544 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' 545 545 546 546 547 .. Note:: 547 .. Note:: 548 548 549 Module Utilities 2.1.71 or later is requ 549 Module Utilities 2.1.71 or later is required for correct parsing 550 of driver options containing commas. 550 of driver options containing commas. 551 551 552 552 553 Driver Installation 553 Driver Installation 554 =================== 554 =================== 555 555 556 This distribution was prepared for Linux kerne 556 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 557 compatible with 2.0.4 or any later 2.0 series kernel. 558 558 559 To install the new BusLogic SCSI driver, you m 559 To install the new BusLogic SCSI driver, you may use the following commands, 560 replacing "/usr/src" with wherever you keep yo 560 replacing "/usr/src" with wherever you keep your Linux kernel source tree:: 561 561 562 cd /usr/src 562 cd /usr/src 563 tar -xvzf BusLogic-2.0.15.tar.gz 563 tar -xvzf BusLogic-2.0.15.tar.gz 564 mv README.* LICENSE.* BusLogic.[ch] FlashPoi 564 mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi 565 patch -p0 < BusLogic.patch (only for 2.0.33 565 patch -p0 < BusLogic.patch (only for 2.0.33 and below) 566 cd linux 566 cd linux 567 make config 567 make config 568 make zImage 568 make zImage 569 569 570 Then install "arch/x86/boot/zImage" as your st 570 Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if 571 appropriate, and reboot. 571 appropriate, and reboot. 572 572 573 573 574 BusLogic Announcements Mailing List 574 BusLogic Announcements Mailing List 575 =================================== 575 =================================== 576 576 577 The BusLogic Announcements Mailing List provid 577 The BusLogic Announcements Mailing List provides a forum for informing Linux 578 users of new driver releases and other announc 578 users of new driver releases and other announcements regarding Linux support 579 for BusLogic SCSI Host Adapters. To join the 579 for BusLogic SCSI Host Adapters. To join the mailing list, send a message to 580 "buslogic-announce-request@dandelion.com" with 580 "buslogic-announce-request@dandelion.com" with the line "subscribe" in the 581 message body. 581 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.