1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma ident "%Z%%M% %I% %E% SMI" 28 29 #include <sys/scsi/scsi.h> 30 #include <sys/mtio.h> 31 #include <sys/condvar.h> 32 #include <sys/kstat.h> 33 #include <sys/scsi/targets/stdef.h> 34 35 const char st_conf_version[] = "%M% %I% %E%"; 36 /* 37 * General 38 * ------- 39 * o MT_DENSITYx counts from 1..4, rather than 0..3. 40 * o Some entries specify a value for the 'length' member that is 41 * less than the actual length of the 'vid' member. This is done 42 * intentionally to allow the comparison to succeed for different 43 * drives. 44 */ 45 46 /* 47 * Drive Tables. 48 * 49 * The structure and option definitions can be 50 * found in <sys/scsi/targets/stdef.h>. 51 * 52 * Note: that blocksize should be a power of two 53 * for fixed-length recording devices. 54 * 55 * Note: the speed codes are unused at present. 56 * The driver turns around whatever is reported 57 * from the drive via the mode sense. 58 * 59 * Note: the read retry and write retry counts 60 * are there to provide a limit until warning 61 * messages are printed. 62 * 63 * 64 * Note: For drives that are not in this table.... 65 * 66 * The first open of the device will cause a MODE SENSE command 67 * to be sent. From that we can determine block size. If block 68 * size is zero, than this drive is in variable-record length 69 * mode. The driver uses the SCSI-2 specification density codes in 70 * order to attempt to determine what kind of sequential access 71 * device this is. This will allow determination of 1/4" cartridge, 72 * 1/2" cartridge, some helical scan (3.81 && 8 mm cartridge) and 73 * 1/2" reel tape devices. The driver will print what it finds and is 74 * assuming to the console. If the device you have hooked up returns 75 * the default density code (0) after power up, the drive cannot 76 * determine what kind of drive it might be, so it will assume that 77 * it is an unknown 1/4" cartridge tape (QIC). 78 * 79 * If the drive is determined in this way to be a 1/2" 9-track reel 80 * type device, an attempt will be mode to put it in Variable 81 * record length mode. 82 * 83 * Generic drives are assumed to support only the long erase option 84 * and will not to be run in buffered mode. 85 */ 86 87 /* 88 * Format for Tape Drive Entry 89 * 90 * Please maintain the format currently in use for defining the properties 91 * associated with each tape drive. This format is intended to make the 92 * entries more readable and help increase the accuracy of the entries. 93 * See the actual entries for examples of what they should look like. 94 * 95 * Important points to note about the format: 96 * 97 * 1. The opening and closing braces are indented 2 spaces. 98 * 2. Each line in the entry is indented 4 spaces. 99 * 3. The numerical values and text in the .options comments are indented two 100 * spaces in the comment block. 101 * 4. The maximum line width is 80 columns; do not exceed this. 102 * 5. The comment delimiters should line up, per the example. 103 * 6. The OR symbol (|) should line up for multiple options. 104 * 7. Hexadecimal values should be capitalized, for consistency. 105 * 8. The leading / in the comment block header is indented 2 spaces and the 106 * susequent *'s should all line up. 107 * 9. Order of the entries is very important. There are several groups of 108 * entries where the last entry in the grouping acts as a catch-all. If you 109 * place an entry after the catch-all, it will never be used by the driver. 110 * 10. TABs should not be used anywhere between the BEGIN CSTYLED and 111 * END CSTYLED lines. 112 */ 113 114 /* 115 * Supported Drive Options 116 * 117 * The descriptions for the supported drive options are taken from stdef.h. 118 * 119 * ST_VARIABLE Device supports variable length record 120 * sizes. 121 * ST_QIC QIC tape device. 122 * ST_REEL 1/2-inch reel tape device. 123 * ST_BSF Device supports backspace file as in 124 * mt(1) bsf backspace over EOF marks. 125 * Devices not supporting bsf will fail 126 * with ENOTTY upon use of bsf. 127 * ST_BSR Device supports backspace record as in 128 * mt(1) bsr : backspace over records. If 129 * the device does not support bsr, the st 130 * driver emulates the action by rewinding 131 * the tape and using forward space file 132 * (fsf) to the correct file and then uses 133 * forward space record (fsr) to the 134 * correct record. 135 * ST_LONG_ERASE Device needs a longer time than normal 136 * to erase. 137 * ST_AUTODEN_OVERRIDE Autodensity override flag Device can 138 * figure out the tape density 139 * automatically,without issuing a mode- 140 * select/mode-sense. 141 * ST_NOBUF Don't use buffered mode. This disables 142 * the device's ability for buffered writes 143 * i.e. The device acknowledges write 144 * completion after the data is written to 145 * the device's buffer, but before all the 146 * data is actually written to tape. 147 * ST_RESERVED_BIT1 Reserved bit parity while talking to it. 148 * ST_KNOWS_EOD Device knows when EOD (End of Data) has 149 * been reached. If the device knows EOD, 150 * st uses fast file skipping. If it does 151 * not know EOD, file skipping happens one 152 * file at a time. 153 * ST_UNLOADABLE Device will not complain if the st 154 * driver is unloaded & loaded again; 155 * e.g. will return the correct inquiry 156 * string. 157 * ST_SOFT_ERROR_REPORTING Do request or log sense on close to 158 * report soft errors.Currently only 159 * Exabyte and DAT drives support this 160 * feature. 161 * ST_LONG_TIMEOUTS Device needs 5 times longer timeouts 162 * for normal operation. 163 * ST_BUFFERED_WRITES The data is buffered in the driver and 164 * pre-acked to the application. 165 * ST_NO_RECSIZE_LIMIT For variable record size devices only. 166 * If flag is set,then don't limit record 167 * size to 64k as in pre-Solaris 2.4 168 * releases. The only limit on the record 169 * size will be the max record size the 170 * device can handle or the max DMA 171 * transfer size of the machine, which ever 172 * is smaller. Beware of incompatabilities 173 * with tapes of pre-Solaris 2.4 OS's 174 * written with large (>64k) block sizes, 175 * as their true block size is a max of 176 * approx 64k. 177 * ST_MODE_SEL_COMP Use mode select of device configuration 178 * page (0x10) to enable/disable 179 * compression instead of density codes 180 * for the "c" and "u" devices. 181 * ST_NO_RESERVE_RELEASE For devices which do not support 182 * RESERVE/RELEASE SCSI command. If this 183 * is enabled then RESERVE/RELEASE would 184 * not be used during open/close for High 185 * Availability. 186 * ST_READ_IGNORE_ILI This flag is only applicable to 187 * variable block devices which support 188 * the SILI bit option. It indicates that 189 * the SILI bit will be ignored during 190 * reads. 191 * ST_READ_IGNORE_EOFS When this flag is set two EOF marks do 192 * not indicate an EOM. This option is 193 * only supported on 1/2" reel tapes. 194 * ST_SHORT_FILEMARKS This option applies only to EXABYTE 8mm 195 * tape drives which support short 196 * filemarks. When this flag is set, short 197 * filemarks will be used for writing 198 * filemarks. 199 * ST_EJECT_ON_CHANGER_FAILURE When this flag is set and the tape is 200 * trapped in the medium changer, the 201 * tape is automatically ejected. 202 * ST_RETRY_ON_RECOVERED_DEFERRED_ERROR This option applies only to IBM MAGSTAR 203 * 3590. If this flag is set, the st 204 * driver will retry the last cmd if the 205 * last error cause a check condition with 206 * error code 0x71 and sense code 0x01. 207 */ 208 209 /* 210 * Values Corresponding To The Supported Drive Options Flags 211 * 212 * ST_VARIABLE 0x000001 213 * ST_QIC 0x000002 214 * ST_REEL 0x000004 215 * ST_BSF 0x000008 216 * ST_BSR 0x000010 217 * ST_LONG_ERASE 0x000020 218 * ST_AUTODEN_OVERRIDE 0x000040 219 * ST_NOBUF 0x000080 220 * ST_RESERVED_BIT1 0x000100 221 * ST_KNOWS_EOD 0x000200 222 * ST_UNLOADABLE 0x000400 223 * ST_SOFT_ERROR_REPORTING 0x000800 224 * ST_LONG_TIMEOUT 0x001000 225 * ST_BUFFERED_WRITES 0x004000 226 * ST_NO_RECSIZE_LIMIT 0x008000 227 * ST_MODE_SEL_COMP 0x010000 228 * ST_NO_RESERVE_RELEASE 0x020000 229 * ST_READ_IGNORE_ILI 0x040000 230 * ST_READ_IGNORE_EOFS 0x080000 231 * ST_SHORT_FILEMARKS 0x100000 232 * ST_EJECT_ON_CHANGER_FAILURE 0x200000 233 * ST_RETRY_ON_RECOVERED_DEFERRED_ERROR 0x400000 234 */ 235 236 const struct st_drivetype st_drivetypes[] = 237 { 238 /* BEGIN CSTYLED */ 239 /* 240 * Anritsu 1/2" reel 241 * 242 * NOTES 243 * ----- 244 * o This is an unsupported drive. 245 * 246 * [1] The Anritsu 1/2" reel has two density codes (or 0 for "default"). 247 * [2] The Anritsu 1/2" reel has only one speed (if the driver ever cares). 248 * [3] max_rretries and max_wretries are driver anachronisms. 249 */ 250 { /* Structure member Description */ 251 /* ---------------- ----------- */ 252 "Unisys 1/2\" Reel", /* .name Display ("pretty") name */ 253 15, /* .length Length of next item... */ 254 "ANRITSU DMT2120", /* .vid Vendor-product ID string */ 255 ST_TYPE_ANRITSU, /* .type Numeric type (cf. mtio.h) */ 256 0, /* .bsize Block size (0 = variable) */ 257 /* .options Drive option flags: */ 258 ST_VARIABLE | /* 00001 Supports variable length */ 259 ST_REEL | /* 00004 1/2-inch reel tape device */ 260 ST_BSF | /* 00008 Supports SPACE block fwd */ 261 ST_BSR | /* 00010 Supports SPACE block rev */ 262 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 263 /* ----- */ 264 /* 0041D */ 265 400, /* .max_rretries [Note 3] */ 266 400, /* .max_wretries [Note 3] */ 267 {0x00, 0x02, 0x03, 0x03}, /* .densities Density codes [Note 1] */ 268 MT_DENSITY2, /* .default_density (.densities[x]) */ 269 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 270 }, 271 272 /* 273 * Archive QIC-150 1/4" cartridge 274 * 275 * NOTES 276 * ----- 277 * o The manual for the Archive drive claims that this drive 278 * can backspace filemarks. In practice this doens't always 279 * seem to be the case. 280 * [1] The QIC-150 uses 0 or "default" density. 281 * [2] The QIC-150 has only one speed (if the driver ever cares). 282 * [3] max_rretries and max_wretries are driver anachronisms. 283 */ 284 { /* Structure member Description */ 285 /* ---------------- ----------- */ 286 "Archive QIC-150", /* .name Display ("pretty") name */ 287 13, /* .length Length of next item... */ 288 "ARCHIVE VIPER", /* .vid Vendor-product ID string */ 289 ST_TYPE_ARCHIVE, /* .type Numeric type (cf. mtio.h) */ 290 512, /* .bsize Block size (0 = variable) */ 291 /* .options Drive option flags: */ 292 ST_QIC | /* 00002 QIC tape device */ 293 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 294 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 295 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 296 /* ----- */ 297 /* 00642 */ 298 400, /* .max_rretries [Note 3] */ 299 400, /* .max_wretries [Note 3] */ 300 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 301 MT_DENSITY2, /* .default_density (.densities[x]) */ 302 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 303 }, 304 305 /* 306 * Archive Python 04106 4mm 2GB drive 307 * 308 * NOTES 309 * ----- 310 * o This is an unsupported drive. 311 * 312 * [1] The Python 04106 has only one density, 0x42 (or 0 for "default"). 313 * [2] The Python 04106 has only one speed (if the driver ever cares). 314 * [3] max_rretries and max_wretries are driver anachronisms. 315 * [4] The manufacturer recommends 0x2c ("MT_ISPYTHON") here, 316 * even though ST_TYPE_PYTHON is recommended. For con- 317 * sistency, let's not fight it. 318 */ 319 { /* Structure member Description */ 320 /* ---------------- ----------- */ 321 "Seagate Scorpion 24 DDS3 DAT", 322 /* .name Display ("pretty") name */ 323 20, /* .length Length of next item... */ 324 "ARCHIVE Python 04106", /* .vid Vendor-product ID string */ 325 MT_ISPYTHON, /* .type Numeric type [Note 4] */ 326 0, /* .bsize Block size (0 = variable) */ 327 /* .options Drive option flags: */ 328 ST_VARIABLE | /* 00001 Supports variable length */ 329 ST_BSF | /* 00008 Supports SPACE block fwd */ 330 ST_BSR | /* 00010 Supports SPACE block rev */ 331 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 332 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 333 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 334 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 335 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 336 /* ----- */ 337 /* 09639 */ 338 400, /* .max_rretries [Note 3] */ 339 400, /* .max_wretries [Note 3] */ 340 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 341 MT_DENSITY3, /* .default_density (.densities[x]) */ 342 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 343 }, 344 345 /* 346 * Archive/Conner CTDX004 4mm DAT 347 * 348 * NOTES 349 * ----- 350 * [1] The CTDX004 uses 0 or the "default" density code. 351 * [2] The CTDX004 has only one speed (if the driver ever cares). 352 * [3] max_rretries and max_wretries are driver anachronisms. 353 * [4] Data is buffered in the driver and pre-acked to the application. This 354 * is only supported in 2.5.1. 355 */ 356 { /* Structure member Description */ 357 /* ---------------- ----------- */ 358 "Archive/Conner CTDX004 4mm DAT", 359 /* .name Display ("pretty") name */ 360 20, /* .length Length of next item... */ 361 "ARCHIVE Python 28388", /* .vid Vendor-product ID string */ 362 ST_TYPE_PYTHON, /* .type Numeric type (cf. mtio.h) */ 363 0, /* .bsize Block size (0 = variable) */ 364 /* .options Drive option flags: */ 365 ST_VARIABLE | /* 00001 Supports variable length */ 366 ST_BSF | /* 00008 Supports SPACE block fwd */ 367 ST_BSR | /* 00010 Supports SPACE block rev */ 368 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 369 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 370 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 371 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 372 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 373 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 374 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 375 /* ----- */ 376 /* 0DE39 */ 377 400, /* .max_rretries [Note 3] */ 378 400, /* .max_wretries [Note 3] */ 379 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 380 MT_DENSITY1, /* .default_density (.densities[x]) */ 381 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 382 }, 383 384 /* 385 * Archive Python 4mm 2GB drive 386 * 387 * NOTES 388 * ----- 389 * o This must be the last entry in the list of Python drives, since it 390 * acts as a catch-all for any Python drive not listed above. 391 * 392 * [1] The Archive Python 4mm has only one density, 0x8c (or 0 for "default"). 393 * [2] The Archive Python 4mm has only one speed (if the driver ever cares). 394 * [3] max_rretries and max_wretries are driver anachronisms. 395 * [4] Do a request or log sense on close to report soft errors. 396 */ 397 { /* Structure member Description */ 398 /* ---------------- ----------- */ 399 "Archive Python 4mm Helical Scan", 400 /* .name Display ("pretty") name */ 401 14, /* .length Length of next item... */ 402 "ARCHIVE Python", /* .vid Vendor-product ID string */ 403 ST_TYPE_PYTHON, /* .type Numeric type (cf. mtio.h) */ 404 0, /* .bsize Block size (0 = variable) */ 405 /* .options Drive option flags: */ 406 ST_VARIABLE | /* 00001 Supports variable length */ 407 ST_BSF | /* 00008 Supports SPACE block fwd */ 408 ST_BSR | /* 00010 Supports SPACE block rev */ 409 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 410 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 411 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 412 ST_SOFT_ERROR_REPORTING | /* 00800 Error reporting [Note 4] */ 413 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 414 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 415 /* ----- */ 416 /* 09E39 */ 417 5000, /* .max_rretries [Note 3] */ 418 5000, /* .max_wretries [Note 3] */ 419 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 420 MT_DENSITY4, /* .default_density (.densities[x]) */ 421 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 422 }, 423 424 /* 425 * Benchmark DLT1 426 * 427 * NOTES 428 * ----- 429 * [1] The DLT1 reads several tape formats, but the st driver supports 430 * only DLT1 native. 431 * [2] The DLT1 has only one speed (if the driver ever cares). 432 * [3] max_rretries and max_wretries are driver anachronisms. 433 * [4] The DLT1 has Density codes that turn on and off compression however 434 * the data compression enable overrides them. 435 */ 436 { /* Structure member Description */ 437 /* ---------------- ----------- */ 438 "Benchmark DLT1", /* .name Display ("pretty") name */ 439 12, /* .length Length of next item... */ 440 "BNCHMARKDLT1", /* .vid Vendor-product ID string */ 441 ST_TYPE_BMDLT1, /* .type Numeric type (cf. mtio.h) */ 442 0, /* .bsize Block size (0 = variable) */ 443 /* .options Drive option flags: */ 444 ST_VARIABLE | /* 00001 Supports variable length */ 445 ST_BSF | /* 00008 Supports SPACE block fwd */ 446 ST_BSR | /* 00010 Supports SPACE block rev */ 447 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 448 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 449 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 450 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 451 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 452 ST_MODE_SEL_COMP, /* 10000 [Note 4] */ 453 /* ----- */ 454 /* 19639 */ 455 -1, /* .max_rretries [Note 3] */ 456 -1, /* .max_wretries [Note 3] */ 457 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 458 MT_DENSITY4, /* .default_density (.densities[x]) */ 459 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 460 }, 461 462 463 464 /* 465 * CDC 1/2" cartridge 466 * 467 * NOTES 468 * ----- 469 * o This is an unsupported drive. 470 * 471 * [1] The CDC 1/2" cartridge uses 0 or the "default" density code. 472 * [2] The CDC 1/2" cartridge has only one speed (if the driver ever cares). 473 * [3] max_rretries and max_wretries are driver anachronisms. 474 */ 475 { /* Structure member Description */ 476 /* ---------------- ----------- */ 477 "CDC 1/2\" Cartridge", /* .name Display ("pretty") name */ 478 3, /* .length Length of next item... */ 479 "LMS", /* .vid Vendor-product ID string */ 480 ST_TYPE_CDC, /* .type Numeric type (cf. mtio.h) */ 481 0, /* .bsize Block size (0 = variable) */ 482 /* .options Drive option flags: */ 483 ST_VARIABLE | /* 00001 Supports variable length */ 484 ST_QIC | /* 0x002 QIC tape device */ 485 ST_BSF | /* 00008 Supports SPACE block fwd */ 486 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 487 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 488 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 489 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 490 /* ----- */ 491 /* 0066B */ 492 300, /* .max_rretries [Note 3] */ 493 300, /* .max_wretries [Note 3] */ 494 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 495 MT_DENSITY2, /* .default_density (.densities[x]) */ 496 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 497 }, 498 499 /* 500 * Emulex MT-02 controller for 1/4" cartridge 501 * 502 * NOTES 503 * ----- 504 * o The EMULEX MT-02 adheres to CCS level 0, and thus 505 * returns nothing of interest for the INQUIRY command 506 * past the 'response data format' field (which will be 507 * zero). The driver will recognize this and assume that 508 * a drive that so responds is actually an MT-02 (there 509 * is no other way to really do this, awkward as it 510 * may seem). 511 * 512 * o This is an unsupported drive. 513 * 514 * [1] Low density is a vendor unique density code. 515 * This gives us 9 Track QIC-11. Supposedly the MT02 can 516 * read 4 Track QIC-11 while in this mode. If that doesn't 517 * work, change one of the duplicated QIC-24 fields to 0x4. 518 * [2] The MT-02 has only one speed (if the driver ever cares). 519 * [3] max_rretries and max_wretries are driver anachronisms. 520 */ 521 { /* Structure member Description */ 522 /* ---------------- ----------- */ 523 "Emulex MT02 QIC-11/QIC-24", 524 /* .name Display ("pretty") name */ 525 12, /* .length Length of next item... */ 526 "Emulex MT02", /* .vid Vendor-product ID string */ 527 ST_TYPE_EMULEX, /* .type Numeric type (cf. mtio.h) */ 528 512, /* .bsize Block size (0 = variable) */ 529 /* .options Drive option flags: */ 530 ST_QIC | /* 00002 QIC tape device */ 531 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 532 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 533 /* ----- */ 534 /* 00602 */ 535 130, /* .max_rretries [Note 3] */ 536 130, /* .max_wretries [Note 3] */ 537 {0x84, 0x05, 0x05, 0x05}, /* .densities Density codes [Note 1] */ 538 MT_DENSITY2, /* .default_density (.densities[x]) */ 539 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 540 }, 541 542 /* 543 * Exabyte 8900 8mm helical scan drive (also called Mammoth) 544 * 545 * NOTES 546 * ----- 547 * [1] Compression on the 8900 is controlled via the Device Configuration mode 548 * page or the Data Compression page (either one). Even when enabled, the 549 * 8900 automatically disables compression on-the-fly if it determines 550 * that it cannot achieve a reasonable compression ratio on the data. 551 * [2] The 8900 can write in only one format, which is selected overtly by 552 * setting Density Code in the block descriptor to 27h; in addition to 553 * this native format, the 8900 can read tapes written in 8200, 8500 and 554 * 8500-compressed formats. We set the density to 27h at all times: we 555 * _can_ do this because the format is changed automatically to match the 556 * data on any previously-written tape; we _must_ do this to ensure that 557 * never-before-written 8900 AME tapes are written in "8900 format" (all 558 * writes to them in any other format will fail). By establishing 559 * MT_DENSITY4 (corresponding to the "c" and "u" minor devices) as the 560 * default, applications which open '/dev/rmt/x' write compressed data 561 * automatically (but see Note [1]). 562 * [3] The 8900 has only one speed (if the driver ever cares). 563 * [4] max_rretries and max_wretries are driver anachronisms. 564 */ 565 { /* Structure member Description */ 566 /* ---------------- ----------- */ 567 "Mammoth EXB-8900 8mm Helical Scan", 568 /* .name Display ("pretty") name */ 569 16, /* .length Length of next item... */ 570 "EXABYTE EXB-8900", /* .vid Vendor-product ID string */ 571 ST_TYPE_EXB8500, /* .type Numeric type (cf. mtio.h) */ 572 0, /* .bsize Block size (0 = variable) */ 573 /* .options Drive option flags: */ 574 ST_VARIABLE | /* 00001 Supports variable length */ 575 ST_BSF | /* 00008 Supports SPACE block fwd */ 576 ST_BSR | /* 00010 Supports SPACE block rev */ 577 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 578 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 579 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 580 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 581 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 582 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 583 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 584 /* ----- */ 585 /* 19E39 */ 586 5000, /* .max_rretries [Note 4] */ 587 5000, /* .max_wretries [Note 4] */ 588 {0x27, 0x27, 0x27, 0x27}, /* .densities Density codes [Note 2] */ 589 MT_DENSITY4, /* .default_density (.densities[x]) */ 590 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 591 }, 592 593 /* 594 * Exabyte 8mm 5GB cartridge 595 * 596 * NOTES 597 * ----- 598 * o ST_KNOWS_EOD here will cause medium error messages 599 * 600 * o The string length (16) has been reduced to 15 to allow for other 601 * compatible models (eg the 8505 half-height) (BugTraq #1091196) 602 * 603 * [1] The density code entry requires four values, even if there are less 604 * than four values for the drive. 605 * [2] The Exabyte EXB-8500 has only one speed (if the driver ever cares). 606 * [3] max_rretries and max_wretries are driver anachronisms. 607 */ 608 { /* Structure member Description */ 609 /* ---------------- ----------- */ 610 "Exabyte EXB-8500 8mm Helical Scan", 611 /* .name Display ("pretty") name */ 612 15, /* .length Length of next item... */ 613 "EXABYTE EXB-850*", /* .vid Vendor-product ID string */ 614 ST_TYPE_EXB8500, /* .type Numeric type (cf. mtio.h) */ 615 0, /* .bsize Block size (0 = variable) */ 616 /* .options Drive option flags: */ 617 ST_VARIABLE | /* 00001 Supports variable length */ 618 ST_BSF | /* 00008 Supports SPACE block fwd */ 619 ST_BSR | /* 00010 Supports SPACE block rev */ 620 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 621 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 622 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 623 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 624 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 625 /* ----- */ 626 /* 08E39 */ 627 5000, /* .max_rretries [Note 3] */ 628 5000, /* .max_wretries [Note 3] */ 629 {0x14, 0x15, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 630 MT_DENSITY2, /* .default_density (.densities[x]) */ 631 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 632 }, 633 634 /* 635 * Exabyte 8mm 2GB cartridge 636 * 637 * NOTES 638 * ----- 639 * [1] The Exabyte EXB-8200 uses 0 or the "default" density code. 640 * [2] The Exabyte EXB-8200 has only one speed (if the driver ever cares). 641 * [3] max_rretries and max_wretries are driver anachronisms. 642 * [4] Do a request or log sense on close to report soft errors. 643 */ 644 { /* Structure member Description */ 645 /* ---------------- ----------- */ 646 "Exabyte EXB-8200 8mm Helical Scan", 647 /* .name Display ("pretty") name */ 648 16, /* .length Length of next item... */ 649 "EXABYTE EXB-8200", /* .vid Vendor-product ID string */ 650 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 651 0, /* .bsize Block size (0 = variable) */ 652 /* .options Drive option flags: */ 653 ST_VARIABLE | /* 00001 Supports variable length */ 654 ST_BSF | /* 00008 Supports SPACE block fwd */ 655 ST_BSR | /* 00010 Supports SPACE block rev */ 656 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 657 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 658 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 659 ST_SOFT_ERROR_REPORTING | /* 00800 Error reporting [Note 4] */ 660 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 661 /* ----- */ 662 /* 08C79 */ 663 5000, /* .max_rretries [Note 3] */ 664 5000, /* .max_wretries [Note 3] */ 665 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 666 MT_DENSITY2, /* .default_density (.densities[x]) */ 667 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 668 }, 669 670 /* 671 * Exabyte DC-2000 cartridge 672 * 673 * NOTES 674 * ----- 675 * o This is an unsupported drive. 676 * 677 * o This entry uses a shortened Vendor-product ID string for the 678 * INQUIRY match. 679 * 680 * [1] The Exabyte DC-2000 uses 0 or the "default" density. 681 * [2] The Exabyte DC-2000 has only one speed (if the driver ever cares). 682 * [3] max_rretries and max_wretries are driver anachronisms. 683 */ 684 { /* Structure member Description */ 685 /* ---------------- ----------- */ 686 "Exabyte EXB-2501 QIC", /* .name Display ("pretty") name */ 687 14, /* .length Length of next item... */ 688 "EXABYTE EXB-25**", /* .vid Vendor-product ID string */ 689 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 690 1024, /* .bsize Block size (0 = variable) */ 691 /* .options Drive option flags: */ 692 ST_QIC | /* 00002 QIC tape device */ 693 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 694 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 695 /* ----- */ 696 /* 00442 */ 697 400, /* .max_rretries [Note 3] */ 698 400, /* .max_wretries [Note 3] */ 699 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 700 MT_DENSITY2, /* .default_density (.densities[x]) */ 701 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 702 }, 703 704 /* 705 * EXABYTE 4mm Helical Scan 706 * 707 * NOTES 708 * ----- 709 * 710 * o This entry uses a shortened Vendor-product ID string for the 711 * INQUIRY match. 712 * 713 * [1] The EXABYTE 4mm uses 0 or the "default" density code. 714 * [2] The EXABYTE 4mm has only one speed (if the driver ever cares). 715 * [3] max_rretries and max_wretries are driver anachronisms. 716 */ 717 { /* Structure member Description */ 718 /* ---------------- ----------- */ 719 "Exabyte 4mm Helical Scan", 720 /* .name Display ("pretty") name */ 721 15, /* .length Length of next item... */ 722 "EXABYTE EXB-420*", /* .vid Vendor-product ID string */ 723 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 724 0, /* .bsize Block size (0 = variable) */ 725 /* .options Drive option flags: */ 726 ST_VARIABLE | /* 00001 Supports variable length */ 727 ST_BSF | /* 00008 Supports SPACE block fwd */ 728 ST_BSR | /* 00010 Supports SPACE block rev */ 729 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 730 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 731 /* ----- */ 732 /* 00439 */ 733 400, /* .max_rretries [Note 3] */ 734 400, /* .max_wretries [Note 3] */ 735 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 736 MT_DENSITY2, /* .default_density (.densities[x]) */ 737 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 738 }, 739 740 /* 741 * Fujitsu 1/2" cartridge 742 * 743 * NOTES 744 * ----- 745 * o This is an unsupported drive. 746 * 747 * [1] The Fujitsu 1/2" drive uses 0 or the "default" density code. 748 * [2] The Fujitsu 1/2" drive has only one speed (if the driver ever cares). 749 * [3] max_rretries and max_wretries are driver anachronisms. 750 */ 751 { /* Structure member Description */ 752 /* ---------------- ----------- */ 753 "Fujitsu 1/2\" Cartridge",/* .name Display ("pretty") name */ 754 2, /* .length Length of next item... */ 755 "\076\000", /* .vid Vendor-product ID string */ 756 ST_TYPE_FUJI, /* .type Numeric type (cf. mtio.h) */ 757 0, /* .bsize Block size (0 = variable) */ 758 /* .options Drive option flags: */ 759 ST_VARIABLE | /* 00001 Supports variable length */ 760 ST_QIC | /* 00002 QIC tape device */ 761 ST_BSF | /* 00008 Supports SPACE block fwd */ 762 ST_BSR | /* 00010 Supports SPACE block rev */ 763 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 764 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 765 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 766 /* ----- */ 767 /* 0063B */ 768 300, /* .max_rretries [Note 3] */ 769 300, /* .max_wretries [Note 3] */ 770 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 771 MT_DENSITY2, /* .default_density (.densities[x]) */ 772 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 773 }, 774 775 /* 776 * HP 1/2" reel 777 * 778 * NOTES 779 * ----- 780 * [1] The HP 1/2" reel uses the vendor unique density '0xC3': 781 * this is compressed 6250 mode. Beware that using large 782 * data sets consisting of repeated data compresses *too* 783 * well and one can run into the unix 2 gb file offset limit 784 * this way. 785 * [2] The HP 1/2" reel has only one speed (if the driver ever cares). 786 * [3] max_rretries and max_wretries are driver anachronisms. 787 */ 788 { /* Structure member Description */ 789 /* ---------------- ----------- */ 790 "HP-88780 1/2\" Reel", /* .name Display ("pretty") name */ 791 13, /* .length Length of next item... */ 792 "HP 88780", /* .vid Vendor-product ID string */ 793 ST_TYPE_HP, /* .type Numeric type (cf. mtio.h) */ 794 0, /* .bsize Block size (0 = variable) */ 795 /* .options Drive option flags: */ 796 ST_VARIABLE | /* 00001 Supports variable length */ 797 ST_REEL | /* 00004 1/2-inch reel tape device */ 798 ST_BSF | /* 00008 Supports SPACE block fwd */ 799 ST_BSR | /* 00010 Supports SPACE block rev */ 800 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 801 /* ----- */ 802 /* 0041D */ 803 400, /* .max_rretries [Note 3] */ 804 400, /* .max_wretries [Note 3] */ 805 {0x01, 0x02, 0x03, 0xC3}, /* .densities Density codes [Note 1] */ 806 MT_DENSITY2, /* .default_density (.densities[x]) */ 807 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 808 }, 809 810 /* 811 * HP 35470A 4mm DAT 812 * 813 * NOTES 814 * ----- 815 * o This is an unsupported drive. 816 * 817 * [1] The HP 35470A uses 0 or the "default" density code. 818 * [2] The HP 35470A has only one speed (if the driver ever cares). 819 * [3] max_rretries and max_wretries are driver anachronisms. 820 */ 821 { /* Structure member Description */ 822 /* ---------------- ----------- */ 823 "HP 35470A 4mm DAT", /* .name Display ("pretty") name */ 824 16, /* .length Length of next item... */ 825 "HP HP35470A", /* .vid Vendor-product ID string */ 826 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 827 0, /* .bsize Block size (0 = variable) */ 828 /* .options Drive option flags: */ 829 ST_VARIABLE | /* 00001 Supports variable length */ 830 ST_BSF | /* 00008 Supports SPACE block fwd */ 831 ST_BSR | /* 00010 Supports SPACE block rev */ 832 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 833 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 834 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 835 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 836 ST_LONG_TIMEOUTS, /* 01000 More time for some ops */ 837 /* ----- */ 838 /* 01679 */ 839 400, /* .max_rretries [Note 3] */ 840 400, /* .max_wretries [Note 3] */ 841 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 842 MT_DENSITY2, /* .default_density (.densities[x]) */ 843 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 844 }, 845 846 /* 847 * HP 35480A 4mm DAT 848 * 849 * NOTES 850 * ----- 851 * o This is an unsupported drive. 852 * 853 * [1] The HP 35480A uses 0 or the "default" density code. 854 * [2] The HP 35480A has only one speed (if the driver ever cares). 855 * [3] max_rretries and max_wretries are driver anachronisms. 856 */ 857 { /* Structure member Description */ 858 /* ---------------- ----------- */ 859 "HP 35480A 4mm DAT", /* .name Display ("pretty") name */ 860 16, /* .length Length of next item... */ 861 "HP HP35480A", /* .vid Vendor-product ID string */ 862 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 863 0, /* .bsize Block size (0 = variable) */ 864 /* .options Drive option flags: */ 865 ST_VARIABLE | /* 00001 Supports variable length */ 866 ST_BSF | /* 00008 Supports SPACE block fwd */ 867 ST_BSR | /* 00010 Supports SPACE block rev */ 868 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 869 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 870 /* ----- */ 871 /* 00439 */ 872 400, /* .max_rretries [Note 1] */ 873 400, /* .max_wretries [Note 1] */ 874 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 2] */ 875 MT_DENSITY2, /* .default_density (.densities[x]) */ 876 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 877 }, 878 879 /* 880 * HP JetStore 6000 C1533 881 * 882 * NOTES 883 * ----- 884 * o This is only supported for x86. 885 * 886 * [1] The HP JetStore 6000 uses 0 or the "default" density code. 887 * [2] The HP JetStore 6000 has only one speed (if the driver ever cares). 888 * [3] max_rretries and max_wretries are driver anachronisms. 889 */ 890 { /* Structure member Description */ 891 /* ---------------- ----------- */ 892 "HP JetStore 6000 C1533", /* .name Display ("pretty") name */ 893 14, /* .length Length of next item... */ 894 "HP C1533A", /* .vid Vendor-product ID string */ 895 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 896 0, /* .bsize Block size (0 = variable) */ 897 /* .options Drive option flags: */ 898 ST_VARIABLE | /* 00001 Supports variable length */ 899 ST_BSF | /* 00008 Supports SPACE block fwd */ 900 ST_BSR | /* 00010 Supports SPACE block rev */ 901 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 902 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 903 /* ----- */ 904 /* 00639 */ 905 400, /* .max_rretries [Note 3] */ 906 400, /* .max_wretries [Note 3] */ 907 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 908 MT_DENSITY2, /* .default_density (.densities[x]) */ 909 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 910 }, 911 912 /* 913 * HP DDS-3 4mm DAT 914 * 915 * NOTES 916 * ----- 917 * o This is an unsupported drive. 918 * 919 * [1] Compression on the HP DDS-3 is controlled 920 * via the Device Configuration mode page. 921 * [2] The HP DDS-3 has only one density, 0x8c (or 0 for "default"). 922 * [3] The HP DDS-3 has only one speed (if the driver ever cares). 923 * [4] max_rretries and max_wretries are driver anachronisms. 924 */ 925 { /* Structure member Description */ 926 /* ---------------- ----------- */ 927 "HP DDS-3 4MM DAT", /* .name Display ("pretty") name */ 928 14, /* .length Length of next item... */ 929 "HP C1537A", /* .vid Vendor-product ID string */ 930 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 931 0, /* .bsize Block size (0 = variable) */ 932 /* .options Drive option flags: */ 933 ST_VARIABLE | /* 00001 Supports variable length */ 934 ST_BSF | /* 00008 Supports SPACE block fwd */ 935 ST_BSR | /* 00010 Supports SPACE block rev */ 936 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 937 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 938 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 939 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 940 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 941 /* ----- */ 942 /* 09639 */ 943 400, /* .max_rretries [Note 4] */ 944 400, /* .max_wretries [Note 4] */ 945 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 2] */ 946 MT_DENSITY2, /* .default_density (.densities[x]) */ 947 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 948 }, 949 950 /* 951 * HP DDS-3 4mm DAT loader 952 * 953 * NOTES 954 * ----- 955 * o This is an unsupported drive. 956 * 957 * [1] Compression on the DDS-3 Loader is controlled 958 * via the Device Configuration mode page. 959 * [2] The DDS-3 Loader has only one density, 0x8c (or 0 for "default"). 960 * [3] The DDS-3 Loader has only one speed (if the driver ever cares). 961 * [4] max_rretries and max_wretries are driver anachronisms. 962 */ 963 { /* Structure member Description */ 964 /* ---------------- ----------- */ 965 "HP DDS-3 4MM DAT loader",/* .name Display ("pretty") name */ 966 14, /* .length Length of next item... */ 967 "HP C1557A", /* .vid Vendor-product ID string */ 968 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 969 0, /* .bsize Block size (0 = variable) */ 970 /* .options Drive option flags: */ 971 ST_VARIABLE | /* 00001 Supports variable length */ 972 ST_BSF | /* 00008 Supports SPACE block fwd */ 973 ST_BSR | /* 00010 Supports SPACE block rev */ 974 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 975 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 976 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 977 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 978 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 979 /* ----- */ 980 /* 09639 */ 981 400, /* .max_rretries [Note 4] */ 982 400, /* .max_wretries [Note 4] */ 983 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 2] */ 984 MT_DENSITY2, /* .default_density (.densities[x]) */ 985 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 986 }, 987 988 /* 989 * HP C5683A DDS-4 DAT drives with Sun-specific behavior 990 * 991 * When the configuration switches on the drive are set appropriately, the 992 * HP C5683A: interprets a density code of 8Ch to mean "enable compression", 993 * 00h to mean "disable compression"; senses the tape type automatically; 994 * adjusts to match the tape type. (That is, compression is controlled via 995 * the Sun-unique 8Ch density code, rather than using the Data Compression 996 * mode page). 997 * 998 * NOTES 999 * ----- 1000 * [1] 00h = compression disabled, 8Ch = compression enabled, and all DDS-x 1001 * format-related adjustments are performed automatically by the drive. 1002 * [2] The 5683 has only one speed (if the driver ever cares). 1003 * [3] max_rretries and max_wretries are driver anachronisms. 1004 */ 1005 { /* Structure member Description */ 1006 /* ---------------- ----------- */ 1007 "HP DDS-4 DAT (Sun)", /* .name Display ("pretty") name */ 1008 14, /* .length Length of next item... */ 1009 "HP C5683A", /* .vid Vendor-product ID string */ 1010 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1011 0, /* .bsize Block size (0 = variable) */ 1012 /* .options Drive option flags: */ 1013 ST_VARIABLE | /* 00001 Supports variable length */ 1014 ST_BSF | /* 00008 Supports SPACE block fwd */ 1015 ST_BSR | /* 00010 Supports SPACE block rev */ 1016 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1017 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1018 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1019 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1020 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1021 /* ----- */ 1022 /* 09639 */ 1023 -1, /* .max_rretries [Note 3] */ 1024 -1, /* .max_wretries [Note 3] */ 1025 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 1026 MT_DENSITY2, /* .default_density (.densities[x]) */ 1027 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1028 }, 1029 1030 /* 1031 * HP C5713A DDS-4 DAT autochangers with Sun-specific behavior 1032 * 1033 * When the configuration switches on the drive are set appropriately, the 1034 * HP C5713A: interprets a density code of 8Ch to mean "enable compression", 1035 * 00h to mean "disable compression"; senses the tape type automatically; 1036 * adjusts to match the tape type. (That is, compression is controlled via 1037 * the Sun-unique 8Ch density code, rather than using the Data Compression 1038 * mode page). 1039 * 1040 * NOTES 1041 * ----- 1042 * [1] 00h = compression disabled, 8Ch = compression enabled, and all DDS-x 1043 * format-related adjustments are performed automatically by the drive. 1044 * [2] The 5713 has only one speed (if the driver ever cares). 1045 * [3] max_rretries and max_wretries are driver anachronisms. 1046 */ 1047 { /* Structure member Description */ 1048 /* ---------------- ----------- */ 1049 "HP DDS-4 DAT (Sun)", /* .name Display ("pretty") name */ 1050 14, /* .length Length of next item... */ 1051 "HP C5713A", /* .vid Vendor-product ID string */ 1052 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1053 0, /* .bsize Block size (0 = variable) */ 1054 /* .options Drive option flags: */ 1055 ST_VARIABLE | /* 00001 Supports variable length */ 1056 ST_BSF | /* 00008 Supports SPACE block fwd */ 1057 ST_BSR | /* 00010 Supports SPACE block rev */ 1058 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1059 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1060 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1061 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1062 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1063 /* ----- */ 1064 /* 09639 */ 1065 -1, /* .max_rretries [Note 3] */ 1066 -1, /* .max_wretries [Note 3] */ 1067 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 1068 MT_DENSITY2, /* .default_density (.densities[x]) */ 1069 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1070 }, 1071 1072 /* 1073 * HP C7438A 1074 */ 1075 { /* Structure member Description */ 1076 /* ---------------- ----------- */ 1077 "HP DAT-72", /* .name Display ("pretty") name */ 1078 14, /* .length Length of next item... */ 1079 "HP C7438A", /* .vid Vendor-product ID string */ 1080 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1081 0, /* .bsize Block size (0 = variable) */ 1082 /* .options Drive option flags: */ 1083 ST_VARIABLE | /* 00001 Supports variable length */ 1084 ST_BSF | /* 00008 Supports SPACE block fwd */ 1085 ST_BSR | /* 00010 Supports SPACE block rev */ 1086 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1087 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1088 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1089 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1090 /* ----- */ 1091 /* 18619 */ 1092 -1, /* .max_rretries Not Used */ 1093 -1, /* .max_wretries Not Used */ 1094 {0x47, 0x47, 0x47, 0x47}, /* .densities Density codes */ 1095 MT_DENSITY4, /* .default_density (.densities[x]) */ 1096 {0, 0, 0, 0}, /* .speeds Speed codes Not Used */ 1097 0, /* .non_motion_timeout Nothing Special */ 1098 MINUTES(7), /* .io_timeout 7 minutes (recover read) */ 1099 0, /* .rewind_timeout Nothing Special */ 1100 MINUTES(600), /* .space_timeout 10 Hours (space seq file)*/ 1101 0, /* .load_timeout Nothing Special */ 1102 0, /* .unload_timeout Nothing Special */ 1103 MINUTES(290) /* .erase_timeout 4 hours 50 minutes */ 1104 }, 1105 1106 /* 1107 * HP DAT-160 1108 */ 1109 { /* Structure member Description */ 1110 /* ---------------- ----------- */ 1111 "HP DDS-6 DAT", /* .name Display ("pretty") name */ 1112 14, /* .length Length of next item... */ 1113 "HP DAT160", /* .vid Vendor-product ID string */ 1114 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1115 0, /* .bsize Block size (0 = variable) */ 1116 /* .options Drive option flags: */ 1117 ST_VARIABLE | /* 00001 Supports variable length */ 1118 ST_BSF | /* 00008 Supports SPACE block fwd */ 1119 ST_BSR | /* 00010 Supports SPACE block rev */ 1120 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1121 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1122 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1123 ST_MODE_SEL_COMP | /* 10000 Mode select compression */ 1124 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1125 /* ------- */ 1126 /* 1018619 */ 1127 -1, /* .max_rretries Not Used */ 1128 -1, /* .max_wretries Not Used */ 1129 {0x48, 0x48, 0x48, 0x48}, /* .densities Density codes */ 1130 MT_DENSITY4, /* .default_density (.densities[x]) */ 1131 {0, 0, 0, 0}, /* .speeds Speed codes Not Used */ 1132 0, /* .non_motion_timeout Nothing Special */ 1133 MINUTES(5), /* .io_timeout */ 1134 MINUTES(10), /* .rewind_timeout */ 1135 MINUTES(20), /* .space_timeout */ 1136 MINUTES(10), /* .load_timeout */ 1137 MINUTES(10), /* .unload_timeout */ 1138 MINUTES(300) /* .erase_timeout 5 hours */ 1139 }, 1140 1141 /* 1142 * HP Ultrium LTO Gen 4 1143 * [1] This drive supports two densites at this time. 1144 * In reality the type of media GEN 3 or GEN 4 selects the density. 1145 * ST_MODE_SEL_COMP controls compression. 1146 * [2] The Ultrium LTO has one speed. 1147 * [3] max_rretries and max_wretries are not used but kept for 1148 * backward compatibility. 1149 */ 1150 { /* Structure member Description */ 1151 /* ---------------- ----------- */ 1152 "HP Ultrium LTO 4", /* .name Display ("pretty") name */ 1153 17, /* .length Length of next item... */ 1154 "HP Ultrium 4*", /* .vid handles SCSI or FC */ 1155 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1156 0, /* .bsize Block size (0 = variable) */ 1157 /* .options Drive option flags: */ 1158 ST_VARIABLE | /* 0000001 Supports variable length */ 1159 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1160 ST_BSR | /* 0000010 Supports SPACE block rev */ 1161 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1162 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1163 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1164 ST_MODE_SEL_COMP | /* 0010000 Mode select compression */ 1165 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1166 /* ------- */ 1167 /* 1018619 */ 1168 -1, /* .max_rretries [Note 3] */ 1169 -1, /* .max_wretries [Note 3] */ 1170 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 1171 MT_DENSITY4, /* .default_density (.densities[x]) */ 1172 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1173 MINUTES(1), /* .non_motion_timeout */ 1174 MINUTES(20), /* .io_timeout */ 1175 MINUTES(10), /* .rewind_timeout */ 1176 MINUTES(20), /* .space_timeout */ 1177 MINUTES(10), /* .load_timeout */ 1178 MINUTES(10), /* .unload_timeout */ 1179 MINUTES(300) /* .erase_timeout Five Hours */ 1180 }, 1181 1182 /* 1183 * HP Ultrium LTO Gen 3 1184 * [1] This drive supports two densites at this time. 1185 * In reality the type of media GEN 2 or GEN 3 selects the density. 1186 * ST_MODE_SEL_COMP controls compression. 1187 * [2] The Ultrium LTO has one speed. 1188 * [3] max_rretries and max_wretries are not used but kept for 1189 * backward compatibility. 1190 */ 1191 { /* Structure member Description */ 1192 /* ---------------- ----------- */ 1193 "HP Ultrium LTO 3", /* .name Display ("pretty") name */ 1194 17, /* .length Length of next item... */ 1195 "HP Ultrium 3*", /* .vid handles SCSI or FC */ 1196 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1197 0, /* .bsize Block size (0 = variable) */ 1198 /* .options Drive option flags: */ 1199 ST_VARIABLE | /* 0000001 Supports variable length */ 1200 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1201 ST_BSR | /* 0000010 Supports SPACE block rev */ 1202 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1203 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1204 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1205 ST_MODE_SEL_COMP | /* 0010000 Mode select compression */ 1206 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1207 /* ------- */ 1208 /* 1018619 */ 1209 -1, /* .max_rretries [Note 3] */ 1210 -1, /* .max_wretries [Note 3] */ 1211 {0x42, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 1212 MT_DENSITY4, /* .default_density (.densities[x]) */ 1213 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1214 MINUTES(1), /* .non_motion_timeout */ 1215 MINUTES(20), /* .io_timeout */ 1216 MINUTES(10), /* .rewind_timeout */ 1217 MINUTES(20), /* .space_timeout */ 1218 MINUTES(10), /* .load_timeout */ 1219 MINUTES(10), /* .unload_timeout */ 1220 MINUTES(300) /* .erase_timeout Five Hours */ 1221 }, 1222 1223 /* 1224 * HP Ultrium LTO Gen 2 1225 * [1] This drive supports two densites at this time. 1226 * In reality the type of media GEN 1 or GEN 2 selects the density. 1227 * ST_MODE_SEL_COMP controls compression. 1228 * [2] The Ultrium LTO has one speed. 1229 * [3] max_rretries and max_wretries are not used but kept for 1230 * backward compatibility. 1231 */ 1232 { /* Structure member Description */ 1233 /* ---------------- ----------- */ 1234 "HP Ultrium LTO 2", /* .name Display ("pretty") name */ 1235 17, /* .length Length of next item... */ 1236 "HP Ultrium 2*", /* .vid handles SCSI or FC */ 1237 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1238 0, /* .bsize Block size (0 = variable) */ 1239 /* .options Drive option flags: */ 1240 ST_VARIABLE | /* 00001 Supports variable length */ 1241 ST_BSF | /* 00008 Supports SPACE block fwd */ 1242 ST_BSR | /* 00010 Supports SPACE block rev */ 1243 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1244 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1245 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1246 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1247 /* ----- */ 1248 /* 18619 */ 1249 -1, /* .max_rretries [Note 3] */ 1250 -1, /* .max_wretries [Note 3] */ 1251 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 1252 MT_DENSITY4, /* .default_density (.densities[x]) */ 1253 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1254 MINUTES(1), /* .non_motion_timeout */ 1255 MINUTES(5), /* .io_timeout Four */ 1256 MINUTES(10), /* .rewind_timeout */ 1257 MINUTES(20), /* .space_timeout */ 1258 MINUTES(10), /* .load_timeout */ 1259 MINUTES(10), /* .unload_timeout */ 1260 MINUTES(300) /* .erase_timeout Five Hours */ 1261 }, 1262 1263 /* 1264 * HP Ultrium LTO 1265 * [1] This drive supports only one density at this time. 1266 ST_MODE_SEL_COMP controls compression. 1267 * [2] The Ultrium LTO has one speed. 1268 * [3] max_rretries and max_wretries are not used but kept for 1269 * backward compatibility. 1270 */ 1271 { /* Structure member Description */ 1272 /* ---------------- ----------- */ 1273 "HP Ultrium LTO", /* .name Display ("pretty") name */ 1274 17, /* .length Length of next item... */ 1275 "HP Ultrium 1*", /* .vid handles SCSI and FC */ 1276 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1277 0, /* .bsize Block size (0 = variable) */ 1278 /* .options Drive option flags: */ 1279 ST_VARIABLE | /* 00001 Supports variable length */ 1280 ST_BSF | /* 00008 Supports SPACE block fwd */ 1281 ST_BSR | /* 00010 Supports SPACE block rev */ 1282 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1283 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1284 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1285 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1286 /* ----- */ 1287 /* 18619 */ 1288 -1, /* .max_rretries [Note 3] */ 1289 -1, /* .max_wretries [Note 3] */ 1290 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 1291 MT_DENSITY4, /* .default_density (.densities[x]) */ 1292 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1293 MINUTES(1), /* .non_motion_timeout */ 1294 MINUTES(5), /* .io_timeout Four */ 1295 MINUTES(10), /* .rewind_timeout */ 1296 MINUTES(20), /* .space_timeout */ 1297 MINUTES(10), /* .load_timeout */ 1298 MINUTES(10), /* .unload_timeout */ 1299 MINUTES(300) /* .erase_timeout Five Hours */ 1300 }, 1301 1302 /* 1303 * Kennedy 1/2" reel 1304 * 1305 * NOTES 1306 * ----- 1307 * o This is an unsupported drive. 1308 * 1309 * o This entry uses a shortened Vendor-product ID string for the 1310 * INQUIRY match. 1311 * 1312 * [1] The density code entry requires four values, even if there are less 1313 * than four values for the drive. 1314 * [2] The Kennedy 1/2" reel has only one speed (if the driver ever cares). 1315 * [3] max_rretries and max_wretries are driver anachronisms. 1316 */ 1317 { /* Structure member Description */ 1318 /* ---------------- ----------- */ 1319 "Kennedy 1/2\" Reel", /* .name Display ("pretty") name */ 1320 4, /* .length Length of next item... */ 1321 "KENN***", /* .vid Vendor-product ID string */ 1322 ST_TYPE_KENNEDY, /* .type Numeric type (cf. mtio.h) */ 1323 0, /* .bsize Block size (0 = variable) */ 1324 /* .options Drive option flags: */ 1325 ST_VARIABLE | /* 00001 Supports variable length */ 1326 ST_REEL | /* 00004 1/2-inch reel tape device */ 1327 ST_BSF | /* 00008 Supports SPACE block fwd */ 1328 ST_BSR | /* 00010 Supports SPACE block rev */ 1329 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1330 /* ----- */ 1331 /* 0041D */ 1332 400, /* .max_rretries [Note 3] */ 1333 400, /* .max_wretries [Note 3] */ 1334 {0x01, 0x02, 0x03, 0x03}, /* .densities Density codes [Note 1] */ 1335 MT_DENSITY2, /* .default_density (.densities[x]) */ 1336 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1337 }, 1338 1339 /* 1340 * M4 Data Systems 9303 transport with 9700 512k i/f 1341 * 1342 * NOTES 1343 * ----- 1344 * o The M4 Data 9303 is in non-buffered mode because it doesn't 1345 * flush the buffer at end of tape writes. If you don't care 1346 * about end of tape conditions (e.g., you use dump(8) which 1347 * cannot handle end-of-tape anyhow), take out the ST_NOBUF. 1348 * 1349 * o This is an unsupported drive. 1350 * 1351 * [1] The density code entry requires four values, even if there are less 1352 * than four values for the drive. 1353 * [2] The M4 Data has only one speed (if the driver ever cares). 1354 * [3] max_rretries and max_wretries are driver anachronisms. 1355 */ 1356 { /* Structure member Description */ 1357 /* ---------------- ----------- */ 1358 "M4-Data 1/2\" Reel", /* .name Display ("pretty") name */ 1359 19, /* .length Length of next item... */ 1360 "M4 DATA 123107 SCSI", /* .vid Vendor-product ID string */ 1361 ST_TYPE_REEL, /* .type Numeric type (cf. mtio.h) */ 1362 0, /* .bsize Block size (0 = variable) */ 1363 /* .options Drive option flags: */ 1364 ST_VARIABLE | /* 00001 Supports variable length */ 1365 ST_REEL | /* 00004 1/2-inch reel tape device */ 1366 ST_BSF | /* 00008 Supports SPACE block fwd */ 1367 ST_BSR | /* 00010 Supports SPACE block rev */ 1368 ST_NOBUF | /* 00080 Don't use buffered mode. */ 1369 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1370 /* ----- */ 1371 /* 0049D */ 1372 500, /* .max_rretries [Note 3] */ 1373 500, /* .max_wretries [Note 3] */ 1374 {0x01, 0x02, 0x06, 0x06}, /* .densities Density codes [Note 1] */ 1375 MT_DENSITY2, /* .default_density (.densities[x]) */ 1376 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1377 }, 1378 1379 /* 1380 * Quantum VS 160 1381 * 1382 * Notes 1383 * [1] The VS160 reads several formats which the drive autodetects. 1384 * It can write only in VS160 format so all densities set ro 0x50. 1385 * [2] The speed field is not used and the VS160's speed is not setable. 1386 * [3] Retry counts are not used any more and set to -1. 1387 */ 1388 { /* Structure member Description */ 1389 /* ---------------- ----------- */ 1390 "Quantum VS160", /* .name Display ("pretty") name */ 1391 17, /* .length Length of next item... */ 1392 "QUANTUM DLT VS160", /* .vid Vendor-product ID string */ 1393 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1394 0, /* .bsize Block size (0 = variable) */ 1395 /* .options Drive option flags: */ 1396 ST_VARIABLE | /* 00001 Supports variable length */ 1397 ST_BSF | /* 00008 Supports SPACE block fwd */ 1398 ST_BSR | /* 00010 Supports SPACE block rev */ 1399 ST_AUTODEN_OVERRIDE | /* 00040 Has only one density */ 1400 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1401 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1402 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1403 ST_MODE_SEL_COMP, /* 10000 Uses Mode select Compress */ 1404 /* -------- */ 1405 /* 00018659 */ 1406 -1, /* .max_rretries [Note 3] */ 1407 -1, /* .max_wretries [Note 3] */ 1408 {0x50, 0x50, 0x50, 0x50}, /* .densities [Note 1] */ 1409 MT_DENSITY4, /* .default_density (.densities[x]) */ 1410 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1411 MINUTES(2), /* .non_motion_timeout Nothing special */ 1412 MINUTES(15), /* .io_timeout First write to new tape */ 1413 MINUTES(15), /* .rewind_timeout 15 minutes */ 1414 MINUTES(15), /* .space_timeout 15 minutes */ 1415 MINUTES(15), /* .load_timeout read catalog */ 1416 MINUTES(15), /* .unload_timeout write catalog + unthread */ 1417 MINUTES(180) /* .erase_timeout 3 hours */ 1418 }, 1419 /* 1420 * Quantum Super DLT600 1421 * 1422 * NOTES 1423 * ----- 1424 * 1425 * [1] The Super DLT 600 supports many tape formats, Most are media selected. 1426 * Previous DLT drives had density codes for compress and non-compress, 1427 This drive uses mode select to control compression. 1428 * [2] The Super DLT has only one speed (if the driver ever cares). 1429 * [3] max_rretries and max_wretries are driver anachronisms. 1430 */ 1431 { /* Structure member Description */ 1432 /* ---------------- ----------- */ 1433 "Quantum Super DLT 600", /* .name Display ("pretty") name */ 1434 15, /* .length Length of next item... */ 1435 "QUANTUM SDLT600", /* .vid Vendor-product ID string */ 1436 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1437 0, /* .bsize Block size (0 = variable) */ 1438 /* .options Drive option flags: */ 1439 ST_VARIABLE | /* 0000001 Supports variable length */ 1440 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1441 ST_BSR | /* 0000010 Supports SPACE block rev */ 1442 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1443 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1444 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1445 ST_MODE_SEL_COMP | /* 0010000 Uses Mode select Compress */ 1446 ST_WORMABLE, /* 1000000 Is capable of WORM */ 1447 /* ------- */ 1448 /* 1018619 */ 1449 -1, /* .max_rretries [Note 3] */ 1450 -1, /* .max_wretries [Note 3] */ 1451 {0x4a, 0x4a, 0x4a, 0x4a}, /* .densities [Note 1] */ 1452 MT_DENSITY4, /* .default_density (.densities[x]) */ 1453 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1454 0, /* .non_motion_timeout Nothing special */ 1455 MINUTES(60), /* .io_timeout Four One Hour */ 1456 MINUTES(4), /* .rewind_timeout Four Minutes */ 1457 MINUTES(360), /* .space_timeout 6 Hour if Directory bad */ 1458 MINUTES(16), /* .load_timeout Nothing Special */ 1459 MINUTES(16), /* .unload_timeout Nothing Special */ 1460 MINUTES(360) /* .erase_timeout Six hours */ 1461 }, 1462 1463 /* 1464 * Quantum Super DLT320 1465 * 1466 * NOTES 1467 * ----- 1468 * o There is not going to be a SUN version of this drive. It will 1469 * be released as QUANTUM only. 1470 * 1471 * [1] The Super DLT implements many tape formats, but the st driver supports 1472 * only the four highest densities. 1473 * [2] The Super DLT has only one speed (if the driver ever cares). 1474 * [3] max_rretries and max_wretries are driver anachronisms. 1475 */ 1476 { /* Structure member Description */ 1477 /* ---------------- ----------- */ 1478 "Quantum Super DLT 320", /* .name Display ("pretty") name */ 1479 15, /* .length Length of next item... */ 1480 "QUANTUM SDLT320", /* .vid Vendor-product ID string */ 1481 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1482 0, /* .bsize Block size (0 = variable) */ 1483 /* .options Drive option flags: */ 1484 ST_VARIABLE | /* 00001 Supports variable length */ 1485 ST_BSF | /* 00008 Supports SPACE block fwd */ 1486 ST_BSR | /* 00010 Supports SPACE block rev */ 1487 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1488 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1489 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1490 /* -------- */ 1491 /* 00008619 */ 1492 -1, /* .max_rretries [Note 3] */ 1493 -1, /* .max_wretries [Note 3] */ 1494 {0x90, 0x91, 0x92, 0x93}, /* .densities [Note 1] */ 1495 MT_DENSITY4, /* .default_density (.densities[x]) */ 1496 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1497 0, /* .non_motion_timeout Default 2 minutes */ 1498 MINUTES(60), /* .io_timeout Four Now 1 hour */ 1499 MINUTES(4), /* .rewind_timeout Four Minutes */ 1500 MINUTES(360), /* .space_timeout Six Hours */ 1501 MINUTES(16), /* .load_timeout Sixteen Minutes */ 1502 MINUTES(16), /* .unload_timeout Sixteen Minutes */ 1503 MINUTES(360) /* .erase_timeout Six hours */ 1504 }, 1505 1506 /* 1507 * Quantum Super DLT 1508 * 1509 * NOTES 1510 * ----- 1511 * o There is not going to be a SUN version of this drive. It will 1512 * be released as QUANTUM only. 1513 * 1514 * [1] The Super DLT implements many tape formats, but the st driver supports 1515 * only the four highest densities. 1516 * [2] The Super DLT has only one speed (if the driver ever cares). 1517 * [3] max_rretries and max_wretries are driver anachronisms. 1518 */ 1519 { /* Structure member Description */ 1520 /* ---------------- ----------- */ 1521 "Quantum Super DLT 220", /* .name Display ("pretty") name */ 1522 17, /* .length Length of next item... */ 1523 "QUANTUM SuperDLT1", /* .vid Vendor-product ID string */ 1524 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1525 0, /* .bsize Block size (0 = variable) */ 1526 /* .options Drive option flags: */ 1527 ST_VARIABLE | /* 00001 Supports variable length */ 1528 ST_BSF | /* 00008 Supports SPACE block fwd */ 1529 ST_BSR | /* 00010 Supports SPACE block rev */ 1530 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1531 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1532 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1533 /* -------- */ 1534 /* 00008619 */ 1535 -1, /* .max_rretries [Note 3] */ 1536 -1, /* .max_wretries [Note 3] */ 1537 {0x88, 0x89, 0x90, 0x91}, /* .densities [Note 1] */ 1538 MT_DENSITY4, /* .default_density (.densities[x]) */ 1539 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1540 0, /* .non_motion_timeout Default 2 minutes */ 1541 MINUTES(60), /* .io_timeout Four Now 1 hour */ 1542 MINUTES(4), /* .rewind_timeout Four Minutes */ 1543 MINUTES(360), /* .space_timeout Six Hours */ 1544 MINUTES(16), /* .load_timeout Sixteen Minutes */ 1545 MINUTES(16), /* .unload_timeout Sixteen Minutes */ 1546 MINUTES(360) /* .erase_timeout Six hours */ 1547 }, 1548 1549 /* 1550 * Quantum DLT8000 1551 * 1552 * NOTES 1553 * ----- 1554 * o There is not going to be a SUN version of this drive. It will 1555 * be released as QUANTUM only. 1556 * 1557 * [1] The DLT8000 implements many tape formats, but the st driver supports 1558 * only the four highest densities. 1559 * [2] The DLT8000 has only one speed (if the driver ever cares). 1560 * [3] max_rretries and max_wretries are driver anachronisms. 1561 */ 1562 { /* Structure member Description */ 1563 /* ---------------- ----------- */ 1564 "Quantum DLT8000", /* .name Display ("pretty") name */ 1565 15, /* .length Length of next item... */ 1566 "QUANTUM DLT8000", /* .vid Vendor-product ID string */ 1567 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1568 0, /* .bsize Block size (0 = variable) */ 1569 /* .options Drive option flags: */ 1570 ST_VARIABLE | /* 00001 Supports variable length */ 1571 ST_BSF | /* 00008 Supports SPACE block fwd */ 1572 ST_BSR | /* 00010 Supports SPACE block rev */ 1573 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1574 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1575 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1576 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1577 ST_CLN_TYPE_3, /* 40000000 */ 1578 /* ----- */ 1579 /* 40009619 */ 1580 400, /* .max_rretries [Note 3] */ 1581 400, /* .max_wretries [Note 3] */ 1582 {0x84, 0x85, 0x88, 0x89}, /* .densities [Note 1] */ 1583 MT_DENSITY4, /* .default_density (.densities[x]) */ 1584 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1585 0, /* .non_motion_timeout Nothing special */ 1586 0, /* .io_timeout Four Nothing Special */ 1587 0, /* .rewind_timeout Nothing Special */ 1588 0, /* .space_timeout Nothing Special */ 1589 0, /* .load_timeout Nothing Special */ 1590 0, /* .unload_timeout Nothing Special */ 1591 MINUTES(360) /* .erase_timeout Six hours */ 1592 }, 1593 1594 /* 1595 * Quantum DLT7000 1596 * 1597 * NOTES 1598 * ----- 1599 * [1] The DLT7000 implements many tape formats, but the st driver supports 1600 * only the four highest densities. 1601 * [2] The DLT7000 has only one speed (if the driver ever cares). 1602 * [3] max_rretries and max_wretries are driver anachronisms. 1603 * [4] Data is buffered in the driver and pre-acked to the application. This 1604 * is only supported in Solaris 2.5.1. 1605 */ 1606 { /* Structure member Description */ 1607 /* ---------------- ----------- */ 1608 "Quantum DLT7000", /* .name Display ("pretty") name */ 1609 15, /* .length Length of next item... */ 1610 "QUANTUM DLT7000", /* .vid Vendor-product ID string */ 1611 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1612 0, /* .bsize Block size (0 = variable) */ 1613 /* .options Drive option flags: */ 1614 ST_VARIABLE | /* 00001 Supports variable length */ 1615 ST_BSF | /* 00008 Supports SPACE block fwd */ 1616 ST_BSR | /* 00010 Supports SPACE block rev */ 1617 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1618 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1619 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1620 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 1621 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1622 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 1623 /* -------- */ 1624 /* 4000D619 */ 1625 400, /* .max_rretries [Note 3] */ 1626 400, /* .max_wretries [Note 3] */ 1627 {0x82, 0x83, 0x84, 0x85}, /* .densities Density codes [Note 1] */ 1628 MT_DENSITY3, /* .default_density (.densities[x]) */ 1629 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1630 0, /* .non_motion_timeout Nothing special */ 1631 0, /* .io_timeout Four Nothing Special */ 1632 0, /* .rewind_timeout Nothing Special */ 1633 0, /* .space_timeout Nothing Special */ 1634 0, /* .load_timeout Nothing Special */ 1635 0, /* .unload_timeout Nothing Special */ 1636 MINUTES(360) /* .erase_timeout Six hours */ 1637 }, 1638 1639 /* 1640 * Quantum DLT4000 1641 * 1642 * NOTES 1643 * ----- 1644 * [1] The DLT4000 implements many tape formats, but the st driver supports 1645 * only the four highest densities. 1646 * [2] The DLT4000 has only one speed (if the driver ever cares). 1647 * [3] max_rretries and max_wretries are driver anachronisms. 1648 * [4] Data is buffered in the driver and pre-acked to the application. This 1649 * is only supported in 2.5.1. 1650 */ 1651 { /* Structure member Description */ 1652 /* ---------------- ----------- */ 1653 "Quantum DLT4000", /* .name Display ("pretty") name */ 1654 15, /* .length Length of next item... */ 1655 "Quantum DLT4000", /* .vid Vendor-product ID string */ 1656 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1657 0, /* .bsize Block size (0 = variable) */ 1658 /* .options Drive option flags: */ 1659 ST_VARIABLE | /* 00001 Supports variable length */ 1660 ST_BSF | /* 00008 Supports SPACE block fwd */ 1661 ST_BSR | /* 00010 Supports SPACE block rev */ 1662 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1663 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1664 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1665 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 1666 ST_NO_RECSIZE_LIMIT| /* 08000 Supports blocks > 64KB */ 1667 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 1668 /* -------- */ 1669 /* 4000D619 */ 1670 400, /* .max_rretries [Note 3] */ 1671 400, /* .max_wretries [Note 3] */ 1672 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 1] */ 1673 MT_DENSITY3, /* .default_density (.densities[x]) */ 1674 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1675 0, /* .non_motion_timeout Nothing special */ 1676 0, /* .io_timeout Four Nothing Special */ 1677 0, /* .rewind_timeout Nothing Special */ 1678 0, /* .space_timeout Nothing Special */ 1679 0, /* .load_timeout Nothing Special */ 1680 0, /* .unload_timeout Nothing Special */ 1681 MINUTES(360) /* .erase_timeout Six hours */ 1682 }, 1683 1684 /* 1685 * [1] The DLT-S4 has three densites at this time, 1686 * 0x49 for SuperDLT tape I, 0x4a for SuperDLT tape II, 1687 * 0x4b for SuperDLT tape III. 1688 * This drive is configured with ST_KNOWS_MEDIA. 1689 * That means that it will look at the mediatype from the mode sense 1690 * to select the density code. The compression will be selected based 1691 * on the minor node the user opened. 1692 * [2] S4 reports a medium type that is used to select the density. 1693 */ 1694 { /* Structure member Description */ 1695 /* ---------------- ----------- */ 1696 "Quantum DLT-S4", /* .name Display ("pretty") name */ 1697 14, /* .length Length of next item... */ 1698 "QUANTUM DLT-S4", /* .vid Vendor-product ID string */ 1699 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1700 0, /* .bsize Block size (0 = variable) */ 1701 /* .options Drive option flags: */ 1702 ST_VARIABLE | /* 0000001 Supports variable length */ 1703 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1704 ST_BSR | /* 0000010 Supports SPACE block rev */ 1705 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1706 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1707 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1708 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 1709 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 1710 ST_WORMABLE, /* 1000000 Supports WORM */ 1711 /* ----- */ 1712 /* 1818619 */ 1713 -1, /* .max_rretries Not used any more. */ 1714 -1, /* .max_wretries Not used any more. */ 1715 {0x49, 0x4a, 0x4b, 0x4b}, /* .densities Density codes [Note 1] */ 1716 MT_DENSITY4, /* .default_density (.densities[x]) */ 1717 {0x86, 0x87, 0x91, 0x91}, /* .mediatype Media type [Note 2] */ 1718 0, /* .non_motion_time */ 1719 MINUTES(60), /* .io_time */ 1720 MINUTES(4), /* .rewind_time */ 1721 MINUTES(360), /* .space_time */ 1722 MINUTES(16), /* .load_time */ 1723 MINUTES(16), /* .unload_time */ 1724 MINUTES(360) /* .erase_time */ 1725 }, 1726 1727 /* 1728 * Seagate Hornet NS20 Travan 1729 * 1730 * NOTES 1731 * ----- 1732 * o This is an unsupported drive. 1733 * 1734 * [1] The NS20 Travan uses 0 or the "default" density code. 1735 * [2] The NS20 Travan has only one speed (if the driver ever cares). 1736 * [3] max_rretries and max_wretries are driver anachronisms. 1737 */ 1738 { /* Structure member Description */ 1739 /* ---------------- ----------- */ 1740 "Seagate Hornet NS20 Travan", 1741 /* .name Display ("pretty") name */ 1742 17, /* .length Length of next item... */ 1743 "Seagate STT20000N", /* .vid Vendor-product ID string */ 1744 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 1745 512, /* .bsize Block size (0 = variable) */ 1746 /* .options Drive option flags: */ 1747 ST_QIC | /* 00002 QIC tape device */ 1748 ST_BSF | /* 00008 Supports SPACE block fwd */ 1749 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1750 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1751 /* ----- */ 1752 /* 0840A */ 1753 400, /* .max_rretries [Note 3] */ 1754 400, /* .max_wretries [Note 3] */ 1755 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 1756 MT_DENSITY1, /* .default_density (.densities[x]) */ 1757 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1758 }, 1759 1760 /* 1761 * Seagate DAT 72 1762 * 1763 * [1] Has only one density, Uses Mode Select to enable-disable compression. 1764 * [2] Only one speed. 1765 */ 1766 1767 { /* Structure member Description */ 1768 /* ---------------- ----------- */ 1769 "Seagate DAT 72", /* .name Display ("pretty") name */ 1770 23, /* .length Length of next item... */ 1771 "SEAGATE DAT DAT72-00",/* .vid Vendor-product ID string */ 1772 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1773 0, /* .bsize Block size (0 = variable) */ 1774 /* .options Drive option flags: */ 1775 ST_VARIABLE | /* 00001 variable length records */ 1776 ST_BSF | /* 00008 Supports SPACE block fwd */ 1777 ST_BSR | /* 00010 Supports backspace record */ 1778 ST_KNOWS_EOD | /* 00200 Knows EOD when it sees it */ 1779 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1780 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1781 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1782 /* ----- */ 1783 /* 18619 */ 1784 -1, /* .max_rretries Not used any more. */ 1785 -1, /* .max_wretries Not Used any more. */ 1786 {0x47, 0x47, 0x47, 0x47}, /* .densities Density codes [Note 1] */ 1787 MT_DENSITY4, /* .default_density (.densities[x]) */ 1788 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1789 0, /* .non_motion_timeout */ 1790 MINUTES(15), /* .io_timeout */ 1791 MINUTES(2), /* .rewind_timeout */ 1792 MINUTES(15), /* .space_timeout */ 1793 0, /* .load_timeout */ 1794 0, /* .unload_timeout */ 1795 MINUTES(240) /* .erase_timeout */ 1796 }, 1797 1798 /* 1799 * Certance Ultrium LTO 3 1800 * [1] This drive supports 3 densites at this time. 1801 * ST_MODE_SEL_COMP controls compression. 1802 * [2] max_rretries and max_wretries are not used but kept for 1803 * backward compatibility. 1804 */ 1805 { /* Structure member Description */ 1806 /* ---------------- ----------- */ 1807 "Certance Ultrium 3", /* .name Display ("pretty") name */ 1808 17, /* .length Length of next item... */ 1809 "CERTANCEULTRIUM 3", /* .vid handles SCSI or FC */ 1810 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1811 0, /* .bsize Block size (0 = variable) */ 1812 /* .options Drive option flags: */ 1813 ST_VARIABLE | /* 00001 Supports variable length */ 1814 ST_BSF | /* 00008 Supports SPACE block fwd */ 1815 ST_BSR | /* 00010 Supports SPACE block rev */ 1816 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1817 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1818 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1819 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1820 /* ----- */ 1821 /* 18619 */ 1822 -1, /* .max_rretries [Note 2] */ 1823 -1, /* .max_wretries [Note 2] */ 1824 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 1825 MT_DENSITY4, /* .default_density (.densities[x]) */ 1826 {0, 0, 0, 0}, /* .speeds Speed codes */ 1827 0, /* .non_motion_timeout */ 1828 MINUTES(60), /* .io_timeout */ 1829 MINUTES(35), /* .rewind_timeout */ 1830 MINUTES(60), /* .space_timeout */ 1831 MINUTES(35), /* .load_timeout */ 1832 MINUTES(35), /* .unload_timeout */ 1833 MINUTES(180) /* .erase_timeout */ 1834 }, 1835 1836 /* 1837 * Certance Ultrium LTO 2 1838 * [1] This drive supports two densites at this time. 1839 * 0x40 for Ultrium 1 and 0x42 for Ultrium 2. 1840 * ST_MODE_SEL_COMP controls compression. 1841 * [2] max_rretries and max_wretries are not used but kept for 1842 * backward compatibility. 1843 */ 1844 { /* Structure member Description */ 1845 /* ---------------- ----------- */ 1846 "Certance Ultrium 2", /* .name Display ("pretty") name */ 1847 17, /* .length Length of next item... */ 1848 "CERTANCEULTRIUM 2", /* .vid handles SCSI or FC */ 1849 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1850 0, /* .bsize Block size (0 = variable) */ 1851 /* .options Drive option flags: */ 1852 ST_VARIABLE | /* 00001 Supports variable length */ 1853 ST_BSF | /* 00008 Supports SPACE block fwd */ 1854 ST_BSR | /* 00010 Supports SPACE block rev */ 1855 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1856 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1857 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1858 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1859 /* ----- */ 1860 /* 18619 */ 1861 -1, /* .max_rretries [Note 2] */ 1862 -1, /* .max_wretries [Note 2] */ 1863 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 1864 MT_DENSITY4, /* .default_density (.densities[x]) */ 1865 {0, 0, 0, 0}, /* .speeds Speed codes */ 1866 0, /* .non_motion_timeout */ 1867 MINUTES(60), /* .io_timeout */ 1868 MINUTES(35), /* .rewind_timeout */ 1869 MINUTES(60), /* .space_timeout */ 1870 MINUTES(35), /* .load_timeout */ 1871 MINUTES(35), /* .unload_timeout */ 1872 MINUTES(180) /* .erase_timeout */ 1873 }, 1874 1875 /* 1876 * Seagate Ultrium LTO 1877 * 1878 * [1] Has only one density, Uses Mode Select to enable-disable compression. 1879 * [2] Only one speed. 1880 */ 1881 1882 { /* Structure member Description */ 1883 /* ---------------- ----------- */ 1884 "Seagate Ultrium LTO", /* .name Display ("pretty") name */ 1885 23, /* .length Length of next item... */ 1886 "SEAGATE ULTRIUM06242-XX",/* .vid Vendor-product ID string */ 1887 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1888 0, /* .bsize Block size (0 = variable) */ 1889 /* .options Drive option flags: */ 1890 ST_VARIABLE | /* 00001 variable length records */ 1891 ST_BSF | /* 00008 Supports SPACE block fwd */ 1892 ST_BSR | /* 00010 Supports backspace record */ 1893 ST_KNOWS_EOD | /* 00200 Knows EOD when it sees it */ 1894 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1895 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1896 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1897 /* ----- */ 1898 /* 18619 */ 1899 -1, /* .max_rretries Not used any more. */ 1900 -1, /* .max_wretries Not Used any more. */ 1901 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 1902 MT_DENSITY4, /* .default_density (.densities[x]) */ 1903 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1904 0, /* .non_motion_timeout */ 1905 MINUTES(10), /* .io_timeout */ 1906 MINUTES(15), /* .rewind_timeout */ 1907 MINUTES(120), /* .space_timeout */ 1908 MINUTES(5), /* .load_timeout */ 1909 MINUTES(2), /* .unload_timeout */ 1910 MINUTES(120) /* .erase_timeout */ 1911 }, 1912 1913 /* 1914 * SONY 4mm DAT 1915 * 1916 * NOTES 1917 * ----- 1918 * o This is an unsupported drive. 1919 * 1920 * o This entry uses a shortened Vendor-product ID string for the 1921 * INQUIRY match. 1922 * 1923 * [1] The SDT-5000 uses 0 or the "default" density code. 1924 * [2] The SDT-5000 has only one speed (if the driver ever cares). 1925 * [3] max_rretries and max_wretries are driver anachronisms. 1926 */ 1927 { /* Structure member Description */ 1928 /* ---------------- ----------- */ 1929 "SONY 4mm DAT", /* .name Display ("pretty") name */ 1930 12, /* .length Length of next item... */ 1931 "SONY SDT-****", /* .vid Vendor-product ID string */ 1932 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 1933 0, /* .bsize Block size (0 = variable) */ 1934 /* .options Drive option flags: */ 1935 ST_VARIABLE | /* 00001 Supports variable length */ 1936 ST_BSF | /* 00008 Supports SPACE block fwd */ 1937 ST_BSR | /* 00010 Supports SPACE block rev */ 1938 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1939 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1940 /* ----- */ 1941 /* 00439 */ 1942 400, /* .max_rretries [Note 3] */ 1943 400, /* .max_wretries [Note 3] */ 1944 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 1945 MT_DENSITY2, /* .default_density (.densities[x]) */ 1946 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1947 }, 1948 1949 /* 1950 * Sun StorageTek T10000A tape drive. 1951 * 1952 * NOTES 1953 * ----- 1954 * o The T10000A has special needs - support for SCSI LOCATE and 1955 * READ POSITION commands - so we must be sure to place this 1956 * entry before the one for ST_TYPE_STC3490 (generic STK 1957 * half-inch cartridge drives). 1958 * [1] Compression on the T10000A is controlled 1959 * via the Device Configuration mode page. 1960 * [2] The T10000A has only one writable density, 0x4A. 1961 * [3] The T10000A has only one speed (if the driver ever cares). 1962 * [4] max_rretries and max_wretries are driver anachronisms. 1963 */ 1964 { /* Structure member Description */ 1965 /* ---------------- ----------- */ 1966 "Sun StorageTek T10000A", /* .name Display ("pretty") name */ 1967 15, /* .length Length of next item... */ 1968 "STK T10000A", /* .vid Vendor-product ID string */ 1969 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 1970 0, /* .bsize Block size (0 = variable)*/ 1971 /* .options Drive option flags: */ 1972 ST_VARIABLE | /* 0000001 Supports variable length */ 1973 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1974 ST_BSR | /* 0000010 Supports SPACE block rev */ 1975 ST_AUTODEN_OVERRIDE | /* 0000040 Autodensity override flag*/ 1976 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1977 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1978 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1979 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 1980 ST_WORMABLE, /* 1000000 Supports WORM */ 1981 /* ------- */ 1982 /* 1018659 */ 1983 -1, /* .max_rretries [Note 4] */ 1984 -1, /* .max_wretries [Note 4] */ 1985 {0x4A,0x4A,0x4A,0x4A}, /* .densities Density codes [Note 2] */ 1986 MT_DENSITY4, /* .default_density (.densities[x]) */ 1987 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 1988 0, /* .non_motion_timeout Nothing Special */ 1989 MINUTES(5), /* .io_timeout Five Five Minutes */ 1990 0, /* .rewind_timeout Nothing Special */ 1991 0, /* .space_timeout Nothing Special */ 1992 0, /* .load_timeout Nothing Special */ 1993 0, /* .unload_timeout Nothing Special */ 1994 MINUTES(180) /* .erase_timeout Three Hours */ 1995 }, 1996 1997 /* 1998 * STK 9840C cartridge drive. 1999 * 2000 * NOTES 2001 * ----- 2002 * o The 9840C has special needs - support for SCSI LOCATE and 2003 * READ POSITION commands - so we must be sure to place this 2004 * entry before the one for ST_TYPE_STC3490 (generic STK 2005 * half-inch cartridge drives). 2006 * [1] Compression on the 9840C is controlled 2007 * via the Device Configuration mode page. 2008 * [2] The 9840C has only one writable density, 0x45. I can read tapes writen 2009 * with 9840 and 9840B writen with there density code 0x42. 2010 * [3] The 9840C has only one speed (if the driver ever cares). 2011 * [4] max_rretries and max_wretries are driver anachronisms. 2012 */ 2013 { /* Structure member Description */ 2014 /* ---------------- ----------- */ 2015 "StorageTek 9840C", /* .name Display ("pretty") name */ 2016 14, /* .length Length of next item... */ 2017 "STK T9840C", /* .vid Vendor-product ID string */ 2018 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2019 0, /* .bsize Block size (0 = variable)*/ 2020 /* .options Drive option flags: */ 2021 ST_VARIABLE | /* 0000001 Supports variable length */ 2022 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2023 ST_BSR | /* 0000010 Supports SPACE block rev */ 2024 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2025 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2026 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2027 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2028 ST_WORMABLE, /* 1000000 Supports WORM */ 2029 /* ------- */ 2030 /* 1018619 */ 2031 -1, /* .max_rretries [Note 4] */ 2032 -1, /* .max_wretries [Note 4] */ 2033 {0x45,0x45,0x45,0x45}, /* .densities Density codes [Note 2] */ 2034 MT_DENSITY1, /* .default_density (.densities[x]) */ 2035 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 2036 0, /* .non_motion_timeout Nothing Special */ 2037 MINUTES(5), /* .io_timeout Five Five Minutes */ 2038 0, /* .rewind_timeout Nothing Special */ 2039 0, /* .space_timeout Nothing Special */ 2040 0, /* .load_timeout Nothing Special */ 2041 0, /* .unload_timeout Nothing Special */ 2042 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2043 }, 2044 2045 /* 2046 * STK 9840B cartridge drive. 2047 * 2048 * NOTES 2049 * ----- 2050 * o The 9840B has special needs - support for SCSI LOCATE and 2051 * READ POSITION commands - so we must be sure to place this 2052 * entry before the one for ST_TYPE_STC3490 (generic STK 2053 * half-inch cartridge drives). 2054 * [1] Compression on the 9840B is controlled 2055 * via the Device Configuration mode page. 2056 * [2] The 9840B has only one density, 0x42 (or 0 for "default"). 2057 * [3] The 9840B has only one speed (if the driver ever cares). 2058 * [4] max_rretries and max_wretries are driver anachronisms. 2059 */ 2060 { /* Structure member Description */ 2061 /* ---------------- ----------- */ 2062 "StorageTek 9840B", /* .name Display ("pretty") name */ 2063 14, /* .length Length of next item... */ 2064 "STK T9840B", /* .vid Vendor-product ID string */ 2065 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2066 0, /* .bsize Block size (0 = variable)*/ 2067 /* .options Drive option flags: */ 2068 ST_VARIABLE | /* 0000001 Supports variable length */ 2069 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2070 ST_BSR | /* 0000010 Supports SPACE block rev */ 2071 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2072 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2073 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2074 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2075 ST_WORMABLE, /* 1000000 Supports WORM */ 2076 /* ------- */ 2077 /* 1018619 */ 2078 -1, /* .max_rretries [Note 4] */ 2079 -1, /* .max_wretries [Note 4] */ 2080 {0x42,0x42,0x42,0x42}, /* .densities Density codes [Note 2] */ 2081 MT_DENSITY1, /* .default_density (.densities[x]) */ 2082 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 2083 0, /* .non_motion_timeout Nothing Special */ 2084 MINUTES(5), /* .io_timeout Five Five Minutes */ 2085 0, /* .rewind_timeout Nothing Special */ 2086 0, /* .space_timeout Nothing Special */ 2087 0, /* .load_timeout Nothing Special */ 2088 0, /* .unload_timeout Nothing Special */ 2089 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2090 }, 2091 2092 /* 2093 * STK 9940B cartridge drive. 2094 * 2095 * NOTES 2096 * ----- 2097 * [1] Compression on the 9940 is controlled 2098 * via the Device Configuration mode page. 2099 * [2] The 9940 has only one density, 0x44. 2100 * [3] The 9940 has only one speed (if the driver ever cares). 2101 * [4] max_rretries and max_wretries are driver not used. 2102 */ 2103 { /* Structure member Description */ 2104 /* ---------------- ----------- */ 2105 "StorageTek 9940B", /* .name Display ("pretty") name */ 2106 14, /* .length Length of next item... */ 2107 "STK T9940B", /* .vid Vendor-product ID string */ 2108 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h) */ 2109 0, /* .bsize Block size (0 = variable) */ 2110 /* .options Drive option flags: */ 2111 ST_VARIABLE | /* 0000001 Supports variable length */ 2112 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2113 ST_BSR | /* 0000010 Supports SPACE block rev */ 2114 ST_AUTODEN_OVERRIDE | /* 0000040 Autodensity override flag */ 2115 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2116 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2117 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2118 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2119 ST_WORMABLE, /* 1000000 Supports WORM */ 2120 /* ------- */ 2121 /* 1018659 */ 2122 -1, /* .max_rretries [Note 4] */ 2123 -1, /* .max_wretries [Note 4] */ 2124 {0x44,0x44,0x44,0x44}, /* .densities Density codes [Note 2] */ 2125 MT_DENSITY1, /* .default_density (.densities[x]) */ 2126 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2127 0, /* .non_motion_timeout Nothing Special */ 2128 MINUTES(5), /* .io_timeout Five minutes */ 2129 0, /* .rewind_timeout Nothing Special */ 2130 MINUTES(180), /* .space_timeout Three Hours 3 x 9840 */ 2131 0, /* .load_timeout Nothing Special */ 2132 0, /* .unload_timeout Nothing Special */ 2133 MINUTES(210) /* .erase_timeout Three and a half hours */ 2134 }, 2135 2136 /* 2137 * STK 9940 cartridge drive. 2138 * 2139 * NOTES 2140 * ----- 2141 * [1] Compression on the 9940 is controlled 2142 * via the Device Configuration mode page. 2143 * [2] The 9940 has only one density, 0x43. 2144 * [3] The 9940 has only one speed (if the driver ever cares). 2145 * [4] max_rretries and max_wretries are driver not used. 2146 */ 2147 { /* Structure member Description */ 2148 /* ---------------- ----------- */ 2149 "StorageTek 9940", /* .name Display ("pretty") name */ 2150 14, /* .length Length of next item... */ 2151 "STK T9940A", /* .vid Vendor-product ID string */ 2152 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2153 0, /* .bsize Block size (0 = variable)*/ 2154 /* .options Drive option flags: */ 2155 ST_VARIABLE | /* 0000001 Supports variable length */ 2156 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2157 ST_BSR | /* 0000010 Supports SPACE block rev */ 2158 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2159 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2160 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2161 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2162 ST_WORMABLE, /* 1000000 Supports WORM */ 2163 /* ------- */ 2164 /* 1018619 */ 2165 -1, /* .max_rretries [Note 4] */ 2166 -1, /* .max_wretries [Note 4] */ 2167 {0x43,0x43,0x43,0x43}, /* .densities Density codes [Note 2] */ 2168 MT_DENSITY1, /* .default_density (.densities[x]) */ 2169 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2170 0, /* .non_motion_timeout Nothing Special */ 2171 MINUTES(5), /* .io_timeout Five Minutes */ 2172 0, /* .rewind_timeout Nothing Special */ 2173 MINUTES(180), /* .space_timeout Three Hours 3 x 9840 */ 2174 0, /* .load_timeout Nothing Special */ 2175 0, /* .unload_timeout Nothing Special */ 2176 MINUTES(210) /* .erase_timeout Three and a half hours */ 2177 }, 2178 2179 /* 2180 * STK 9840 cartridge drive (Sun codename: Ironsides) 2181 * 2182 * NOTES 2183 * ----- 2184 * o The 9840 has special needs - support for SCSI LOCATE and 2185 * READ POSITION commands - so we must be sure to place this 2186 * entry before the one for ST_TYPE_STC3490 (generic STK 2187 * half-inch cartridge drives). 2188 * [1] Compression on the 9840 is controlled 2189 * via the Device Configuration mode page. 2190 * [2] The 9840 has only one density, 0x42 (or 0 for "default"). 2191 * [3] The 9840 has only one speed (if the driver ever cares). 2192 * [4] max_rretries and max_wretries are driver anachronisms. 2193 * [5] ST_LONG_ERASE is not needed or used when .erase_timeout 2194 * is non-zero. 2195 */ 2196 { /* Structure member Description */ 2197 /* ---------------- ----------- */ 2198 "StorageTek 9840", /* .name Display ("pretty") name */ 2199 12, /* .length Length of next item... */ 2200 "STK 9840", /* .vid Vendor-product ID string */ 2201 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2202 0, /* .bsize Block size (0 = variable)*/ 2203 /* .options Drive option flags: */ 2204 ST_VARIABLE | /* 0000001 Supports variable length */ 2205 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2206 ST_BSR | /* 0000010 Supports SPACE block rev */ 2207 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2208 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2209 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2210 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2211 ST_WORMABLE, /* 1000000 Supports WORM */ 2212 /* ------- */ 2213 /* 1018619 */ 2214 10, /* .max_rretries [Note 4] */ 2215 10, /* .max_wretries [Note 4] */ 2216 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 2] */ 2217 MT_DENSITY1, /* .default_density (.densities[x]) */ 2218 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2219 0, /* .non_motion_timeout Nothing Special */ 2220 MINUTES(5), /* .io_timeout Five Minutes */ 2221 0, /* .rewind_timeout Nothing Special */ 2222 0, /* .space_timeout Nothing Special */ 2223 0, /* .load_timeout Nothing Special */ 2224 0, /* .unload_timeout Nothing Special */ 2225 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2226 }, 2227 2228 /* 2229 * Sony SAIT 2230 * 2231 * Only looking at part of the product ID so it will match SDZ-100 and 2232 * SDZ-130. One is SCSI other is Fibre but same configuration otherwise. 2233 * 2234 */ 2235 { /* Structure member Description */ 2236 /* ---------------- ----------- */ 2237 "Sony Super AIT", /* .name Display ("pretty") name */ 2238 13, /* .length Length of next item... */ 2239 "SONY SDZ-1*", /* .vid Vendor-product ID string */ 2240 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2241 0, 2242 ST_VARIABLE | /* 0000001 Supports variable length */ 2243 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2244 ST_BSR | /* 0000010 Supports SPACE block rev */ 2245 ST_AUTODEN_OVERRIDE | /* 0000040 Suports only one density */ 2246 ST_KNOWS_EOD | /* 0000200 Knows End Of Data */ 2247 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2248 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2249 ST_MODE_SEL_COMP | /* 0010000 mode select compression */ 2250 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 2251 /* ------- */ 2252 /* 1018659 */ 2253 -1, /* .max_rretries Not used */ 2254 -1, /* .max_wretries Not used */ 2255 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 2256 MT_DENSITY4, /* .default_density (.densities[x]) */ 2257 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2258 0, /* .non_motion_timeout Nothing special */ 2259 0, /* .io_timeout Four Nothing Special */ 2260 0, /* .rewind_timeout Nothing Special */ 2261 0, /* .space_timeout Nothing Special */ 2262 0, /* .load_timeout Nothing Special */ 2263 0, /* .unload_timeout Nothing Special */ 2264 0, /* .erase_timeout Six hours */ 2265 }, 2266 2267 /* 2268 * Sony SDX-420 2269 * This drive is listed before the more generic AIT drives becouse it runs 2270 * only in fixed block mode. It also responds to READ BLOCK LIMITS which 2271 * leads st to beleive its a variable block capable but it will fail any 2272 * i/o that doesn't have the fix bit set in the CDB. 2273 */ 2274 { /* Structure member Description */ 2275 /* ---------------- ----------- */ 2276 "Sony AIT II", /* .name Display ("pretty") name */ 2277 15, /* .length Length of next item... */ 2278 "SONY SDX-420*", /* .vid Vendor-product ID string */ 2279 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2280 512, 2281 ST_BSF | /* 00008 Supports SPACE block fwd */ 2282 ST_BSR | /* 00010 Supports SPACE block rev */ 2283 ST_AUTODEN_OVERRIDE | /* 00040 One density code */ 2284 ST_KNOWS_EOD | /* 00200 Knows End Of Data */ 2285 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2286 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2287 ST_MODE_SEL_COMP, /* 10000 mode select compression */ 2288 /* ----- */ 2289 /* 18658 */ 2290 -1, /* .max_rretries Not used */ 2291 -1, /* .max_wretries Not used */ 2292 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2293 MT_DENSITY4, /* .default_density (.densities[x]) */ 2294 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2295 0, /* .non_motion_timeout Nothing special */ 2296 0, /* .io_timeout Four Nothing Special */ 2297 0, /* .rewind_timeout Nothing Special */ 2298 0, /* .space_timeout Nothing Special */ 2299 0, /* .load_timeout Nothing Special */ 2300 0, /* .unload_timeout Nothing Special */ 2301 0, /* .erase_timeout Six hours */ 2302 }, 2303 2304 /* 2305 * Sony SDX-520 2306 * This drive is listed before the more generic AIT drives becouse it runs 2307 * only in fixed block mode. It also responds to READ BLOCK LIMITS which 2308 * leads st to beleive its a variable block capable but it will fail any 2309 * i/o that doesn't have the fix bit set in the CDB. 2310 */ 2311 { /* Structure member Description */ 2312 /* ---------------- ----------- */ 2313 "Sony AIT II", /* .name Display ("pretty") name */ 2314 15, /* .length Length of next item... */ 2315 "SONY SDX-520*", /* .vid Vendor-product ID string */ 2316 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2317 512, 2318 ST_BSF | /* 00008 Supports SPACE block fwd */ 2319 ST_BSR | /* 00010 Supports SPACE block rev */ 2320 ST_AUTODEN_OVERRIDE | /* 00040 One density code */ 2321 ST_KNOWS_EOD | /* 00200 Knows End Of Data */ 2322 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2323 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2324 ST_MODE_SEL_COMP, /* 10000 mode select compression */ 2325 /* ----- */ 2326 /* 18658 */ 2327 -1, /* .max_rretries Not used */ 2328 -1, /* .max_wretries Not used */ 2329 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2330 MT_DENSITY4, /* .default_density (.densities[x]) */ 2331 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2332 0, /* .non_motion_timeout Nothing special */ 2333 0, /* .io_timeout Four Nothing Special */ 2334 0, /* .rewind_timeout Nothing Special */ 2335 0, /* .space_timeout Nothing Special */ 2336 0, /* .load_timeout Nothing Special */ 2337 0, /* .unload_timeout Nothing Special */ 2338 0, /* .erase_timeout Six hours */ 2339 }, 2340 2341 /* Sony generic AIT 2342 * 2343 * 2344 */ 2345 { /* Structure member Description */ 2346 /* ---------------- ----------- */ 2347 "Sony AIT", /* .name Display ("pretty") name */ 2348 12, /* .length Length of next item... */ 2349 "SONY SDX-*", /* .vid Vendor-product ID string */ 2350 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2351 0, 2352 ST_VARIABLE | /* 0000001 Supports variable length */ 2353 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2354 ST_BSR | /* 0000010 Supports SPACE block rev */ 2355 ST_AUTODEN_OVERRIDE | /* 0000040 One density code */ 2356 ST_KNOWS_EOD | /* 0000200 Knows End Of Data */ 2357 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2358 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2359 ST_MODE_SEL_COMP | /* 0010000 mode select compression */ 2360 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 2361 /* ------- */ 2362 /* 1018659 */ 2363 -1, /* .max_rretries Not used */ 2364 -1, /* .max_wretries Not used */ 2365 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2366 MT_DENSITY4, /* .default_density (.densities[x]) */ 2367 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2368 0, /* .non_motion_timeout Nothing special */ 2369 0, /* .io_timeout Four Nothing Special */ 2370 0, /* .rewind_timeout Nothing Special */ 2371 0, /* .space_timeout Nothing Special */ 2372 0, /* .load_timeout Nothing Special */ 2373 0, /* .unload_timeout Nothing Special */ 2374 0, /* .erase_timeout Six hours */ 2375 }, 2376 2377 /* 2378 * Sun DLT7000 2379 * 2380 * NOTES 2381 * ----- 2382 * [1] The DLT7000 implements many tape formats, but the st driver supports 2383 * only the four highest densities. 2384 * [2] The DLT7000 has only one speed (if the driver ever cares). 2385 * [3] max_rretries and max_wretries are driver anachronisms. 2386 * [4] Data is buffered in the driver and pre-acked to the application. This 2387 * is only supported in 2.5.1. 2388 */ 2389 { /* Structure member Description */ 2390 /* ---------------- ----------- */ 2391 "Sun DLT7000", /* .name Display ("pretty") name */ 2392 15, /* .length Length of next item... */ 2393 "SUN DLT7000", /* .vid Vendor-product ID string */ 2394 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2395 0, /* .bsize Block size (0 = variable) */ 2396 /* .options Drive option flags: */ 2397 ST_VARIABLE | /* 00001 Supports variable length */ 2398 ST_BSF | /* 00008 Supports SPACE block fwd */ 2399 ST_BSR | /* 00010 Supports SPACE block rev */ 2400 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2401 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2402 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2403 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2404 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2405 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 2406 /* -------- */ 2407 /* 4000D619 */ 2408 400, /* .max_rretries [Note 3] */ 2409 400, /* .max_wretries [Note 3] */ 2410 {0x82, 0x83, 0x84, 0x85}, /* .densities Density codes [Note 1] */ 2411 MT_DENSITY3, /* .default_density (.densities[x]) */ 2412 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2413 0, /* .non_motion_timeout Nothing special */ 2414 0, /* .io_timeout Four Nothing Special */ 2415 0, /* .rewind_timeout Nothing Special */ 2416 0, /* .space_timeout Nothing Special */ 2417 0, /* .load_timeout Nothing Special */ 2418 0, /* .unload_timeout Nothing Special */ 2419 MINUTES(360) /* .erase_timeout Six hours */ 2420 }, 2421 2422 /* 2423 * Sun DLT4000 2424 * 2425 * NOTES 2426 * ----- 2427 * [1] The DLT4000 implements many tape formats, but the st driver supports 2428 * only the four highest densities. 2429 * [2] The DLT4000 has only one speed (if the driver ever cares). 2430 * [3] max_rretries and max_wretries are driver anachronisms. 2431 * [4] Data is buffered in the driver and pre-acked to the application. This 2432 * is only supported in 2.5.1. 2433 */ 2434 { /* Structure member Description */ 2435 /* ---------------- ----------- */ 2436 "DLT4000", /* .name Display ("pretty") name */ 2437 15, /* .length Length of next item... */ 2438 "SUN DLT4000", /* .vid Vendor-product ID string */ 2439 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2440 0, /* .bsize Block size (0 = variable) */ 2441 /* .options Drive option flags: */ 2442 ST_VARIABLE | /* 00001 Supports variable length */ 2443 ST_BSF | /* 00008 Supports SPACE block fwd */ 2444 ST_BSR | /* 00010 Supports SPACE block rev */ 2445 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2446 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2447 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2448 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2449 ST_NO_RECSIZE_LIMIT| /* 08000 Supports blocks > 64KB */ 2450 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 2451 /* -------- */ 2452 /* 4000D619 */ 2453 400, /* .max_rretries [Note 3] */ 2454 400, /* .max_wretries [Note 3] */ 2455 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 1] */ 2456 MT_DENSITY3, /* .default_density (.densities[x]) */ 2457 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2458 0, /* .non_motion_timeout Nothing special */ 2459 0, /* .io_timeout Four Nothing Special */ 2460 0, /* .rewind_timeout Nothing Special */ 2461 0, /* .space_timeout Nothing Special */ 2462 0, /* .load_timeout Nothing Special */ 2463 0, /* .unload_timeout Nothing Special */ 2464 MINUTES(360) /* .erase_timeout Six hours */ 2465 }, 2466 2467 /* 2468 * Sun DLT4700 2469 * 2470 * NOTES 2471 * ----- 2472 * [1] Compression on the DLT4700 is controlled via the Device Configuration 2473 * mode page or the Data Compression page (either one). 2474 * [2] The DLT4700 implements many tape formats, but the st driver supports 2475 * only the four highest densities. 2476 * [3] The DLT4700 has only one speed (if the driver ever cares). 2477 * [4] max_rretries and max_wretries are driver anachronisms. 2478 * [5] Data is buffered in the driver and pre-acked to the application. This 2479 * is only supported in 2.5.1. 2480 */ 2481 { /* Structure member Description */ 2482 /* ---------------- ----------- */ 2483 "DLT4700 Library", /* .name Display ("pretty") name */ 2484 15, /* .length Length of next item... */ 2485 "SUN DLT4700", /* .vid Vendor-product ID string */ 2486 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2487 0, /* .bsize Block size (0 = variable) */ 2488 /* .options Drive option flags: */ 2489 ST_VARIABLE | /* 00001 Supports variable length */ 2490 ST_BSF | /* 00008 Supports SPACE block fwd */ 2491 ST_BSR | /* 00010 Supports SPACE block rev */ 2492 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2493 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2494 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2495 ST_BUFFERED_WRITES | /* 04000 [Note 5] */ 2496 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2497 /* ----- */ 2498 /* 0D619 */ 2499 400, /* .max_rretries [Note 4] */ 2500 400, /* .max_wretries [Note 4] */ 2501 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 2] */ 2502 MT_DENSITY3, /* .default_density (.densities[x]) */ 2503 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2504 0, /* .non_motion_timeout Nothing special */ 2505 0, /* .io_timeout Four Nothing Special */ 2506 0, /* .rewind_timeout Nothing Special */ 2507 0, /* .space_timeout Nothing Special */ 2508 0, /* .load_timeout Nothing Special */ 2509 0, /* .unload_timeout Nothing Special */ 2510 MINUTES(360) /* .erase_timeout Six hours */ 2511 }, 2512 2513 /* 2514 * Tandberg SLR5 4/8G (standard firmware) 2515 * 2516 * NOTES 2517 * ----- 2518 * [1] The density code entry requires four values, even if there are less 2519 * than four values for the drive. 2520 * [2] The Tandberg SLR5 4/8G has only one speed (if the driver ever cares). 2521 * [3] max_rretries and max_wretries are driver anachronisms. 2522 */ 2523 { /* Structure member Description */ 2524 /* ---------------- ----------- */ 2525 "Tandberg 4/8 Gig QIC", /* .name Display ("pretty") name */ 2526 19, /* .length Length of next item... */ 2527 "TANDBERG SLR5 4/8GB", /* .vid Vendor-product ID string */ 2528 ST_TYPE_TAND25G, /* .type Numeric type (cf. mtio.h) */ 2529 0, /* .bsize Block size (0 = variable) */ 2530 /* .options Drive option flags: */ 2531 ST_VARIABLE | /* 00001 Supports variable length */ 2532 ST_QIC | /* 00002 QIC tape device */ 2533 ST_BSF | /* 00008 Supports SPACE block fwd */ 2534 ST_BSR | /* 00010 Supports SPACE block rev */ 2535 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2536 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2537 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2538 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2539 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2540 /* ----- */ 2541 /* 0963B */ 2542 400, /* .max_rretries [Note 3] */ 2543 400, /* .max_wretries [Note 3] */ 2544 {0x22, 0x22, 0x26, 0x26}, /* .densities Density codes [Note 1] */ 2545 MT_DENSITY4, /* .default_density (.densities[x]) */ 2546 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2547 }, 2548 2549 /* 2550 * Tandberg SLR5 (SMI firmware). 2551 * 2552 * NOTES 2553 * ----- 2554 * o The inquiry string for this drive is actually padded with blanks, but 2555 * we only check the first 13 characters so that this will act as a default 2556 * to cover other revisions of firmware on SLR5s which may show up. 2557 * 2558 * [1] The density code entry requires four values, even if there are less 2559 * than four values for the drive. 2560 * [2] The Tandberg SLR5 has only one speed (if the driver ever cares). 2561 * [3] max_rretries and max_wretries are driver anachronisms. 2562 */ 2563 { /* Structure member Description */ 2564 /* ---------------- ----------- */ 2565 "Tandberg 8 Gig QIC", /* .name Display ("pretty") name */ 2566 13, /* .length Length of next item... */ 2567 "TANDBERG SLR5", /* .vid Vendor-product ID string */ 2568 ST_TYPE_TAND25G, /* .type Numeric type (cf. mtio.h) */ 2569 0, /* .bsize Block size (0 = variable) */ 2570 /* .options Drive option flags: */ 2571 ST_VARIABLE | /* 00001 Supports variable length */ 2572 ST_QIC | /* 00002 QIC tape device */ 2573 ST_BSF | /* 00008 Supports SPACE block fwd */ 2574 ST_BSR | /* 00010 Supports SPACE block rev */ 2575 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2576 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2577 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2578 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2579 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2580 /* ----- */ 2581 /* 0963B */ 2582 400, /* .max_rretries [Note 3] */ 2583 400, /* .max_wretries [Note 3] */ 2584 {0xA0, 0xD0, 0xD0, 0xD0}, /* .densities Density codes [Note 1] */ 2585 MT_DENSITY4, /* .default_density (.densities[x]) */ 2586 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2587 }, 2588 2589 /* 2590 * Tandberg 4100 QIC 2591 * 2592 * NOTES 2593 * ----- 2594 * o This is an unsupported drive. 2595 * 2596 * [1] The Tandberg 4100 uses 0 or the "default" density code. 2597 * [2] The Tandberg 4100 has only one speed (if the driver ever cares). 2598 * [3] max_rretries and max_wretries are driver anachronisms. 2599 */ 2600 { /* Structure member Description */ 2601 /* ---------------- ----------- */ 2602 "Tandberg 4100 QIC", /* .name Display ("pretty") name */ 2603 13, /* .length Length of next item... */ 2604 "TANDBERG 4100", /* .vid Vendor-product ID string */ 2605 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2606 512, /* .bsize Block size (0 = variable) */ 2607 /* .options Drive option flags: */ 2608 ST_QIC | /* 00002 QIC tape device */ 2609 ST_BSF | /* 00008 Supports SPACE block fwd */ 2610 ST_BSR | /* 00010 Supports SPACE block rev */ 2611 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2612 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2613 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2614 /* ----- */ 2615 /* 0063A */ 2616 400, /* .max_rretries [Note 3] */ 2617 400, /* .max_wretries [Note 3] */ 2618 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2619 MT_DENSITY2, /* .default_density (.densities[x]) */ 2620 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2621 }, 2622 2623 /* 2624 * Tandberg 4200 QIC 2625 * 2626 * NOTES 2627 * ----- 2628 * o This is an unsupported drive. 2629 * 2630 * [1] The Tandberg 4200 uses 0 or the "default" density code. 2631 * [2] The Tandberg 4200 has only one speed (if the driver ever cares). 2632 * [3] max_rretries and max_wretries are driver anachronisms. 2633 */ 2634 { /* Structure member Description */ 2635 /* ---------------- ----------- */ 2636 "Tandberg 4200 QIC", /* .name Display ("pretty") name */ 2637 13, /* .length Length of next item... */ 2638 "TANDBERG 4200", /* .vid Vendor-product ID string */ 2639 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2640 512, /* .bsize Block size (0 = variable) */ 2641 /* .options Drive option flags: */ 2642 ST_QIC | /* 00002 QIC tape device */ 2643 ST_BSF | /* 00008 Supports SPACE block fwd */ 2644 ST_BSR | /* 00010 Supports SPACE block rev */ 2645 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2646 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2647 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2648 /* ----- */ 2649 /* 0063A */ 2650 400, /* .max_rretries [Note 3] */ 2651 400, /* .max_wretries [Note 3] */ 2652 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2653 MT_DENSITY2, /* .default_density (.densities[x]) */ 2654 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2655 }, 2656 2657 /* 2658 * Tandberg QIC 2.5 Gig Tape Drive 2659 * 2660 * NOTES 2661 * ----- 2662 * [1] The TDC 4200 uses 0 or the "default" density code. 2663 * [2] The TDC 4200 has only one speed (if the driver ever cares). 2664 * [3] max_rretries and max_wretries are driver anachronisms. 2665 * [4] Data is buffered in the driver and pre-acked to the application. This 2666 * is only supported in 2.5.1. 2667 */ 2668 { /* Structure member Description */ 2669 /* ---------------- ----------- */ 2670 "Tandberg QIC 2.5 Gig Tape Drive", 2671 /* .name Display ("pretty") name */ 2672 16, /* .length Length of next item... */ 2673 "TANDBERG TDC 420*", /* .vid Vendor-product ID string */ 2674 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2675 0, /* .bsize Block size (0 = variable) */ 2676 /* .options Drive option flags: */ 2677 ST_VARIABLE | /* 00001 Supports variable length */ 2678 ST_QIC | /* 00002 QIC tape device */ 2679 ST_BSF | /* 00008 Supports SPACE block fwd */ 2680 ST_BSR | /* 00010 Supports SPACE block rev */ 2681 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2682 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2683 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2684 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2685 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2686 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2687 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2688 /* ----- */ 2689 /* 0D67B */ 2690 400, /* .max_rretries [Note 3] */ 2691 400, /* .max_wretries [Note 3] */ 2692 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2693 MT_DENSITY1, /* .default_density (.densities[x]) */ 2694 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2695 }, 2696 2697 /* 2698 * Tandberg MLR1 QIC 2699 * 2700 * NOTES 2701 * ----- 2702 * [1] The MLR1 uses 0 or the "default" density code. 2703 * [2] The MLR1 has only one speed (if the driver ever cares). 2704 * [3] max_rretries and max_wretries are driver anachronisms. 2705 * [4] Data is buffered in the driver and pre-acked to the application. This 2706 * is only supported in 2.5.1. 2707 */ 2708 { /* Structure member Description */ 2709 /* ---------------- ----------- */ 2710 "Tandberg MLR1 QIC", /* .name Display ("pretty") name */ 2711 12, /* .length Length of next item... */ 2712 "TANDBERGMLR1", /* .vid Vendor-product ID string */ 2713 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2714 512, /* .bsize Block size (0 = variable) */ 2715 /* .options Drive option flags: */ 2716 ST_QIC | /* 00002 QIC tape device */ 2717 ST_BSF | /* 00008 Supports SPACE block fwd */ 2718 ST_BSR | /* 00010 Supports SPACE block rev */ 2719 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2720 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2721 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2722 ST_BUFFERED_WRITES, /* 04000 [Note 4] */ 2723 /* ----- */ 2724 /* 0463A */ 2725 400, /* .max_rretries [Note 3] */ 2726 400, /* .max_wretries [Note 3] */ 2727 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2728 MT_DENSITY1, /* .default_density (.densities[x]) */ 2729 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2730 }, 2731 2732 /* 2733 * Tandberg MLR3 QIC 2734 * 2735 * NOTES 2736 * ----- 2737 * [1] The density code entry requires four values, even if there are less 2738 * than four values for the drive. 2739 * [2] The MLR3 has only one speed (if the driver ever cares). 2740 * [3] max_rretries and max_wretries are driver anachronisms. 2741 */ 2742 { /* Structure member Description */ 2743 /* ---------------- ----------- */ 2744 "Tandberg 50 Gig QIC", /* .name Display ("pretty") name */ 2745 12, /* .length Length of next item... */ 2746 "TANDBERGMLR3", /* .vid Vendor-product ID string */ 2747 MT_ISTAND25G, /* .type Numeric type (cf. mtio.h) */ 2748 0, /* .bsize Block size (0 = variable) */ 2749 /* .options Drive option flags: */ 2750 ST_VARIABLE | /* 00001 Supports variable length */ 2751 ST_QIC | /* 00002 QIC tape device */ 2752 ST_BSF | /* 00008 Supports SPACE block fwd */ 2753 ST_BSR | /* 00010 Supports SPACE block rev */ 2754 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2755 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2756 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2757 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2758 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2759 /* ----- */ 2760 /* 0963B */ 2761 400, /* .max_rretries [Note 3] */ 2762 400, /* .max_wretries [Note 3] */ 2763 {0xA0, 0xD0, 0xD0, 0xD0}, /* .densities Density codes [Note 1] */ 2764 MT_DENSITY3, /* .default_density (.densities[x]) */ 2765 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2766 }, 2767 2768 /* 2769 * WangDAT 3.81mm cartridge 2770 * 2771 * NOTES 2772 * ----- 2773 * o This is an unsupported drive. 2774 * 2775 * [1] The WangDAT 3.81mm uses 0 or the "default" density code. 2776 * [2] The WangDAT 3.81mm has only one speed (if the driver ever cares). 2777 * [3] max_rretries and max_wretries are driver anachronisms. 2778 */ 2779 { /* Structure member Description */ 2780 /* ---------------- ----------- */ 2781 "Wang DAT 3.81 Helical Scan", 2782 /* .name Display ("pretty") name */ 2783 7, /* .length Length of next item... */ 2784 "WangDAT", /* .vid Vendor-product ID string */ 2785 ST_TYPE_WANGDAT, /* .type Numeric type (cf. mtio.h) */ 2786 0, /* .bsize Block size (0 = variable) */ 2787 /* .options Drive option flags: */ 2788 ST_VARIABLE | /* 00001 Supports variable length */ 2789 ST_BSF | /* 00008 Supports SPACE block fwd */ 2790 ST_BSR | /* 00010 Supports SPACE block rev */ 2791 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2792 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2793 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2794 /* ----- */ 2795 /* 00659 */ 2796 5000, /* .max_rretries [Note 3] */ 2797 5000, /* .max_wretries [Note 3] */ 2798 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2799 MT_DENSITY2, /* .default_density (.densities[x]) */ 2800 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2801 }, 2802 2803 /* 2804 * Wangtek QIC-150 1/4" cartridge 2805 * 2806 * NOTES 2807 * ----- 2808 * o This is an unsupported drive. 2809 * 2810 * [1] The Wangtek QIC-150 uses 0 or the "default" density code. 2811 * [2] The Wangtek QIC-150 has only one speed (if the driver ever cares). 2812 * [3] max_rretries and max_wretries are driver anachronisms. 2813 */ 2814 { /* Structure member Description */ 2815 /* ---------------- ----------- */ 2816 "Wangtek QIC-150", /* .name Display ("pretty") name */ 2817 14, /* .length Length of next item... */ 2818 "WANGTEK 5150ES", /* .vid Vendor-product ID string */ 2819 ST_TYPE_WANGTEK, /* .type Numeric type (cf. mtio.h) */ 2820 512, /* .bsize Block size (0 = variable) */ 2821 /* .options Drive option flags: */ 2822 ST_QIC | /* 00002 QIC tape device */ 2823 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2824 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2825 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2826 /* ----- */ 2827 /* 00642 */ 2828 400, /* .max_rretries [Note 3] */ 2829 400, /* .max_wretries [Note 3] */ 2830 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2831 MT_DENSITY2, /* .default_density (.densities[x]) */ 2832 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2833 }, 2834 2835 /* 2836 * Wangtek 4mm RDAT drive 2837 * 2838 * NOTES 2839 * ----- 2840 * o This is an unsupported drive. 2841 * 2842 * o This entry uses a shortened Vendor-product ID string for the 2843 * INQUIRY match. 2844 * 2845 * [1] The Wangtek 4mm RDAT uses 0 or the "default" density code. 2846 * [2] The Wangtek 4mm RDAT has only one speed (if the driver ever cares). 2847 * [3] max_rretries and max_wretries are driver anachronisms. 2848 */ 2849 { /* Structure member Description */ 2850 /* ---------------- ----------- */ 2851 "Wangtek 4mm Helical Scan", 2852 /* .name Display ("pretty") name */ 2853 14, /* .length Length of next item... */ 2854 "WANGTEK 6130-H*", /* .vid Vendor-product ID string */ 2855 ST_TYPE_WANGTHS, /* .type Numeric type (cf. mtio.h) */ 2856 0, /* .bsize Block size (0 = variable) */ 2857 /* .options Drive option flags: */ 2858 ST_VARIABLE | /* 00001 Supports variable length */ 2859 ST_BSF | /* 00008 Supports SPACE block fwd */ 2860 ST_BSR | /* 00010 Supports SPACE block rev */ 2861 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2862 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2863 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2864 /* ----- */ 2865 /* 00659 */ 2866 400, /* .max_rretries [Note 3] */ 2867 400, /* .max_wretries [Note 3] */ 2868 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2869 MT_DENSITY2, /* .default_density (.densities[x]) */ 2870 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2871 }, 2872 2873 /* 2874 * Wangtek QIC-150 1/4" cartridge 2875 * 2876 * NOTES 2877 * ----- 2878 * o This is an unsupported drive. 2879 * 2880 * [1] The Wangtek QIC-150 uses 0 or the "default" density code. 2881 * [2] The Wangtek QIC-150 has only one speed (if the driver ever cares). 2882 * [3] max_rretries and max_wretries are driver anachronisms. 2883 */ 2884 { /* Structure member Description */ 2885 /* ---------------- ----------- */ 2886 "Wangtek 5525ES SCSI", /* .name Display ("pretty") name */ 2887 19, /* .length Length of next item... */ 2888 "WANGTEK 5525ES SCSI", /* .vid Vendor-product ID string */ 2889 ST_TYPE_WANGTEK, /* .type Numeric type (cf. mtio.h) */ 2890 512, /* .bsize Block size (0 = variable) */ 2891 /* .options Drive option flags: */ 2892 ST_QIC | /* 00002 QIC tape device */ 2893 ST_BSF | /* 00008 Supports SPACE block fwd */ 2894 ST_BSR | /* 00010 Supports SPACE block rev */ 2895 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2896 ST_AUTODEN_OVERRIDE | /* 00040 Autdensity override flag */ 2897 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2898 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2899 /* ----- */ 2900 /* 0067A */ 2901 400, /* .max_rretries [Note 3] */ 2902 400, /* .max_wretries [Note 3] */ 2903 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2904 MT_DENSITY2, /* .default_density (.densities[x]) */ 2905 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2906 }, 2907 2908 /* 2909 * [1] The Ecrix VXA-1 has only one density at this time, 2910 * Compression is controlled via the Device Configuration 2911 * mode page. 2912 * [2] The Ecrix VXA-1 is a veriable speed device. The drive determines 2913 * the optimum speed. (if the driver ever cares). 2914 */ 2915 { /* Structure member Description */ 2916 /* ---------------- ----------- */ 2917 "Ecrix VXA-1", /* .name Display ("pretty") name */ 2918 13, /* .length Length of next item... */ 2919 "ECRIX VXA-1", /* .vid Vendor-product ID string */ 2920 MT_ISOTHER, /* .type Numeric type (cf. mtio.h) */ 2921 0, /* .bsize Block size (0 = variable) */ 2922 /* .options Drive option flags: */ 2923 ST_VARIABLE | /* 00001 Supports variable length */ 2924 ST_BSF | /* 00008 Supports SPACE block fwd */ 2925 ST_BSR | /* 00010 Supports SPACE block rev */ 2926 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2927 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2928 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2929 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 2930 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2931 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2932 ST_MODE_SEL_COMP | /* 10000 Mode Select to enable comp */ 2933 ST_CLN_TYPE_1, /* 10000000 Asks to be cleaned this way */ 2934 /* -------- */ 2935 /* 10019E39 */ 2936 -1, /* .max_rretries */ 2937 -1, /* .max_wretries */ 2938 {0x80, 0x80, 0x80, 0x80}, /* .densities Density codes [Note 1] */ 2939 MT_DENSITY4, /* .default_density (.densities[x]) */ 2940 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2941 }, 2942 2943 /* 2944 * [1] The IBM Ultrium Gen 4 "OEM" version has two densites at this time, 2945 * One for Gen 3 0x44, One for Gen 4 0x46. 2946 * This drive is configured with ST_KNOWS_MEDIA. 2947 * That means that it will look at the mediatype from the mode sense 2948 * to select the density code. The compression will be selected based 2949 * on the minor node the user opened. 2950 * [2] The IBM LTO reports a medium type that is used to select the density. 2951 */ 2952 { /* Structure member Description */ 2953 /* ---------------- ----------- */ 2954 "IBM Ultrium Gen 4 LTO", /* .name Display ("pretty") name */ 2955 19, /* .length Length of next item... */ 2956 "IBM ULTRIUM-TD4", /* .vid Vendor-product ID string */ 2957 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 2958 0, /* .bsize Block size (0 = variable) */ 2959 /* .options Drive option flags: */ 2960 ST_VARIABLE | /* 0000001 Supports variable length */ 2961 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2962 ST_BSR | /* 0000010 Supports SPACE block rev */ 2963 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2964 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2965 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2966 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2967 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 2968 ST_WORMABLE, /* 1000000 Is WORM capable */ 2969 /* ------- */ 2970 /* 1818619 */ 2971 -1, /* .max_rretries Not used any more. */ 2972 -1, /* .max_wretries Not used any more. */ 2973 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 2974 MT_DENSITY4, /* .default_density (.densities[x]) */ 2975 {0x38, 0x38, 0x48, 0x48}, /* .mediatype Media type [Note 2] */ 2976 MINUTES(1), /* .non_motion_time */ 2977 MINUTES(23), /* .io_time */ 2978 MINUTES(9), /* .rewind_time */ 2979 MINUTES(183), /* .space_time worst case directory invalid*/ 2980 MINUTES(9), /* .load_time */ 2981 MINUTES(13), /* .unload_time */ 2982 MINUTES(180) /* .erase_time */ 2983 }, 2984 2985 /* 2986 * [1] The IBM Ultrium Gen 4 "IBM" version has two densites at this time, 2987 * One for Gen 3 0x44, one for Gen 4 0x46. 2988 * This drive is configured with ST_KNOWS_MEDIA. 2989 * That means that it will look at the mediatype from the mode sense 2990 * to select the density code. The compression will be selected based 2991 * on the minor node the user opened. 2992 * [2] The IBM LTO reports a medium type that is used to select the density. 2993 */ 2994 { /* Structure member Description */ 2995 /* ---------------- ----------- */ 2996 "IBM Ultrium Gen 4 LTO", /* .name Display ("pretty") name */ 2997 19, /* .length Length of next item... */ 2998 "IBM ULT3580-TD4", /* .vid Vendor-product ID string */ 2999 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3000 0, /* .bsize Block size (0 = variable) */ 3001 /* .options Drive option flags: */ 3002 ST_VARIABLE | /* 0000001 Supports variable length */ 3003 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3004 ST_BSR | /* 0000010 Supports SPACE block rev */ 3005 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3006 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3007 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3008 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3009 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3010 ST_WORMABLE, /* 1000000 Is WORM capable */ 3011 /* ------- */ 3012 /* 1818619 */ 3013 -1, /* .max_rretries Not used any more. */ 3014 -1, /* .max_wretries Not used any more. */ 3015 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 3016 MT_DENSITY4, /* .default_density (.densities[x]) */ 3017 {0x38, 0x38, 0x48, 0x48}, /* .mediatype Media type [Note 2] */ 3018 MINUTES(1), /* .non_motion_time */ 3019 MINUTES(23), /* .io_time */ 3020 MINUTES(9), /* .rewind_time */ 3021 MINUTES(183), /* .space_time worst case directory invalid*/ 3022 MINUTES(9), /* .load_time */ 3023 MINUTES(13), /* .unload_time */ 3024 MINUTES(180) /* .erase_time */ 3025 }, 3026 3027 /* 3028 * [1] The IBM Ultrium Gen 3 "OEM" version has three densites at this time, 3029 * One for Gen 1 0x40, One for Gen 2 0x42 and for Gen 3 0x44. 3030 * This drive is configured with ST_KNOWS_MEDIA. 3031 * That means that it will look at the mediatype from the mode sense 3032 * to select the density code. The compression will be selected based 3033 * on the minor node the user opened. 3034 * [2] The IBM LTO reports a medium type that is used to select the density. 3035 */ 3036 { /* Structure member Description */ 3037 /* ---------------- ----------- */ 3038 "IBM Ultrium Gen 3 LTO", /* .name Display ("pretty") name */ 3039 19, /* .length Length of next item... */ 3040 "IBM ULTRIUM-TD3", /* .vid Vendor-product ID string */ 3041 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3042 0, /* .bsize Block size (0 = variable) */ 3043 /* .options Drive option flags: */ 3044 ST_VARIABLE | /* 0000001 Supports variable length */ 3045 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3046 ST_BSR | /* 0000010 Supports SPACE block rev */ 3047 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3048 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3049 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3050 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3051 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3052 ST_WORMABLE, /* 1000000 Is WORM capable */ 3053 /* ------- */ 3054 /* 1818619 */ 3055 -1, /* .max_rretries Not used any more. */ 3056 -1, /* .max_wretries Not used any more. */ 3057 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 3058 MT_DENSITY4, /* .default_density (.densities[x]) */ 3059 {0x18, 0x28, 0x38, 0x38}, /* .mediatype Media type [Note 2] */ 3060 MINUTES(1), /* .non_motion_time */ 3061 MINUTES(18), /* .io_time */ 3062 MINUTES(9), /* .rewind_time */ 3063 MINUTES(165), /* .space_time worst case directory invalid*/ 3064 MINUTES(9), /* .load_time */ 3065 MINUTES(12), /* .unload_time */ 3066 MINUTES(160) /* .erase_time */ 3067 }, 3068 3069 /* 3070 * [1] The IBM Ultrium Gen 3 "IBM" version has three densites at this time, 3071 * One for Gen 1 0x40, One for Gen 2 0x42 and Gen 3 0x44. 3072 * This drive is configured with ST_KNOWS_MEDIA. 3073 * That means that it will look at the mediatype from the mode sense 3074 * to select the density code. The compression will be selected based 3075 * on the minor node the user opened. 3076 * [2] The IBM LTO reports a medium type that is used to select the density. 3077 */ 3078 { /* Structure member Description */ 3079 /* ---------------- ----------- */ 3080 "IBM Ultrium Gen 3 LTO", /* .name Display ("pretty") name */ 3081 19, /* .length Length of next item... */ 3082 "IBM ULT3580-TD3", /* .vid Vendor-product ID string */ 3083 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3084 0, /* .bsize Block size (0 = variable) */ 3085 /* .options Drive option flags: */ 3086 ST_VARIABLE | /* 0000001 Supports variable length */ 3087 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3088 ST_BSR | /* 0000010 Supports SPACE block rev */ 3089 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3090 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3091 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3092 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3093 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3094 ST_WORMABLE, /* 1000000 Is WORM capable */ 3095 /* ------- */ 3096 /* 1818619 */ 3097 -1, /* .max_rretries Not used any more. */ 3098 -1, /* .max_wretries Not used any more. */ 3099 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 3100 MT_DENSITY4, /* .default_density (.densities[x]) */ 3101 {0x18, 0x28, 0x38, 0x38}, /* .mediatype Media type [Note 2] */ 3102 MINUTES(1), /* .non_motion_time */ 3103 MINUTES(18), /* .io_time */ 3104 MINUTES(9), /* .rewind_time */ 3105 MINUTES(165), /* .space_time worst case directory invalid*/ 3106 MINUTES(9), /* .load_time */ 3107 MINUTES(12), /* .unload_time */ 3108 MINUTES(160) /* .erase_time */ 3109 }, 3110 3111 /* 3112 * [1] The IBM Ultrium Gen 2 "OEM" version has two densites at this time, 3113 * One for Gen 1 0x40, One for Gen 2 0x42. In reallity The media 3114 * Selects which density code is used but this documents the codes 3115 * for those who care to know. 3116 * Compression is controlled via the Compression mode page. 3117 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3118 */ 3119 { /* Structure member Description */ 3120 /* ---------------- ----------- */ 3121 "IBM Ultrium Gen 2 LTO", /* .name Display ("pretty") name */ 3122 19, /* .length Length of next item... */ 3123 "IBM ULTRIUM-TD2", /* .vid Vendor-product ID string */ 3124 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3125 0, /* .bsize Block size (0 = variable) */ 3126 /* .options Drive option flags: */ 3127 ST_VARIABLE | /* 00001 Supports variable length */ 3128 ST_BSF | /* 00008 Supports SPACE block fwd */ 3129 ST_BSR | /* 00010 Supports SPACE block rev */ 3130 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3131 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3132 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3133 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3134 /* ----- */ 3135 /* 18619 */ 3136 -1, /* .max_rretries Not used any more. */ 3137 -1, /* .max_wretries Not used any more. */ 3138 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 3139 MT_DENSITY4, /* .default_density (.densities[x]) */ 3140 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3141 MINUTES(1), /* .non_motion_time */ 3142 MINUTES(18), /* .io_time */ 3143 MINUTES(9), /* .rewind_time */ 3144 MINUTES(151), /* .space_time worst case directory invalid*/ 3145 MINUTES(12), /* .load_time */ 3146 MINUTES(11), /* .unload_time */ 3147 MINUTES(151) /* .erase_time */ 3148 }, 3149 3150 /* 3151 * [1] The IBM Ultrium Gen 2 "IBM" version has two densites at this time, 3152 * One for Gen 1 0x40, One for Gen 2 0x42. In reallity The media 3153 * Selects which density code is used but this documents the codes 3154 * for those who care to know. 3155 * Compression is controlled via the Compression mode page. 3156 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3157 */ 3158 { /* Structure member Description */ 3159 /* ---------------- ----------- */ 3160 "IBM Ultrium Gen 2 LTO", /* .name Display ("pretty") name */ 3161 19, /* .length Length of next item... */ 3162 "IBM ULT3580-TD2", /* .vid Vendor-product ID string */ 3163 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3164 0, /* .bsize Block size (0 = variable) */ 3165 /* .options Drive option flags: */ 3166 ST_VARIABLE | /* 00001 Supports variable length */ 3167 ST_BSF | /* 00008 Supports SPACE block fwd */ 3168 ST_BSR | /* 00010 Supports SPACE block rev */ 3169 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3170 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3171 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3172 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3173 /* ----- */ 3174 /* 18619 */ 3175 -1, /* .max_rretries Not used any more. */ 3176 -1, /* .max_wretries Not used any more. */ 3177 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 3178 MT_DENSITY4, /* .default_density (.densities[x]) */ 3179 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3180 MINUTES(1), /* .non_motion_time */ 3181 MINUTES(18), /* .io_time */ 3182 MINUTES(9), /* .rewind_time */ 3183 MINUTES(151), /* .space_time worst case directory invalid*/ 3184 MINUTES(12), /* .load_time */ 3185 MINUTES(11), /* .unload_time */ 3186 MINUTES(151) /* .erase_time */ 3187 }, 3188 3189 /* 3190 * [1] The IBM Ultrium has only one density at this time, 3191 * Compression is controlled via the Device Configuration mode page. 3192 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3193 */ 3194 { /* Structure member Description */ 3195 /* ---------------- ----------- */ 3196 "IBM Ultrium LTO", /* .name Display ("pretty") name */ 3197 19, /* .length Length of next item... */ 3198 "IBM ULTRIUM-TD1", /* .vid Vendor-product ID string */ 3199 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3200 0, /* .bsize Block size (0 = variable) */ 3201 /* .options Drive option flags: */ 3202 ST_VARIABLE | /* 00001 Supports variable length */ 3203 ST_BSF | /* 00008 Supports SPACE block fwd */ 3204 ST_BSR | /* 00010 Supports SPACE block rev */ 3205 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3206 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3207 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3208 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3209 /* ----- */ 3210 /* 18619 */ 3211 -1, /* .max_rretries Not used any more. */ 3212 -1, /* .max_wretries Not used any more. */ 3213 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 3214 MT_DENSITY4, /* .default_density (.densities[x]) */ 3215 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3216 MINUTES(1), /* .non_motion_time */ 3217 MINUTES(18), /* .io_time */ 3218 MINUTES(8), /* .rewind_time */ 3219 MINUTES(173), /* .space_time worst case directory invalid*/ 3220 MINUTES(11), /* .load_time */ 3221 MINUTES(11), /* .unload_time */ 3222 MINUTES(173) /* .erase_time */ 3223 }, 3224 3225 /* 3226 * This is the same drive as the above except for the inquiry string and 3227 * that it is a "End User Version". 3228 * [1] The IBM Ultrium has only one density at this time, 3229 * Compression is controlled via the Device Configuration mode page. 3230 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3231 */ 3232 { /* Structure member Description */ 3233 /* ---------------- ----------- */ 3234 "IBM Ultrium LTO", /* .name Display ("pretty") name */ 3235 19, /* .length Length of next item... */ 3236 "IBM ULT3580-TD1", /* .vid Vendor-product ID string */ 3237 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3238 0, /* .bsize Block size (0 = variable) */ 3239 /* .options Drive option flags: */ 3240 ST_VARIABLE | /* 00001 Supports variable length */ 3241 ST_BSF | /* 00008 Supports SPACE block fwd */ 3242 ST_BSR | /* 00010 Supports SPACE block rev */ 3243 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3244 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3245 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3246 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3247 /* ----- */ 3248 /* 18619 */ 3249 -1, /* .max_rretries Not used any more. */ 3250 -1, /* .max_wretries Not used any more. */ 3251 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 3252 MT_DENSITY4, /* .default_density (.densities[x]) */ 3253 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3254 MINUTES(1), /* .non_motion_time */ 3255 MINUTES(18), /* .io_time */ 3256 MINUTES(8), /* .rewind_time */ 3257 MINUTES(173), /* .space_time worst case directory invalid*/ 3258 MINUTES(11), /* .load_time */ 3259 MINUTES(11), /* .unload_time */ 3260 MINUTES(173) /* .erase_time */ 3261 }, 3262 3263 /* 3264 * [1] The IBM 3592 Cartridge has only one density at this time, 3265 * Compression is controlled via the Device Configuration mode page. 3266 * [2] The IBM 3592 Cartridge has only one speed (if the driver ever cares). 3267 */ 3268 { /* Structure member Description */ 3269 /* ---------------- ----------- */ 3270 "IBM 3592 Cartridge", /* .name Display ("pretty") name */ 3271 13, /* .length Length of next item... */ 3272 "IBM 03592", /* .vid Vendor-product ID string */ 3273 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3274 0, /* .bsize Block size (0 = variable) */ 3275 /* .options Drive option flags: */ 3276 ST_VARIABLE | /* 00001 Supports variable length */ 3277 ST_BSF | /* 00008 Supports SPACE block fwd */ 3278 ST_BSR | /* 00010 Supports SPACE block rev */ 3279 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 3280 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3281 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3282 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3283 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3284 /* ----- */ 3285 /* 18659 */ 3286 -1, /* .max_rretries Not used any more. */ 3287 -1, /* .max_wretries Not used any more. */ 3288 {0x51, 0x51, 0x51, 0x51}, /* .densities Density codes [Note 1] */ 3289 MT_DENSITY4, /* .default_density (.densities[x]) */ 3290 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3291 MINUTES(1), /* .non_motion_time */ 3292 MINUTES(18), /* .io_time */ 3293 MINUTES(8), /* .rewind_time */ 3294 MINUTES(14), /* .space_time worst case directory invalid*/ 3295 MINUTES(12), /* .load_time */ 3296 MINUTES(12), /* .unload_time */ 3297 MINUTES(235) /* .erase_time */ 3298 }, 3299 3300 /* 3301 * Seagate Hornet NS20 USB Travan 3302 * 3303 * NOTES 3304 * ----- 3305 * o This drive is not OEM'ed or qualified by Sun. 3306 * 3307 * [1] The NS20 Travan uses 0 or the "default" density code. 3308 * [2] The NS20 Travan has only one speed (if the driver ever cares). 3309 * [3] max_rretries and max_wretries are driver anachronisms. 3310 */ 3311 { /* Structure member Description */ 3312 /* ---------------- ----------- */ 3313 "Seagate Hornet NS20 Travan", 3314 /* .name Display ("pretty") name */ 3315 17, /* .length Length of next item... */ 3316 "Seagate STT20000A", /* .vid Vendor-product ID string */ 3317 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 3318 512, /* .bsize Block size (0 = variable) */ 3319 /* .options Drive option flags: */ 3320 ST_QIC | /* 00002 QIC tape device */ 3321 ST_BSF | /* 00008 Supports back SPACE file */ 3322 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 3323 /* ----- */ 3324 /* 0040A */ 3325 400, /* .max_rretries [Note 3] */ 3326 400, /* .max_wretries [Note 3] */ 3327 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 3328 MT_DENSITY1, /* .default_density (.densities[x]) */ 3329 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 3330 }, 3331 3332 3333 /* 3334 * Seagate Hornet Travan 40 3335 * 3336 * NOTES 3337 * ----- 3338 * o This drive is not OEM'ed or qualified by Sun. 3339 * 3340 * [1] The Travan uses 0 or the "default" density code. 3341 * [2] The Travan has only one speed (if the driver ever cares). 3342 * [3] max_rretries and max_wretries are driver anachronisms. 3343 */ 3344 { /* Structure member Description */ 3345 /* ---------------- ----------- */ 3346 "Seagate Hornet Travan 40", 3347 /* .name Display ("pretty") name */ 3348 16, /* .length Length of next item... */ 3349 "Seagate STT3401A", /* .vid Vendor-product ID string */ 3350 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 3351 512, /* .bsize Block size (0 = variable) */ 3352 /* .options Drive option flags: */ 3353 ST_QIC | /* 00002 QIC tape device */ 3354 ST_BSF | /* 00008 Supports back SPACE file */ 3355 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 3356 /* ----- */ 3357 /* 0040A */ 3358 400, /* .max_rretries [Note 3] */ 3359 400, /* .max_wretries [Note 3] */ 3360 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 3361 MT_DENSITY1, /* .default_density (.densities[x]) */ 3362 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 3363 } 3364 3365 /* END CSTYLED */ 3366 3367 }; 3368 3369 3370 const int st_ndrivetypes = (sizeof (st_drivetypes)/sizeof (st_drivetypes[0])); 3371