⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sym53c8xx_2.txt

📁 linux 内核源代码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
	phase:   print information on script interruptions    Use "setdebug" with no argument to reset debug flags.8.5 Set flag (no_disc)     setflag <target> <flag>    target:    target number    For the moment, only one flag is available:        no_disc:   not allow target to disconnect.    Do not specify any flag in order to reset the flag. For example:    - setflag 4      will reset no_disc flag for target 4, so will allow it disconnections.    - setflag all      will allow disconnection for all devices on the SCSI bus.8.6 Set verbose level    setverbose #level    The driver default verbose level is 1. This command allows to change     th driver verbose level after boot-up.8.7 Reset all logical units of a target    resetdev <target>    target:    target number    The driver will try to send a BUS DEVICE RESET message to the target.8.8 Abort all tasks of all logical units of a target    cleardev <target>    target:    target number    The driver will try to send a ABORT message to all the logical units     of the target.9. Configuration parametersUnder kernel configuration tools (make menuconfig, for example), it is possible to change some default driver configuration parameters.If the firmware of all your devices is perfect enough, all thefeatures supported by the driver can be enabled at start-up. However,if only one has a flaw for some SCSI feature, you can disable thesupport by the driver of this feature at linux start-up and enablethis feature after boot-up only for devices that support it safely.Configuration parameters:Use normal IO                         (default answer: n)    Answer "y" if you suspect your mother board to not allow memory mapped I/O.    May slow down performance a little.Default tagged command queue depth    (default answer: 16)    Entering 0 defaults to tagged commands not being used.    This parameter can be specified from the boot command line.Maximum number of queued commands     (default answer: 32)    This option allows you to specify the maximum number of tagged commands     that can be queued to a device. The maximum supported value is 255.Synchronous transfers frequency       (default answer: 80)    This option allows you to specify the frequency in MHz the driver     will use at boot time for synchronous data transfer negotiations.    0 means "asynchronous data transfers".10. Boot setup commands10.1 SyntaxSetup commands can be passed to the driver either at boot time or asparameters to modprobe, as described in Documentation/kernel-parameters.txtExample of boot setup command under lilo prompt:lilo: linux root=/dev/sda2 sym53c8xx.cmd_per_lun=4 sym53c8xx.sync=10 sym53c8xx.debug=0x200- enable tagged commands, up to 4 tagged commands queued.- set synchronous negotiation speed to 10 Mega-transfers / second.- set DEBUG_NEGO flag.The following command will install the driver module with the sameoptions as above.    modprobe sym53c8xx cmd_per_lun=4 sync=10 debug=0x20010.2 Available arguments10.2.1  Default number of tagged commands        cmd_per_lun=0 (or cmd_per_lun=1) tagged command queuing disabled        cmd_per_lun=#tags (#tags > 1) tagged command queuing enabled  #tags will be truncated to the max queued commands configuration parameter.10.2.2 Burst max        burst=0    burst disabled        burst=255  get burst length from initial IO register settings.        burst=#x   burst enabled (1<<#x burst transfers max)  #x is an integer value which is log base 2 of the burst transfers max.  By default the driver uses the maximum value supported by the chip.10.2.3 LED support        led=1      enable  LED support        led=0      disable LED support  Do not enable LED support if your scsi board does not use SDMS BIOS.  (See 'Configuration parameters')10.2.4 Differential mode        diff=0	never set up diff mode        diff=1	set up diff mode if BIOS set it        diff=2	always set up diff mode        diff=3	set diff mode if GPIO3 is not set10.2.5 IRQ mode        irqm=0     always open drain        irqm=1     same as initial settings (assumed BIOS settings)        irqm=2     always totem pole10.2.6 Check SCSI BUS         buschk=<option bits>    Available option bits:        0x0:   No check.        0x1:   Check and do not attach the controller on error.          0x2:   Check and just warn on error.10.2.7 Suggest a default SCSI id for hosts        hostid=255	no id suggested.        hostid=#x   (0 < x < 7) x suggested for hosts SCSI id.    If a host SCSI id is available from the NVRAM, the driver will ignore     any value suggested as boot option. Otherwise, if a suggested value     different from 255 has been supplied, it will use it. Otherwise, it will     try to deduce the value previously set in the hardware and use value     7 if the hardware value is zero.10.2.8  Verbosity level        verb=0     minimal        verb=1     normal        verb=2     too much10.2.9 Debug mode        debug=0	 clear debug flags        debug=#x   set debug flags  #x is an integer value combining the following power-of-2 values:  DEBUG_ALLOC       0x1  DEBUG_PHASE       0x2  DEBUG_POLL        0x4  DEBUG_QUEUE       0x8  DEBUG_RESULT     0x10  DEBUG_SCATTER    0x20  DEBUG_SCRIPT     0x40  DEBUG_TINY       0x80  DEBUG_TIMING    0x100  DEBUG_NEGO      0x200  DEBUG_TAGS      0x400  DEBUG_FREEZE    0x800  DEBUG_RESTART  0x1000  You can play safely with DEBUG_NEGO. However, some of these flags may   generate bunches of syslog messages. 10.2.10 Settle delay        settle=n	delay for n seconds  After a bus reset, the driver will delay for n seconds before talking  to any device on the bus.  The default is 3 seconds and safe mode will  default it to 10.10.2.11 Serial NVRAM	NB: option not currently implemented.        nvram=n     do not look for serial NVRAM        nvram=y     test controllers for onboard serial NVRAM        (alternate binary form)        nvram=<bits options>        0x01   look for NVRAM  (equivalent to nvram=y)        0x02   ignore NVRAM "Synchronous negotiation" parameters for all devices        0x04   ignore NVRAM "Wide negotiation"  parameter for all devices        0x08   ignore NVRAM "Scan at boot time" parameter for all devices        0x80   also attach controllers set to OFF in the NVRAM (sym53c8xx only)10.2.12 Exclude a host from being attached        excl=<io_address>,...    Prevent host at a given io address from being attached.    For example 'excl=0xb400,0xc000' indicate to the     driver not to attach hosts at address 0xb400 and 0xc000.10.3 Converting from old style optionsPreviously, the sym2 driver accepted arguments of the form	sym53c8xx=tags:4,sync:10,debug:0x200As a result of the new module parameters, this is no longer available.Most of the options have remained the same, but tags has becomecmd_per_lun to reflect its different purposes.  The sample above wouldbe specified as:	modprobe sym53c8xx cmd_per_lun=4 sync=10 debug=0x200or on the kernel boot line as:	sym53c8xx.cmd_per_lun=4 sym53c8xx.sync=10 sym53c8xx.debug=0x20010.4 SCSI BUS checking boot option.When this option is set to a non-zero value, the driver checks SCSI lines logic state, 100 micro-seconds after having asserted the SCSI RESET line.The driver just reads SCSI lines and checks all lines read FALSE except RESET.Since SCSI devices shall release the BUS at most 800 nano-seconds after SCSI RESET has been asserted, any signal to TRUE may indicate a SCSI BUS problem.Unfortunately, the following common SCSI BUS problems are not detected:- Only 1 terminator installed.- Misplaced terminators.- Bad quality terminators.On the other hand, either bad cabling, broken devices, not conformant devices, ... may cause a SCSI signal to be wrong when te driver reads it.15. SCSI problem troubleshooting15.1 Problem trackingMost SCSI problems are due to a non conformant SCSI bus or too buggydevices.  If unfortunately you have SCSI problems, you can check thefollowing things:- SCSI bus cables- terminations at both end of the SCSI chain- linux syslog messages (some of them may help you)If you do not find the source of problems, you can configure thedriver or devices in the NVRAM with minimal features.- only asynchronous data transfers- tagged commands disabled- disconnections not allowedNow, if your SCSI bus is ok, your system has every chance to workwith this safe configuration but performances will not be optimal.If it still fails, then you can send your problem description toappropriate mailing lists or news-groups.  Send me a copy in order tobe sure I will receive it.  Obviously, a bug in the driver code ispossible.  My current email address: Gerard Roudier <groudier@free.fr>Allowing disconnections is important if you use several devices onyour SCSI bus but often causes problems with buggy devices.Synchronous data transfers increases throughput of fast devices likehard disks.  Good SCSI hard disks with a large cache gain advantage oftagged commands queuing.15.2 Understanding hardware error reportsWhen the driver detects an unexpected error condition, it may display a message of the following pattern.sym0:1: ERROR (0:48) (1-21-65) (f/95/0) @ (script 7c0:19000000).sym0: script cmd = 19000000sym0: regdump: da 10 80 95 47 0f 01 07 75 01 81 21 80 01 09 00.Some fields in such a message may help you understand the cause of the problem, as follows:sym0:1: ERROR (0:48) (1-21-65) (f/95/0) @ (script 7c0:19000000)......A.........B.C....D.E..F....G.H..I.......J.....K...L.......Field A : target number.  SCSI ID of the device the controller was talking with at the moment the   error occurs.Field B : DSTAT io register (DMA STATUS)  Bit 0x40 : MDPE Master Data Parity Error             Data parity error detected on the PCI BUS.  Bit 0x20 : BF   Bus Fault             PCI bus fault condition detected  Bit 0x01 : IID  Illegal Instruction Detected             Set by the chip when it detects an Illegal Instruction format              on some condition that makes an instruction illegal.  Bit 0x80 : DFE Dma Fifo Empty             Pure status bit that does not indicate an error.  If the reported DSTAT value contains a combination of MDPE (0x40),   BF (0x20), then the cause may be likely due to a PCI BUS problem.Field C : SIST io register (SCSI Interrupt Status)  Bit 0x08 : SGE  SCSI GROSS ERROR             Indicates that the chip detected a severe error condition              on the SCSI BUS that prevents the SCSI protocol from functioning             properly.  Bit 0x04 : UDC  Unexpected Disconnection             Indicates that the device released the SCSI BUS when the chip              was not expecting this to happen. A device may behave so to              indicate the SCSI initiator that an error condition not reportable              using the SCSI protocol has occurred.  Bit 0x02 : RST  SCSI BUS Reset             Generally SCSI targets do not reset the SCSI BUS, although any              device on the BUS can reset it at any time.  Bit 0x01 : PAR  Parity             SCSI parity error detected.  On a faulty SCSI BUS, any error condition among SGE (0x08), UDC (0x04) and   PAR (0x01) may be detected by the chip. If your SCSI system sometimes   encounters such error conditions, especially SCSI GROSS ERROR, then a SCSI   BUS problem is likely the cause of these errors.For fields D,E,F,G and H, you may look into the sym53c8xx_defs.h file that contains some minimal comments on IO register bits.Field D : SOCL  Scsi Output Control Latch          This register reflects the state of the SCSI control lines the           chip want to drive or compare against.Field E : SBCL  Scsi Bus Control Lines          Actual value of control lines on the SCSI BUS.Field F : SBDL  Scsi Bus Data Lines          Actual value of data lines on the SCSI BUS.Field G : SXFER  SCSI Transfer          Contains the setting of the Synchronous Period for output and           the current Synchronous offset (offset 0 means asynchronous).Field H : SCNTL3 Scsi Control Register 3          Contains the setting of timing values for both asynchronous and           synchronous data transfers. Field I : SCNTL4 Scsi Control Register 4          Only meaningful for 53C1010 Ultra3 controllers.Understanding Fields J, K, L and dumps requires to have good knowledge of SCSI standards, chip cores functionnals and internal driver data structures.You are not required to decode and understand them, unless you want to help maintain the driver code.17. Serial NVRAM (added by Richard Waltham: dormouse@farsrobt.demon.co.uk)17.1 FeaturesEnabling serial NVRAM support enables detection of the serial NVRAM includedon Symbios and some Symbios compatible host adaptors, and Tekram boards. The serial NVRAM is used by Symbios and Tekram to hold set up parameters for the host adaptor and it's attached drives.The Symbios NVRAM also holds data on the boot order of host adaptors in asystem with more than one host adaptor.  This information is no longer usedas it's fundamentally incompatible with the hotplug PCI model.Tekram boards using Symbios chips, DC390W/F/U, which have NVRAM are detectedand this is used to distinguish between Symbios compatible and Tekram host adaptors. This is used to disable the Symbios compatible "diff" settingincorrectly set on Tekram boards if the CONFIG_SCSI_53C8XX_SYMBIOS_COMPAT configuration parameter is set enabling both Symbios and Tekram boards to be 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -