2670 SYNOPSIS: What are scsi_options in Solaris? How do I check default set value 29 Jun 1999 Description do I enable and disable various parameters for scsi_options? Solution Summary Top Here are various options that can be set with 'set scsi_options' command. The scsi_options is the tunable parameter under Solaris kernel. This parameter defines various options set on SCSI bus. Following are the option bytes where there's 1 bit per option. bit=1 =>option enabled, bit =0 option disabled. The table below explains scsi options and bit settings. SCSI option value to set the corresponding bit to 1 Global Disconnect/reconnect 0x008 (bit3=1, starting with bit 0) Global Linked commands 0x010 (bit4=1) Global Synchronous transfer 0x020 (bit5=1) Global Parity 0x040 (bit6=1) Global Tagged Queuing 0x080 (bit7=1) Global Fast scsi 0x100 (bit8=1, or bit 9 if starting with 1) Global Wide scsi 0x200 (bit9=1) To set a given options, one should add all the bit values corresponding to those options, then include the result in a set statement set scsi_options=0xxxx in /etc/system. For example, if you have the following entry in /etc/system, set scsi_option=0x178 This indicates bits 3,4,5,6, and 8 are set to 1; hence, disc/reconnect, linked commands, synchronous transfer, parity, and fast scsi are enabled. Tagged Queuing and Wide scsi are set to 0, i.e. disabled. If we set scsi_options=0x3f8, this indicates that we have enabled all settings on scsi bus. The exact meaning of each option is as follows: Global disconnect/reconnect: This feature allows slow operations (like seek in disks, or rewind in tapes) to be executed off line. Using disconnect and reconnect, several operations in a system may progress concurrently. Global linked commands: Allow linking of two or more successive commands together. If the link bit is set, the current command does not end with Bus Free phase, but attaches the following command by starting with its Command phase instead. Global synchronous xfer capability: There are 2 handshaking modes on the SCSI bus, used for transferring data: ASYNCHRONOUS and SYNCHRONOUS. ASYNCHRONOUS is a classic Req/Ack handshake. SYNCHRONOUS is "sort of" Req/Ack, only it allows you to issue multiple Req's before receiving Ack's. What this means in practice is that SYNCHRONOUS transfers are approximately three times faster than ASYNCHRONOUS and are used for data phases only. Global parity support: An extra bit, added to a number, used for checking the accuracy of binary numbers. ODD parity means that the sum of all 1's in the number including its corresponding parity bit, is always odd. Global command or tag command support: Command Queuing is the capability of a SCSI Target to accept multiple commands (I/O Processes), and to execute them in an optimum sequence. This may sometimes be useful in a high performance system to minimize latency, access, or seek times in disks for example. It is an optional function which might or might not be supported by a Target. We need to check drive specifications from respective vendor before enabling this option. Global FAST SCSI support: Synchronous transmission rate defined in SCSI-2 to be used between 5 MHz and 10 MHz. It is used in data-in/out phases only. Global WIDE SCSI support: The SCSI-1 specification defines the width of the data on the SCSI cable to be one byte wide, plus parity. The term 'WIDE' in SCSI-2 defines the two-byte to four-byte wide data interface. Each data byte uses its corresponding parity bit. Sun uses the SCSI-2 interface. By using adb command, one can find what is default value on system. # adb -k /dev/ksyms /dev/mem scsi_options/X $q When I do it on my system it shows me: # adb -k /dev/ksyms /dev/mem physmem 1e0c scsi_options/X scsi_options: scsi_options: 7f8 $q If the set scsi_options is newly set under /etc/system, to have it effective, you must reboot the system once after setting.Date Approved 06/28/99 ---------------------------------------------------------------------- 2670 SYNOPSIS: What are scsi_options in Solaris? How do I check default set value 29 Jun 1999 Description do I enable and disable various parameters for scsi_options? Solution Summary Top Here are various options that can be set with 'set scsi_options' cammand. The scsi_options is the tunable parameter under Solaris kernel. This parameter defines various options set on SCSI bus. Following are the option bytes where there's 1 bit per option. bit=1 =>option enabled, bit =0 option disabled. The table below explains scsi options and bit settings. SCSI option value to set the corresponding bit to 1 Global Disconnect/reconnect 0x008 (bit3=1, starting with bit 0) Global Linked commands 0x010 (bit4=1) Global Synchronous transfer 0x020 (bit5=1) Global Parity 0x040 (bit6=1) Global Tagged Queuing 0x080 (bit7=1) Global Fast scsi 0x100 (bit8=1, or bit 9 if starting with 1) Global Wide scsi 0x200 (bit9=1) To set a given options, one should add all the bit values corresponding to those options, then include the result in a set statement set scsi_options=0xxxx in /etc/system. For example, if you have the following entry in /etc/system, set scsi_option=0x178 This indicates bits 3,4,5,6, and 8 are set to 1; hence, disc/reconnect, linked commands, synchronous transfer, parity, and fast scsi are enabled. Tagged Queuing and Wide scsi are set to 0, i.e. disabled. If we set scsi_options=0x3f8, this indicates that we have enabled all settings on scsi bus. The exact meaning of each option is as follows: Global disconnect/reconnect: This feature allows slow operations (like seek in disks, or rewind in tapes) to be executed off line. Using disconnect and reconnect, several operations in a system may progress concurrently. Global linked commands: Allow linking of two or more successive commands together. If the link bit is set, the current command does not end with Bus Free phase, but attaches the following command by starting with its Command phase instead. Global synchronous xfer capability: There are 2 handshaking modes on the SCSI bus, used for transferring data: ASYNCHRONOUS and SYNCHRONOUS. ASYNCHRONOUS is a classic Req/Ack handshake. SYNCHRONOUS is "sort of" Req/Ack, only it allows you to issue multiple Req's before receiving Ack's. What this means in practice is that SYNCHRONOUS transfers are approximately three times faster than ASYNCHRONOUS and are used for data phases only. Global parity support: An extra bit, added to a number, used for checking the accuracy of binary numbers. ODD parity means that the sum of all 1's in the number including its corresponding parity bit, is always odd. Global command or tag command support: Command Queuing is the capability of a SCSI Target to accept multiple commands (I/O Processes), and to execute them in an optimum sequence. This may sometimes be useful in a high performance system to minimize latency, access, or seek times in disks for example. It is an optional function which might or might not be supported by a Target. We need to check drive specifications from respective vendor before enabling this option. Global FAST SCSI support: Synchronous transmission rate defined in SCSI-2 to be used between 5 MHz and 10 MHz. It is used in data-in/out phases only. Global WIDE SCSI support: The SCSI-1 specification defines the width of the data on the SCSI cable to be one byte wide, plus parity. The term 'WIDE' in SCSI-2 defines the two-byte to four-byte wide data interface. Each data byte uses its corresponding parity bit. Sun uses the SCSI-2 interface. By using adb command, one can find what is default value on system. # adb -k /dev/ksyms /dev/mem scsi_options/X $q When I do it on my system it shows me: # adb -k /dev/ksyms /dev/mem physmem 1e0c scsi_options/X scsi_options: scsi_options: 7f8 $q If the set scsi_options is newly set under /etc/system, to have it effective, you must reboot the system once after setting.Date Approved 06/28/99 ---------------------------------------------------------------------- 2770 SYNOPSIS: What are scsi_options in Solaris? How do I check default set value 29 Jun 1999 Description do I enable and disable various parameters for scsi_options? Solution Summary Top Here are various options that can be set with 'set scsi_options' cammand. The scsi_options is the tunable parameter under Solaris kernel. This parameter defines various options set on SCSI bus. Following are the option bytes where there's 1 bit per option. bit=1 =>option enabled, bit =0 option disabled. The table below explains scsi options and bit settings. SCSI option value to set the corresponding bit to 1 Global Disconnect/reconnect 0x008 (bit3=1, starting with bit 0) Global Linked commands 0x010 (bit4=1) Global Synchronous transfer 0x020 (bit5=1) Global Parity 0x040 (bit6=1) Global Tagged Queuing 0x080 (bit7=1) Global Fast scsi 0x100 (bit8=1, or bit 9 if starting with 1) Global Wide scsi 0x200 (bit9=1) To set a given options, one should add all the bit values corresponding to those options, then include the result in a set statement set scsi_options=0xxxx in /etc/system. For example, if you have the following entry in /etc/system, set scsi_option=0x178 This indicates bits 3,4,5,6, and 8 are set to 1; hence, disc/reconnect, linked commands, synchronous transfer, parity, and fast scsi are enabled. Tagged Queuing and Wide scsi are set to 0, i.e. disabled. If we set scsi_options=0x3f8, this indicates that we have enabled all settings on scsi bus. The exact meaning of each option is as follows: Global disconnect/reconnect: This feature allows slow operations (like seek in disks, or rewind in tapes) to be executed off line. Using disconnect and reconnect, several operations in a system may progress concurrently. Global linked commands: Allow linking of two or more successive commands together. If the link bit is set, the current command does not end with Bus Free phase, but attaches the following command by starting with its Command phase instead. Global synchronous xfer capability: There are 2 handshaking modes on the SCSI bus, used for transferring data: ASYNCHRONOUS and SYNCHRONOUS. ASYNCHRONOUS is a classic Req/Ack handshake. SYNCHRONOUS is "sort of" Req/Ack, only it allows you to issue multiple Req's before receiving Ack's. What this means in practice is that SYNCHRONOUS transfers are approximately three times faster than ASYNCHRONOUS and are used for data phases only. Global parity support: An extra bit, added to a number, used for checking the accuracy of binary numbers. ODD parity means that the sum of all 1's in the number including its corresponding parity bit, is always odd. Global command or tag command support: Command Queuing is the capability of a SCSI Target to accept multiple commands (I/O Processes), and to execute them in an optimum sequence. This may sometimes be useful in a high performance system to minimize latency, access, or seek times in disks for example. It is an optional function which might or might not be supported by a Target. We need to check drive specifications from respective vendor before enabling this option. Global FAST SCSI support: Synchronous transmission rate defined in SCSI-2 to be used between 5 MHz and 10 MHz. It is used in data-in/out phases only. Global WIDE SCSI support: The SCSI-1 specification defines the width of the data on the SCSI cable to be one byte wide, plus parity. The term 'WIDE' in SCSI-2 defines the two-byte to four-byte wide data interface. Each data byte uses its corresponding parity bit. Sun uses the SCSI-2 interface. By using adb command, one can find what is default value on system. # adb -k /dev/ksyms /dev/mem scsi_options/X $q When I do it on my system it shows me: # adb -k /dev/ksyms /dev/mem physmem 1e0c scsi_options/X scsi_options: scsi_options: 7f8 $q If the set scsi_options is newly set under /etc/system, to have it effective, you must reboot the system once after setting.Date Approved 06/28/99 ---------------------------------------------------------------------- Description do I enable and disable various parameters for scsi_options? Solution Summary Top Here are various options that can be set with 'set scsi_options' cammand. The scsi_options is the tunable parameter under Solaris kernel. This parameter defines various options set on SCSI bus. Following are the option bytes where there's 1 bit per option. bit=1 =>option enabled, bit =0 option disabled. The table below explains scsi options and bit settings. SCSI option value to set the corresponding bit to 1 Global Disconnect/reconnect 0x008 (bit3=1, starting with bit 0) Global Linked commands 0x010 (bit4=1) Global Synchronous transfer 0x020 (bit5=1) Global Parity 0x040 (bit6=1) Global Tagged Queuing 0x080 (bit7=1) Global Fast scsi 0x100 (bit8=1, or bit 9 if starting with 1) Global Wide scsi 0x200 (bit9=1) To set a given options, one should add all the bit values corresponding to those options, then include the result in a set statement set scsi_options=0xxxx in /etc/system. For example, if you have the following entry in /etc/system, set scsi_option=0x178 This indicates bits 3,4,5,6, and 8 are set to 1; hence, disc/reconnect, linked commands, synchronous transfer, parity, and fast scsi are enabled. Tagged Queuing and Wide scsi are set to 0, i.e. disabled. If we set scsi_options=0x3f8, this indicates that we have enabled all settings on scsi bus. The exact meaning of each option is as follows: Global disconnect/reconnect: This feature allows slow operations (like seek in disks, or rewind in tapes) to be executed off line. Using disconnect and reconnect, several operations in a system may progress concurrently. Global linked commands: Allow linking of two or more successive commands together. If the link bit is set, the current command does not end with Bus Free phase, but attaches the following command by starting with its Command phase instead. Global synchronous xfer capability: There are 2 handshaking modes on the SCSI bus, used for transferring data: ASYNCHRONOUS and SYNCHRONOUS. ASYNCHRONOUS is a classic Req/Ack handshake. SYNCHRONOUS is "sort of" Req/Ack, only it allows you to issue multiple Req's before receiving Ack's. What this means in practice is that SYNCHRONOUS transfers are approximately three times faster than ASYNCHRONOUS and are used for data phases only. Global parity support: An extra bit, added to a number, used for checking the accuracy of binary numbers. ODD parity means that the sum of all 1's in the number including its corresponding parity bit, is always odd. Global command or tag command support: Command Queuing is the capability of a SCSI Target to accept multiple commands (I/O Processes), and to execute them in an optimum sequence. This may sometimes be useful in a high performance system to minimize latency, access, or seek times in disks for example. It is an optional function which might or might not be supported by a Target. We need to check drive specifications from respective vendor before enabling this option. Global FAST SCSI support: Synchronous transmission rate defined in SCSI-2 to be used between 5 MHz and 10 MHz. It is used in data-in/out phases only. Global WIDE SCSI support: The SCSI-1 specification defines the width of the data on the SCSI cable to be one byte wide, plus parity. The term 'WIDE' in SCSI-2 defines the two-byte to four-byte wide data interface. Each data byte uses its corresponding parity bit. Sun uses the SCSI-2 interface. By using adb command, one can find what is default value on system. # adb -k /dev/ksyms /dev/mem scsi_options/X $q When I do it on my system it shows me: # adb -k /dev/ksyms /dev/mem physmem 1e0c scsi_options/X scsi_options: scsi_options: 7f8 $q If the set scsi_options is newly set under /etc/system, to have it effective, you must reboot the system once after setting.Date Approved 06/28/99 ---------------------------------------------------------------------- 1227 Setting scsi_options in /etc/system 24 Oct 1997 Description Setting scsi_options in /etc/system Solution Summary Top The scsi_options variable in the Solaris 2.x kernel can be configured to enable or disable particular capabilities. This can be achieved by setting the scsi_options in the /etc/system file. The default scsi_options variable allows the widest range of capabilities that the SCSI host adapter can provide to be supported. The default scsi_options value on Solaris 2.x works for both 5MB and 10MB devices. The driver will negotiate with each device to determine if it is 10MB transfer capable or not. If they are 10MB devices, 10MB transfer will be used. If not, 5MB transfer will be used. If a particular capability is needed to be enabled or disabled the following definitions can be used: /* * SCSI subsystem options - global word of options are available * * bits 0-2 are reserved for debugging/informational level * bit 3 reserved for a global disconnect/reconnect switch * bit 4 reserved for a global linked command capability switch * bit 5 reserved for a global synchronous SCSI capability switch * * the rest of the bits are reserved for future use * */ #define SCSI_DEBUG_TGT 0x1 /* debug statements in target drivers */ #define SCSI_DEBUG_LIB 0x2 /* debug statements in library */ #define SCSI_DEBUG_HA 0x4 /* debug statements in host adapters */ #define SCSI_OPTIONS_DR 0x8 /* Global disconnect/reconnect */ #define SCSI_OPTIONS_LINK 0x10 /* Global linked commands */ #define SCSI_OPTIONS_SYNC 0x20 /* Global synchronous xfer capability */ #define SCSI_OPTIONS_PARITY 0x40 /* Global parity support */ #define SCSI_OPTIONS_TAG 0x80 /* " tagged command support */ #define SCSI_OPTIONS_FAST 0x100 /* " FAST scsi support */ #define SCSI_OPTIONS_WIDE 0x200 /* " WIDE scsi support */ For example a line in /etc/system that read: set scsi_options=0x3f8 means that the default options would be to allow WIDE SCSI, FAST SCSI, tagged commands, global parity, synchronous transfer, linked commands and global disconnect/reconnect, i.e. all currently supported options.Date Approved 10/23/97 Keywords Top scsi_options /etc/system OS RELEASE: 2.xTop