;08/31/04 RQ added support for 3623-2LX ;08/31/04 RQ added support for 3580-TD2 ;08/27/04 RQ modified boot image with ServeRAID 7.0 aspi ;07/02/04 RQ added www addressing ;06/28/04 RQ modified ATL to 3502 ;06/22/04 BJ modified VS160 to quantum_dltvs_8k ;06/22/04 RQ modified 3607-26X to v15 ;06/16/04 RQ modified listing of device names to IBM part numbers ;05/06/04 RQ modified LTO2 to 3AY4 ;05/06/04 RQ modified part numbers ;05/03/04 RQ modified DLTVS to v94 ;05/01/04 BJ modified 3581 to adic_faststor ;04/30/04 RQ modified 4560 to 425 ;04/26/04 RQ modified 3607 to v15 ;04/20/04 RQ modified TR7 to 310A ;04/01/04 RQ added 3581 algorythm ;03/11/04 RQ modified Vs160 to v34 ;03/11/04 RQ modified back on LTO2 to 333K ;02/25/04 RQ modified IBM LTO2 to 3AY4 ;02/18/04 RQ modified tapedrv.ini names to associated IBM part numbers ;02/11/04 RQ modified 3581 to i114 ;02/11/04 RQ modified 3583 to 3.10.04 ;02/11/04 RQ modified 3582 to 227b ;02/11/04 RQ modified 4560-SLX to v22 ;01/19/04 RQ modified M2 to 8ck3v07w ;01/14/04 RQ modified DDS4 to v910b000 ;11/17/03 RQ modified VXA/2 to v2100efunc ;11/17/03 RQ modified DAT72 to VA060001 ;11/05/03 RQ modified VXA/2 algorythm ;11/05/03 RQ modified TR7 to 309c ;10/23/03 RQ modified VS160 to IBM string ;10/16/03 RQ modified Quantum strings ;10/06/03 RQ added 3582 ;10/02/03 RQ modified 3607 robot to v35 ;10/02/03 RQ modified 3607 SDLT to v72 ;09/25/03 RQ modified 3583 robot script ;09/19/03 RQ modified 4560 HP drive sled ;08/20/03 RQ modified 4560 SDLT sled to v70 ;08/05/03 RQ added VS160 ;08/04/03 RQ modified 3583 to 2.86 ;07/29/03 BJ modified Seagate_SP40, DDS4_LC_Autoloader, DDS5 inquiry strings ;07/25/03 RQ modified VS80 to v56 ;07/25/03 RQ modified 3850 to 35V0 ;07/23/03 RQ modified DDS/5 to A037 ;07/10/03 RQ added HP Ultrium in 4560 ;06/12/03 RQ added DDS/5 ;06/10/03 RQ modified 3607 Autoloaders and sleds ;06/04/03 RQ modified DDS/4 Autoloader LUN1 from not recognized to ignored. ;05/19/03 RQ modified LTO Gen2 333K ;05/13/03 RQ modified DLT8000 to v85 ;03/31/03 RQ added IBM 3581 ;03/31/03 RQ added IBM 3583 ;03/25/03 RQ added SDLT320 ;03/25/03 RQ added IBM LTO Gen2 ;03/20/03 RQ modified dds/3 to 7580 ;02/19/03 RQ added VXA2 ;01/15/03 RQ added DDS4 LC Autoloader ;11/13/02 RQ modified 4560 loader to v408 ;10/31/02 RQ added 4560-SLX ;10/14/02 RQ added 3607-16X ;09/04/02 RQ modified HHLTO to N25G ;08/19/02 RQ modified SDLT to v42 ;07/10/02 RQ modified M2 to v07g ;07/10/02 RQ modified DDS/4LC to 9070 ;06/07/02 RQ modified SDLT to use 8k ;05/14/02 RQ modified for DLT7000 to v106 ;05/10/02 RQ modified for 3502L to v38 ;05/10/02 RQ modified for 3502A to v38 ;05/10/02 RQ modified for DLTVS to v50(5032) ;05/10/02 RQ modified for LTO to 22UD ;05/10/02 RQ modified for TR7 to 309a ;05/10/02 RQ modified for DDS/4 LC to 9030 ;05/10/02 RQ modified for 3600L to v40 ;04/08/02 RQ modified for TR7 ;03/05/02 RQ modified for SDLT version control ;02/25/02 RQ modified for DDS/4 LC ;01/30/02 RQ modified DLT8000 to v50 ;01/30/02 RQ modified SuperDLT syntax error ;01/25/02 BJ modify DLT4000 to use UpdateAlgorithm="quantum_dlt_8k" ;01/25/02 BJ add UpdateFlags = "c" to [IBM_Ultrium-TD1_SCSI] ;01/07/02 RQ re-added 3600 support ;11/19/01 RQ modified for 3580 support ;11/12/01 RQ removed 3600 support ;10/22/01 RQ modified DDS/4 to 8200 ;10/11/01 RQ modified 3600-109 to 232I ;10/11/01 RQ modified Mammoth 2 to v03s ;10/10/01 RQ modified NS20 to 7a64 ;10/08/01 RQ modified DLT8000 to v60 ;08/22/01 BJ 3502-R14, 3600-220 Library fixes ;07/24/01 RQ modified DLT8000 firmware to v60 ;07/13/01 RQ modified LTO firmware to 16E0 ;07/10/01 RQ modified to allow HP c7145 ;07/08/01 RQ modified to allow HP c7200 ;07/01/01 RQ modified Benchmark DLT1 to work. ;06/29/01 RQ modified DLT7000 and sleds to use D7_V105.img ;06/18/01 RQ modified Mammoth 2 to v03s. ;06/18/01 RQ modified DLTVS to V31. ;06/18/01 RQ modified DDS/4 and DDS/4 Autoloader to 8180. ;04/25/01 RQ modified Mammoth 1 and DDS/2 tape unit SCSI inquiries. ;02/13/01 BJ modifications as discussed with RQ. ; - Make filenames explicit. ; - Use identical firmware file for [Seagate_Hornet-8_SCSI] ; and [IBM_Hornet-8_SCSI]. ; - Remove extraneous comments. ; ; Comment lines begin with a semicolon (;). Example: ; ; ; this is a comment line ; ; Section lines mark the beginning of a group of parameters and are ; enclosed in brackets ([]). For example, the following marks the ; start of the tapedrv global initialization section: ; ; [tapedrv] ; ; Parameter lines are of the form <parameter>=<value>. By way of ; example, the following parameter shows where a firmware file ; may be found: ; ; AutoFileName = v8???000.bin ; ; Section and parameter names are case insensitive. ; ; ; Parameter Values ; ---------------- ; Parameter values in the .ini are generally treated as lists of ; comma separated strings. For example ; ; string1,"string2" , string3 ; ; For most parameters, only the first string in a list is ; significant. Thus, for most parameters, strings beyond the first ; are ignored. ; ; Each string in a list, may be an unquoted, quoted, or a ; combination. For unquoted strings, leading and trailing white ; space is stripped. White space and commas within matching ; quotes are preserved. Unquoted and quoted strings, between ; commas, are concatenated. For example, the input string text ; string ; "a", b, " c,d" e "fg", "z",, ; is the same as the six comma separated string list ; "a", "b", " c,defg", "z", "", "" ; ; In order for a string to contain a literal comma (one that is not ; a string list separator), the comma must either appear between ; matching double quotes ("xx,yy") , or be escaped using a grave ; accent (xx`,yy). A literal double quote is represented using a ; grave accent (`"). A double grave accent (``) represents a literal ; grave accent. For example the input ; a b`, c ; is taken as the single string ; "ab,c" ; ; ASCII Patterns ; -------------- ; String values for InquiryStd and AutoFileName are patterns. ; Patterns are matched with actual strings returned by the SCSI ; Inquiry command or by system file directory services. ; ; A pattern is an ASCII string which may contain the control ; characters: * ? [ { ; ; A pattern containing control characters may be capable of ; matching more than one actual string. ; ; The character "*" matches any string of characters, including ; the null string. The character "?" matches any single ; character. Character sequences within square brackets ([ and ]) ; matches any of the characters enclosed. Within square brackets, ; a pair of characters separated by a "-" additionally matches ; any of the characters lexically between the two. As special ; cases, within a string a "[]" as well as a closing "]" without ; a matching opening "[" is matched literally. Square brackets ; have higher precedence than braces ({ and }). ; ; The notation a*?[bd-x]z says match a string beginning with 'a', ; followed by zero or more undefined characters, and ending with ; three characters, the first being any single character, ; the second being either b, or d through x, and the final being z. ; ; The notation "a{b,c{,d}f}" is shorthand for "ab", "acf", or "acdf". ; As special cases, within a string a "{}" as well as a closing ; "}" without a matching opening "{" is matched literally. Also ; a "{", at the end of a pattern, is matched literally. ; ; When directory separators are used in filename patterns, the ; forward slash, "/", is preferred for compatibility with both ; Windows and Linux. Wild cards are disallowed for logical drive ; names (e.g., X:), and directory separators. ; ; The character "`" (grave accent) is the pattern escape character ; and causes the character following to be taken literally rather ; than as a pattern control. To specify a single grave accent (`) ; literal, a double grave accent (``) must be given. For example ; "`?" says match "?" literally. ; ;[tapedrv] Section ; The [tapedrv] section contains global initializations for tapedrv. ; ; magic=<magic_number> ; magic is used for file format verification. ; ; ide_search_length=<number of ide channels to search> ; This parameter controls the number of IDE adapters to search ; starting with ide0_*. ; ide_search_length is only meaningful in 16-bit DOS mode. ; ; When ide_search_length=2, then ide0_* (the Primary IDE adapter) ; is searched first, ide1_* (the Secondary IDE adapter) is ; searched second, and both ide2_* and ide3_* are ignored. ; ; ide[0-3]_port=<base_ide_io_port> ; ide[0-3]_irq=<ide_interrupt_request_number> ; These parameters configure the IDE host adapter's I/O port ; address and IRQ. They are only meaningful in 16-bit DOS mode. ; ; devices<NN>=<Device_Section> ; device<NN> parameters, where <NN> is 00 through 99, lists ; the names of each [<Device_Section>] that follows. Any device ; section name not present within this list is ignored. ; During program initialization, all devices<NN> are read in ; in order from devices00 through devices99. The special ; <Device_Section> name, EndOfDevices, may be used to terminate ; the device section names list and improve initialization ; performance. ; [tapedrv] magic = 0x5400 ide_search_length = 2 ide0_port = 0x1f0 ide0_irq = 14 ide1_port = 0x170 ide1_irq = 15 ide2_port = 0x1e8 ide2_irq = 11 ide3_port = 0x168 ide3_irq = 10 devices00 = 36L8804 * 3502-108 devices01 = 33L4978 * 3502-R14 devices02 = 09N4048 * IBM Ultrium 1 devices03 = 01K1325 devices04 = 00N8017 devices05 = 24P2396 devices06 = 3600-109 devices07 = 3600-R20 & 3600-220 devices08 = 09N4048 devices09 = 06H9720 devices10 = 06H9720-2 devices11 = 20L0549 devices12 = 06H9716 devices13 = 06H9716-2 devices14 = 06H9716-3 devices15 = 09N4042 devices16 = 59H3536 devices17 = Seagate_Scorpion-4-8_256K devices18 = Seagate_Scorpion-4-8_512K devices19 = IBM_Scorpion-4-8_512K devices20 = 09N4041 devices21 = 00N7991 devices22 = 00N7992 devices23 = Seagate_Scorpion-240_lun1 devices24 = 09N4040 devices25 = 04K0149 devices26 = 3502_SLED-36L8805 devices27 = 00N7990 devices28 = SDLT1 sled devices29 = 3580_Ultruim-1 devices30 = 3502-108 devices31 = 3502-314 devices32 = 00N7991-LC devices33 = 00N7992-LC devices34 = DDS4_LC_Autoloader_lun1 devices35 = 48P7042 devices36 = IBM_3447 devices37 = 3447-105 devices38 = 3447-106 devices39 = 3607-16X devices40 = 4560-SLX devices41 = 3607_16X-drive devices42 = 3607-26X-drive devices43 = 59P6746 devices44 = 71P9146 devices45 = 59P6660 devices46 = 3581 devices47 = 3583 devices48 = DDS Gen5(DAT72) devices49 = 3607-26X-robot devices50 = 59P6658 devices51 = 59P6745 devices52 = 4560_SDLT320 devices53 = 3582 devices54 = 3623 devices55 = ULT3580 devices56 = EndOfDevices ;[autoupdate] Section ; [autoupdate] has parameters used by the autoupdate command: ; ; UpdateDelay = <seconds> ; <seconds> gives the delay before the initial device update ; if any. ; ; FinalDelay = <seconds> ; <seconds> gives the delay before the exiting after the final ; status display. ; [autoupdate] UpdateDelay = 25 FinalDelay = 10 ;[<Device_Section>] Sections ; Each supported tape device has its own [<Device_Section>]. In ; order to be used, a given [<Device_Section>] must be mentioned ; as a devices<NN> = <Device_Section> entry in the [tapedrv] ; section. A [<Device_Section>] has the following parameters: ; ; Description = "<device description text>" ; Description is optional. It has information that is printed by ; the scan command when a tape device is recognized. ; ; Example: ; Description = "IBM Hornet-8 SCSI TR-4" ; ; InquiryStd = "<peripheral_type>:<inquiry_string>" ; InquiryStd gives a string used to detect the make and model of ; the device associated with the device section. It consists of ; two strings separated by a ":". ; ; <peripheral_type> has a string indicating which peripheral ; device type to match. The peripheral device type is a 5-bit ; binary field at Inquiry data byte 0, bits 4..0. Recognized ; ASCII values and binary mappings for <peripheral type> are: ; ; ASCII Binary ; ------- ------ ; Tape 1 ; Changer 8 ; ; <inquiry_string> is an ASCII Pattern string that is compared ; against the ASCII field of standard Inquiry data returned by ; the device. Where the ASCII field is 28 character contiguous ; field beginning at byte 8 and includes the Vendor ; Identification, Product Identification, and Product Revision ; Level fields. <inquiry_string>s are case sensitive. See ; "ASCII Patterns". ; ; Examples: ; InquiryStd = "Tape:CONNER CTT8000-S 3???" ; InquiryStd = "Changer:HP C7145 ????" ; InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 04106-XXX[73]???" ; ; InquiryStdAscii = "<byte offset>:<ascii pattern>" ; InquiryStdHex = "<byte offset>:<hex pattern>" ; InquiryStdAscii and InquiryStdHex may optionally be used to ; extend the matching of standard Inquiry data into the vendor ; specific data area (beyond byte 36). These parameters are ; used only after Inquiry data matches the InquiryStd parameter ; in the same [<Device_Section>]. ; ; InquiryStdHex is useful for identifying a Firmware Personality ; byte often kept in byte 41 of Inquiry data. ; ; When the InquiryStdHex parameter is specified, all available ; standard Inquiry data (up to 255 bytes) is retrieved from the ; device. Then, the actual number data bytes read is converted ; into an ASCII hexadecimal string. This hex string is then ; used as the target of InquiryStdHex pattern matching. ; ; InquiryStdAscii and InquiryStdHex values consists of an integer ; and a string separated by a ":". ; ; <byte offset> is an integer value, in the range 0 through 254, ; giving the byte offset in the Inquiry data at which to begin ; <ascii pattern> or <hex pattern> matching. For example, ; 41 if we are interested in data starting at byte offset 41 ; of Inquiry data. This number may be expressed as decimal, ; hexadecimal (with an '0x' prefix), or octal (with a '0' ; prefix). An empty <byte offset> is erroneous. ; ; <ascii pattern> is an ASCII Pattern string that is compared ; against the ASCII Inquiry data returned by the device. The ; final character in <ascii pattern> should be a '*' when the ; remainder of Inquiry is not of interest. Pattern matching ; is case sensitive. See "ASCII Patterns". ; ; <hex pattern> is an ASCII Pattern string using characters from ; the set *?[-]{}0123456789ABCDEFabcdef. A <hex pattern> is ; compared against Inquiry data after the data is converted ; from binary to a hexadecimal ASCII string called the target ; string. Pattern matching begins at <byte offset> in the ; target string. Often the final character in <hex pattern> is ; an '*' when the remainder of the data is not of interest. ; Pattern matching is case insensitive. See "ASCII Patterns". ; ; For example, if a device returns the following 56 bytes of ; Inquiry data -- ; 0: 01 80 02 02 33 00 00 38 51 55 41 4e 54 55 4d 20 ....3..8QUANTUM ; 16: 44 4c 54 37 30 30 30 20 20 20 20 20 20 20 20 20 DLT7000 ; 32: 32 35 36 30 71 60 00 07 32 0f 01 00 00 3f 00 00 2560q`..2....?.. ; 48: 00 00 00 02 41 30 30 33 ....A003 ; -- the data is converted to the following 112 character ; ASCII hexadecimal string (in actuality, all on one line): ; "01800202330000385155414e54554d20 ; 444c5437303030202020202020202020 ; 3235363071600007320f0100003f0000 ; 0000000241303033" ; and, thus, the parameter ; InquiryStdHex = "41:0f*" ; would match the Inquiry byte offset decimal 41, a value of 0f ; hexadecimal. ; ; Using the parameter ; InquiryStdHex = "41:[0-4]???{00,3c,99}*" ; specifies that byte 41 must be in the range 00 through 4f, ; and byte 43 must be either 00, 3c, or 99. ; ; InquiryStdHex Examples: ; InquiryStdHex = "41:04*" For Quantum OEM personality ; InquiryStdHex = "41:0f*" For Quantum OML personality ; InquiryStdHex = "41:12*" For Quantum OMX personality ; ; VpdAscii = "<page number>:<byte offset>:<ascii pattern>" ; VpdHex = "<page number>:<byte offset>:<hex pattern>" ; VpdAscii and VpdHex specify Vital Product Data (VPD) to match. ; VpdAscii is useful for matching ASCII data, and VpdHex is useful ; for matching binary data. These parameters are optional. When ; one or both are present, they further qualify a device whose ; standard Inquiry data matches the InquiryStd parameter in the ; same [<Device_Section>]. ; ; When these parameters are given, they cause the entire VPD ; page (up to 255 bytes) to be retrieved for the given VPD page ; number. ; ; VpdAscii and VpdHex parameter values consists of three fields ; separated by colons (":"). ; ; <page number> is an integer value, in the range 0 through 255, ; giving the Inquiry Vital Product page number whose data is ; to be matched against the pattern data. This number may be ; expressed as decimal, hexadecimal (with an '0x' prefix), ; or octal (with a '0' prefix). For example 193, 0xc1, and ; 0301 specify the same page. An empty <page number> field ; is erroneous. ; ; <byte offset> is an integer value, in the range 0 through 254, ; giving the byte offset in the VPD data at which to begin ; <ascii pattern> or <hex pattern> matching. For example, ; 41 if we are interested in data starting at byte offset 41 ; of VPD data. This number may be expressed as decimal, ; hexadecimal (with an '0x' prefix), or octal (with a '0' ; prefix). An empty <byte offset> is erroneous. ; ; <ascii pattern> is an ASCII Pattern string that is compared ; against the ASCII VPD returned by the device. The final ; character in <ascii pattern> should be a '*' when the ; remainder of VPD is not of interest. Pattern matching ; is case sensitive. See "ASCII Patterns". ; ; <hex pattern> is an ASCII Pattern string using characters from ; the set *?[-]{}0123456789ABCDEFabcdef. A <hex pattern> is ; compared against VPD after the data is converted from binary ; to a hexadecimal ASCII string called the target string. ; Pattern matching begins at <byte offset> in the target ; string. Often the final character in <hex pattern> is an '*' ; when the remainder of the data is not of interest. Pattern ; matching is case insensitive. See "ASCII Patterns". ; ; VpdAscii Example: ; VpdAscii = "3:12:PIE[0-2]*" ; says for VPD page 3, byte offset 12, match any ASCII ; string that begins with PIE0, PIE1, or PIE2. ; ; VpdHex Example: ; VpdHex = "0xc0:10:2f*" ; says for VPD page 0xc0, byte offset 10, match the ; binary byte value 2f. ; ; InquiryCFR_OEM = "<1 to 3 digit oem number pattern>" ; This optional parameter is needed for certain Seagate DAT drives. ; It further qualifies a device whose standard Inquiry data matches ; the InquiryStd parameter in the same [<Device_Section>]. When ; InqyiryCFR_OEM is specfied, then the Seagate Controller Firmware ; Revision (CFR) VPD Inquiry page (0xc0) is retrieved from the ; drive. The 1 to 3 digit OEM field (skipping the '-' prefix), ; contained within the CFR page is compared with an ASCII Pattern ; given by the parameter value. See ASCII Patterns. ; ; Examples: ; InquiryCFR_OEM = "0" ; InquiryCFR_OEM = "547" ; InquiryCFR_OEM = "{000,400}" ; ; AutoFileName = "<firmware file>" ; AutoFileName gives the name of the firmware file with which to ; update an out-of-date device. If a -p <firmware_path> is ; specified on the command line, then <firmware_path> is prefixed ; to <firmware file>. <firmware file> is an ASCII Pattern. The ; pattern must represent a unique filename. If AutoFileName is ; empty or missing from a device section, and a device is found to ; be "out of date" (when compared with AutoFileVersion), then ; tapedrv reports the device state as "Needs alternate update ; method". That is, the device needs to be updated by a method ; other than using tapedrv autoupdate. See "ASCII Patterns". ; ; Examples: ; AutoFileName = "1234.img" ; AutoFileName = "seagate/ti4s?3??.fls" ; ; AutoFileVersion = "<4-character version>" ; AutoFileVersion gives the version (or Product Revision Level) ; that would be returned by the device, in the 4-bytes, beginning ; at byte 32 of SCSI Inquiry data, after the firmware file, given ; by AutoFileName, is transferred and saved in the device's ; EEPROM. When any of the 4 characters has the special character ; "?", it is substituted with the corresponding version character ; currently present in the device. ; ; If AutoFileVersion is missing or has an empty string, than the ; drive is displayed as Ignored device. Any non-empty ; <4-character version> having less than 4-characters ; is right padded with ? to 4 characters. ; ; To assure correct 'new version' display, "?" must be used when ; both these conditions occur: 1) the character will not change as ; a result of the update, and 2) the character is not "fixed" ; based on the make and model. For example for a Quantum DLT4000, ; the first and second characters indicate the "servo code level". ; The servo code level is neither altered by firmware update, nor ; fixed for the make and model. The third and fourth characters ; indicate the "firmware code level" and *are* altered by firmware ; update. Thus, for the DLT4000, if AutoFileName represents ; version 45 firmware, then set AutoFileVersion to the string, ; "??45". ; ; Examples: ; AutoFileVersion = "??10" ; AutoFileVersion = "1.AB" ; ; CompareControl = "<control>" ; CompareControl controls the comparison of the device version ; (or 4-character Product Revision Level) with that of the file ; version given by the AutoFileVersion parameter. <control> is a ; 1 to 4 digit string, with each digit being a unique selection ; from the list 0 1 2 or 3. Characters other than 0 1 2 or 3 are ; ignored. <control> specifies both the byte offsets of, and ; significance of version character comparison. That is, the value ; of each <control> digit is a byte offset in the 4-digit version, ; while the order of the <control> digits gives the significance ; of the compared version digits, with the left most <control> ; digit being the most significant. Version comparisons are case ; insensitive. ; ; For example if <control> is "3210", all 4 characters of the ; version are compared in reverse order from right to left. If ; <control> is "23", than only the final 2 characters of the ; version are compared from left to right. The string "??23" is ; identical to "23" because "??" is ignored. If CompareControl is ; missing or has an empty <control> string, or contains no valid ; characters then the default value, then "0123" is used. ; ; UpdateAlgorithm = "<algorithm>" ; UpdateAlgorithm selects the <algorithm> used to update the tape ; device firmware and must be one of the following: ; ; "<algorithm>" Tape Device ; ------------------- ----------------------------------- ; "standard" Standard tape or changer ; "exabyte_mammoth" Exabyte Mammoth ; "seagate_travan" Seagate Travan TR-4, TR-5 ; "seagate_tr7" Seagate Travan TR-7 ; "seagate_dds2_256k" Seagate DDS-1, DDS-2 w/ 256K EEPROM ; "seagate_dds2_512k" Seagate DDS-1, DDS-2 w/ 512K EEPROM ; "seagate_dds3" Seagate DDS-3 ; "seagate_dds4" Seagate DDS-4, DAT-72 ; "quantum_dlt" Quantum/Benchmark DLT (w/ 4KB fw transfers) ; "quantum_dlt_8k" Quantum/Benchmark DLT (w/ 8KB fw transfers) ; "quantum_dltvs_8k" Quantum/Benchmark DLT-VS (w/ 8KB fw transfers) ; "ibm_ultrium" IBM Ultrium ; "hp_ultrium" HP Ultrium ; "hp_library" HP Library/Autoloader ; "adic_faststor" ADIC Autoloader ; ; UpdateFlags = "<flagcharacters>" ; <flagcharacters> is a string of case significant flags that ; control firmware update behavior for an associated device. ; ; <flagcharacter> Meaning ; --------------- ----------------------------------- ; c Skip post firmware update inquiry verification ; if supported Changer is detected. ; Z Write firmware to LUN 0 of same SCSI Device ID. ; ; Example: ; UpdateFlags = "cZ" ; ; UpdateSeconds = <seconds> ; <seconds> gives a maximum number of seconds required to update ; firmware. If <seconds> is too small, a firmware update error ; may be erroneously reported. The default value is 120. Note ; that, on the display, the operator sees a message similar to ; Update will take up to <n> minutes where <n> is derived by ; rounding up <seconds> the nearest minute. The minimum ; displayed value for <n> on the display is 2. ; ; Example: ; UpdateSeconds = 45 ; [36L8804 * 3502-108] Description = "ATL Products L200 Library (with Quantum DLT7000 drives)" InquiryStd = "Changer:QUANTUM Powerstor L200 ????" AutoFileName = "108_v38.img" AutoFileVersion = "??26" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 300 [33L4978 * 3502-R14] Description = "ATL Products L500 Library (with Quantum DLT7000 drives)" InquiryStd = "Changer:QUANTUM Powerstor L500 ????" AutoFileName = "314_v38.img" AutoFileVersion = "??26" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 300 [24P2398] Description = "Benchmark DLT1" InquiryStd = "Tape:BNCHMARKDLT1 ????" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dltvs80.exe" AutoFileName = "vs80_v94.img" AutoFileVersion = "5E40" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [01K1325] Description = "Exabyte Mammoth-1" InquiryStd = "Tape:EXABYTE EXB-8900????????????" AutoFileName = "8cm1v41k.i" AutoFileVersion = "V41K" UpdateAlgorithm = "exabyte_mammoth" UpdateSeconds = 121 [00N8017] Description = "Exabyte Mammoth-2 (M2)" InquiryStd = "Tape:EXABYTE Mammoth2 ????" AutoFileName = "8ck3v07w.i" AutoFileVersion = "v07w" UpdateAlgorithm = "exabyte_mammoth" UpdateSeconds = 121 [24P2396] Description = "HP Ultrium-1 SCSI" InquiryStd = "Tape:HP Ultrium 1-SCSI N??G" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/HHLTO.exe" AutoFileName = "n2cg.frm" AutoFileVersion = "N2CG" UpdateAlgorithm = "hp_ultrium" UpdateSeconds = 200 [3600-109] Description = "3600-109" InquiryStd = "Changer:HP C7145 ????" AutoFileName = "3600a_32.frm" AutoFileVersion = "232I" UpdateAlgorithm = "hp_library" UpdateSeconds = 200 [3600-R20 & 3600-220] Description = "3600-R20 and 3600-220" InquiryStd = "Changer:HP C7200 ????" AutoFileName = "3600l_40.frm" AutoFileVersion = "?40I" UpdateAlgorithm = "hp_library" UpdateSeconds = 420 [09N4048 * IBM Ultrium 1] Description = "IBM Ultrium-1" InquiryStd = "Tape:IBM ULTRIUM-TD1 ????" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/LTOGen1.exe" AutoFileName = "36U3L1s.ro" AutoFileVersion = "36U3" UpdateAlgorithm = "ibm_ultrium" UpdateFlags = "c" UpdateSeconds = 121 [06H9720] Description = "Seagate Bali-2A ATAPI TR-4: CTT8000x-A" InquiryStd = "Tape:CONNER CTT8000-A 5???" AutoFileName = "TR4a0551.fls" AutoFileVersion = "5.51" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [06H9720-2] Description = "Seagate Hornet-8 ATAPI TR-4: STTx8000A" InquiryStd = "Tape:Seagate STT8000A 5???" AutoFileName = "tr4a0551.fls" AutoFileVersion = "5.51" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [20L0549] Description = "Seagate Hornet-20 ATAPI TR-5: STTx20000A" InquiryStd = "Tape:Seagate STT20000A 8???" AutoFileName = "tr5v8a51.fls" AutoFileVersion = "8A51" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [06H9716] Description = "Seagate Falcon-2 SCSI TR-4: CTT8000x-S" InquiryStd = "Tape:CONNER CTT8000-S 1???" AutoFileName = "fibm2122.fls" AutoFileVersion = "1.22" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [06H9716-2] ; Replace Seagate firmware with same IBM firmware ; as used in [IBM_Hornet-8_SCSI] below. Description = "Seagate Hornet-8 SCSI TR-4: STTx8000N" InquiryStd = "Tape:Seagate STT8000N 3???" AutoFileName = "ti4s0352.fls" AutoFileVersion = "3.52" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [06H9716-3] ; IBM special firmware makes Hornet-8 appear similar to a Falcon-2 Description = "IBM Hornet-8 SCSI TR-4" InquiryStd = "Tape:CONNER CTT8000-S 3???" AutoFileName = "ti4s0352.fls" AutoFileVersion = "3.52" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [09N4042] Description = "Seagate Hornet-NS20 SCSI TR-5: STTx20000N-C" InquiryStd = "Tape:Seagate STT20000N 7???" AutoFileName = "NS207a64.fls" AutoFileVersion = "7A64" CompareControl = "0?23" UpdateAlgorithm = "seagate_travan" UpdateSeconds = 45 [59H3536] Description = "Seagate Peregrine DDS-DC/DDS2: CDT4004/CTD8000" InquiryStd = "Tape:ARCHIVE Python 28388-XXX5???" AutoFileName = "v577-47.hex" AutoFileVersion = "5.AQ" UpdateAlgorithm = "seagate_dds2_256k" UpdateSeconds = 60 [Seagate_Scorpion-4-8_256K] ; Cobra2 256K EEPROM - first version digit 6=release, 2=test ; InquiryCFR_OEM differentiates 256K and 512K platforms Description = "Seagate Scorpion-4/8 DDS-2/3 256K: STDx4000N/STDx8000N" InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 02779-XXX[62]???" InquiryCFR_OEM = "0" AutoFileName = "v6610-0.bin" AutoFileVersion = "6610" CompareControl = "?123" UpdateAlgorithm = "seagate_dds2_256k" UpdateSeconds = 60 [Seagate_Scorpion-4-8_512K] ; Cobra2 512K EEPROM - first version digit 6=release, 2=test ; InquiryCFR_OEM differentiates 256K and 512K platforms Description = "Seagate Scorpion-4/8 DDS-2/3 512K: STDx4000N/STDx8000N" InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 04687-XXX[62]???" InquiryCFR_OEM = "500" AutoFileName = "v6610500.bin" AutoFileVersion = "6610" CompareControl = "?123" UpdateAlgorithm = "seagate_dds2_512k" UpdateSeconds = 60 [IBM_Scorpion-4-8_512K] ; Cobra2 512K EEPROM - first version digit 6=release, 2=test ; InquiryCFR_OEM differentiates 256K and 512K EEPROMS Description = "IBM DDS-2 512K" InquiryStd = "Tape:ARCHIVE IBM4326NP/RP !D[62]???" InquiryCFR_OEM = "547" AutoFileName = "v661A547.bin" AutoFileVersion = "661A" CompareControl = "?123" UpdateAlgorithm = "seagate_dds2_512k" UpdateSeconds = 60 [09N4041] ; Switch 7 On=SEAGATE..., Off=ARCHIVE... ; Cobra3 - first version digit 7=release, 3=test Description = "Seagate Scorpion-24 DDS-3: STDx24000N" InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 04106-XXX[73]???" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dds3.exe" AutoFileName = "v758B-0.bin" AutoFileVersion = "758B" CompareControl = "?123" UpdateAlgorithm = "seagate_dds3" UpdateSeconds = 60 [00N7991] ; Switch 7 On=SEAGATE..., Off=ARCHIVE... ; Scorpion-40 and Scorpion-240 use same file Description = "Seagate Scorpion-40 DDS-4: STDx401LW" InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 06240-XXX8???" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dds4_all.exe" AutoFileName = "V8240000.bin" AutoFileVersion = "8240" UpdateAlgorithm = "seagate_dds4" UpdateSeconds = 60 [00N7992] ; Switch 10 On=SEAGATE..., Off=ARCHIVE... ; Scorpion-40 and Scorpion-240 use same file Description = "Seagate Scorpion-240 DDS-4 Loader: STDLx2401LW" InquiryStd = "Tape:{SEAGATE DAT ,ARCHIVE Python} 06241-XXX8???" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dds4_all.exe" AutoFileName = "V8240000.bin" AutoFileVersion = "8240" UpdateAlgorithm = "seagate_dds4" ; Loader firmware image is sent through an internal serial interface ; that requires a large (e.g., 6 minute) UpdateSeconds UpdateSeconds = 360 [Seagate_Scorpion-240_lun1] ; LUN1 of above. Taken as an "Ignored device" by omitting AutoFileVersion Description = "Seagate Scorpion-240 DDS-4 Loader: STDLx2401LW" InquiryStd = "Changer:{SEAGATE DAT ,ARCHIVE Python} 06241-XXX8???" [09N4040] Description = "Quantum DLT4000" InquiryStd = "Tape:Quantum DLT4000 ????" AutoFileName = "d4_v150.img" AutoFileVersion = "D996" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [04K0149] Description = "Quantum DLT7000" InquiryStd = "Tape:QUANTUM DLT7000 ????" InquiryStdHex = "41:04*" AutoFileName = "D7_v106.img" AutoFileVersion = "276A" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt" UpdateSeconds = 200 [3502_SLED-36L8805] Description = "Quantum DLT7000 (3502 SLED)" InquiryStd = "Tape:QUANTUM DLT7000 ????" InquiryStdHex = "41:0f*" AutoFileName = "D7L_v105.img" AutoFileVersion = "2769" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt" UpdateSeconds = 200 [00N7990] Description = "Quantum DLT8000" InquiryStd = "Tape:QUANTUM DLT8000 ????" AutoFileName = "D8_v85.img" AutoFileVersion = "0255" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt" UpdateSeconds = 200 [SDLT1 sled] Description = "Quantum SuperDLT SCSI 110/220" InquiryStd = "Tape:QUANTUM SuperDLT1 ????" InquiryStdHex = "41:040101????????????00*" AutoFileName = "sdlt1v70.img" AutoFileVersion = "4646" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [3580_Ultruim-1] Description = "IBM 3580 Ultrium-1" InquiryStd = "Tape:IBM ULT3580-TD1 ????" AutoFileName = "36U3L1S.ro" AutoFileVersion = "36U3" UpdateAlgorithm = "ibm_ultrium" UpdateSeconds = 121 [3502-108] Description = "ATL Products L200 Library (with Quantum DLT7000 drives)" InquiryStd = "Changer:ATL L200 ???????????????" AutoFileName = "108_v38.img" AutoFileVersion = "??26" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 300 [3502-314] Description = "ATL Products L500 Library (with Quantum DLT7000 drives)" InquiryStd = "Changer:ATL L500 ???????????????" AutoFileName = "314_v38.img" AutoFileVersion = "??26" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 300 [00N7991-LC] Description = "Seagate_SP40 Low Cost" ; Switch 10 On=SEAGATE..., Off=ARCHIVE... InquiryStd = "Tape:{SEAGATE DAT 9SP40-000,ARCHIVE Python 06240-XXX}9???" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dds4_all.exe" ; Seagate_SP40 and DDS4_LC_Autoloader use same firmware file AutoFileName = "v910b000.BIN" AutoFileVersion = "910b" UpdateAlgorithm = "seagate_dds4" UpdateSeconds = 60" [00N7992-LC] Description = "Seagate SP-240 DDS-4 Loader: STDL42401LW" ; Switch 10 On=SEAGATE..., Off=ARCHIVE... InquiryStd = "Tape:{SEAGATE DAT 9SP40-400,ARCHIVE Python 06241-XXX}9???" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dds4_all.exe" ; Seagate_SP40 and DDS4_LC_Autoloader use same firmware file AutoFileName = "V910b000.bin" AutoFileVersion = "910b" UpdateAlgorithm = "seagate_dds4" ; Loader firmware image is sent through an internal serial interface ; that requires a large (e.g., 6 minute) UpdateSeconds UpdateSeconds = 360 [DDS4_LC_Autoloader_lun1] ; LUN1 of above. Taken as an "Ignored device" by omitting AutoFileVersion Description = "Seagate SP-240 DDS-4 Loader: STDL42401LW" InquiryStd = "Changer:{SEAGATE DAT 9SP40-400,ARCHIVE Python 06241-XXX}9???" [48P7042] Description = "Seagate TR7 " InquiryStd = "Tape:Seagate STT3401A ????" AutoFileName = "V310AC.DFI" AutoFileVersion = "310A" CompareControl = "0123" UpdateAlgorithm = "seagate_tr7" UpdateSeconds = 60 [IBM_3447] Description = "IBM 3447 - library personality" InquiryStd = "Changer:IBM 3447 ???????????????" AutoFileName = "Q2_171.bin" AutoFileVersion = "??71" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 180 [3447-105] Description = "Quantum DLT7000 (3447 Drive personality)" InquiryStd = "Tape:QUANTUM DLT7000 ????" InquiryStdHex = "41:35*" AutoFileName = "3447v107.img" AutoFileVersion = "026B" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt" UpdateSeconds = 60 [3447-106] Description = "Quantum DLT7000 (3447 Drive Personality)" InquiryStd = "Tape:QUANTUM DLT7000 ????" InquiryStdHex = "41:35*" AutoFileName = "3447v107.img" AutoFileVersion = "026B" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt" UpdateSeconds = 60 [3607-16X] Description = "IBM SDLT Autoloader(robot update)" InquiryStd = "Changer:IBM 360716X ????" AutoFileName = "3607_v35.img" Autofileversion = "0023" ReplaceVersion = "00L0" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 330 [4560-SLX] Description = "IBM LTO Autoloader(4560-SLX)" InquiryStd = "Changer:IBM 4560SLX ????" AutoFileName = "4560_425.bin" AutoFileVersion = "0425" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 180 [3607_16X-drive] Description = "Quantum SDLT220 (Autoloader Personality)" InquiryStd = "Tape:QUANTUM SuperDLT1 ????" InquiryStdHex = "41:040101????????????01*" AutoFileName = "3607_v72.img" AutoFileVersion = "4848" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [3607-26X-drive] Description = "HP Ultrium sled in 3607" InquiryStd = "Tape:HP Ultrium 1-SCSI E??F" AutoFileName = "E31F.frm" AutoFileVersion = "E31F" CompareControl = "0123" UpdateAlgorithm = "hp_ultrium" UpdateSeconds = 200 [59P6746] Description = "Exabyte VXA/2" InquiryStd = "Tape:IBM VXA-2 ????" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/vxa2.exe" AutoFileName = "V2100E.trb" AutoFileVersion = "100E" UpdateAlgorithm = "exabyte_vxa" UpdateSeconds = 121 [71P9146] Description = "IBM Ultrium-2" InquiryStd = "Tape:IBM ULTRIUM-TD2 ????" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/LTO2.exe" AutoFileName = "3AY4_SE.fmr" AutoFileVersion = "3AY4" UpdateAlgorithm = "standard" UpdateSeconds = 121 [59P6660] Description = "Library sled SuperDLT 160/320" InquiryStd = "Tape:QUANTUM SDLT320 ????" InquiryStdHex = "41:040101????????????00*" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/sdlt.exe" AutoFileName = "SDLT1v70.img" AutoFileVersion = "4646" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [3581] Description = "IBM 3581" InquiryStd = "Changer:IBM ULT3581-TA ????" AutoFileName = "i114.fmr" AutoFileVersion = "I114" UpdateAlgorithm = "adic_faststor" UpdatePrepare = "NoOp" UpdateSeconds = 300 [3583] Description = "IBM 3583" InquiryStd = "Changer:IBM ULT3583-TL ????" AutoFileName = "v3_10_04.lif" AutoFileVersion = "3?10" UpdateAlgorithm = "ibm_library" UpdateSeconds = 300 [DDS Gen5(DAT72)] Description = "IBM DDS Gen5 DAT72" ; Switch 10 On=IBM..., Off=ARCHIVE... InquiryStd = "Tape:{IBM DDS Gen5 ,ARCHIVE Python 06240-XXX}A???" AutoFileName = "VA060001.bin" AutoFileVersion = "A060" UpdateAlgorithm = "seagate_dds4" UpdateSeconds = 60 [3607-26X-robot] Description = "IBM LTO Autoloader(3607-26X)" InquiryStd = "Changer:IBM 360726X ????" AutoFileName = "3607v15.img" AutoFileVersion = "000F" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 120 [59P6658] Description = "HP Ultrium sled in 4560" InquiryStd = "Tape:HP Ultrium 1-SCSI E??[UV]" AutoFileName = "E37U.frm" AutoFileVersion = "E37U" CompareControl = "0123" UpdateAlgorithm = "hp_ultrium" UpdatePrepare = "NoOp" UpdateSeconds = 180 [59P6745] Description = "Quantum VS160" InquiryStd = "Tape:IBM VS160 ????" FileLocation = "ftp://ftp.software.ibm.com/pc/pccbbs/pc_servers/dltVS160.exe" AutoFileName = "VS160V34.img" AutoFileVersion = "0022" CompareControl = "0123" UpdateAlgorithm = "quantum_dltvs_8k" UpdateSeconds = 200 [4560_SDLT320] Description = "Quantum SDLT320 (Library Personality)" InquiryStd = "Tape:QUANTUM SDLT320 ????" InquiryStdHex = "41:190101*" AutoFileName = "4560Sv70.img" AutoFileVersion = "4646" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 200 [3582] Description = "IBM 3582" InquiryStd = "Changer:IBM ULT3582-TL ????" AutoFileName = "227b_002.lif" AutoFileVersion = "227B" CompareControl = "0123" UpdateAlgorithm = "ibm_library" UpdateSeconds = 120 [3623] Description = "IBM 3623-2LX" InquiryStd = "Changer:IBM 36232LX ????" AutoFileName = "3623_120.fbi" AutoFileVersion = "1?20" CompareControl = "0123" UpdateAlgorithm = "quantum_dlt_8k" UpdateSeconds = 120 [ULT3580] Description = "IBM 3580 Ultrium2" InquiryStd = "Tape:IBM ULT3580-TD2 ????" AutoFileName = "e4770.fmr" AutoFileVersion = "4770" CompareControl = "0123" UpdateAlgorithm = "standard" UpdateSeconds = 120Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.