[4267] in linux-scsi channel archive
BUG (?) in aic7xxx (5.0.18): Doesn't recognize Ultra!
daemon@ATHENA.MIT.EDU (Gopal Santhanam)
Wed Jul 1 14:31:00 1998
Date: Wed, 1 Jul 1998 11:10:40 -0700 (PDT)
From: Gopal Santhanam <gsanthan@eecs.berkeley.edu>
Reply-To: Gopal Santhanam <gsanthan@eecs.berkeley.edu>
To: linux-scsi@vger.rutgers.edu
Hello,
I was unable to find the location of the aic7xxx mailing list, so I am
posting my information here. If someone could provide me with the list
server address for the aic7xxx mailing list I'd appreciate it! I can then
provide this report there as well.
I used to use the old version 4 of the aic7xxx scsi driver. However, when
I switched to an experimental kernel (2.1.106) I found that the new
driver, version 5.0.18, does not recognize that my 2940UW is an Ultra SCSI
card.
The board_name is correct but the AHC_ULTRA flag is not set! As a
consequence one of my disks which is an Ultra Wide model is set to 10MHz
transfer rate instead of 20MHz. I haven't seen any reports of this
problem in my web searches. I'm not sure if it is my misconfiguration or
a bug in the driver. Any help would be appreciated!
Here is the relevant portion from my boot log (ver. 5.0.18):
> aic7xxx: Warning - detected auto-termination on controller:
> aic7xxx: <Adaptec AHA-294X Ultra SCSI host adapter> at PCI 10/0
> aic7xxx: Please verify driver detected settings are correct.
> aic7xxx: If not, then please properly set the device termination
> aic7xxx: in the Adaptec SCSI BIOS by hitting CTRL-A when prompted
> aic7xxx: during machine bootup.
> aic7xxx: Cables present (Int-50 YES, Int-68 NO, Ext-68 NO)
> aic7xxx: Termination (Low ON, High ON)
> (scsi0) <Adaptec AHA-294X Ultra SCSI host adapter> found at PCI 10/0
> (scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
> (scsi0) BIOS enabled, IO Port 0xd000, IRQ 9
> (scsi0) IO Memory at 0xe3000000, MMAP Memory at 0xc4804000
> (scsi0) Resetting channel
> (scsi0) Downloading sequencer code...
> (scsi0) Will download code for option WIDE
> (scsi0) Will download code for option SCB_PAGING
> (scsi0) Download complete, 413 instructions downloaded
> scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.0.18/3.2.4
> <Adaptec AHA-294X Ultra SCSI host adapter>
> scsi : 1 host.
> (scsi0:0:-1:-1) Scanning channel for devices.
> Vendor: QUANTUM Model: FIREBALL540S Rev: 1Q04
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
> (scsi0:0:0:0) Synchronous at 10.0MHz, offset 8.
> Vendor: QUANTUM Model: VP32210 Rev: 581H
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
> (scsi0:0:1:0) Synchronous at 10.0MHz, offset 15.
> Vendor: QUANTUM Model: VIKING 4.5 SCA Rev: 880R
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdc at scsi0, channel 0, id 4, lun 0
> (scsi0:0:4:0) Using wide (16 bit) transfers.
> (scsi0:0:4:0) Synchronous at 10.0MHz, offset 8.
The Quantum Viking should be an Ultra SCSI at 20MHz transfer rate. A
quick look at /proc/scsi/aic7xxx/0 also shows that the ULTRA option is
mising. Please note that the "Adaptec AHA-294X Ultra SCSI host adapter"
string is merely from a table lookup. It does not indicate whether the
driver is in ULTRA mode. If the driver is in ULTRA mode, the word "Ultra'
is printed on the same line as "Wide". Below is the proc info:
> Adaptec AIC7xxx driver version: 5.0.18/3.2.4
> Compile Options:
> AIC7XXX_RESET_DELAY : 5
> AIC7XXX_TAGGED_QUEUEING: Adapter Support Enabled
> Check below to see which
> devices use tagged queueing
> AIC7XXX_PAGE_ENABLE : Enabled (This is no longer an option)
> AIC7XXX_PROC_STATS : Disabled
>
> Adapter Configuration:
> SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter
> Wide Controller
> PCI MMAPed I/O Base: 0xe3000000
> Adaptec SCSI BIOS: Enabled
> IRQ: 9
> SCBs: Active 1, Max Active 1,
> Allocated 30, HW 16, Page 255
> Interrupts: 17532
> BIOS Control Word: 0x1826
> Adapter Control Word: 0x005d
> Extended Translation: Disabled
> Disconnect Enable Flags: 0xffff
> Tag Queue Enable Flags: 0x0000
> Ordered Queue Tag Flags: 0x0000
> Default Tag Queue Depth: 8
> Tagged Queue By Device array for aic7xxx host instance 0:
> {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
> Actual queue depth per device for aic7xxx host instance 0:
> {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Being a hacker, I decided to set the ULTRA flag manually in aic7xxx.c by
adding p->type |= AHC_ULTRA. Of course I shouldn't _have_ to do this but
I tried it out just to see what the result was. This time the card is
recognized as an Ultra SCSI card. However, the Viking drive is still not
setup to transfer at 20MHz! Here are the boot logs and the proc info:
> aic7xxx: Warning - detected auto-termination on controller:
> aic7xxx: <Adaptec AHA-294X Ultra SCSI host adapter> at PCI 10/0
> aic7xxx: Please verify driver detected settings are correct.
> aic7xxx: If not, then please properly set the device termination
> aic7xxx: in the Adaptec SCSI BIOS by hitting CTRL-A when prompted
> aic7xxx: during machine bootup.
> aic7xxx: Cables present (Int-50 YES, Int-68 NO, Ext-68 NO)
> aic7xxx: Termination (Low ON, High ON)
> (scsi0) <Adaptec AHA-294X Ultra SCSI host adapter> found at PCI 10/0
> (scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
> (scsi0) BIOS enabled, IO Port 0xd000, IRQ 9
> (scsi0) IO Memory at 0xe3000000, MMAP Memory at 0xc4804000
> (scsi0) Resetting channel
> (scsi0) Downloading sequencer code...
> (scsi0) Will download code for option WIDE
> (scsi0) Will download code for option SCB_PAGING
> (scsi0) Download complete, 406 instructions downloaded
> scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.0.18/3.2.4
> <Adaptec AHA-294X Ultra SCSI host adapter>
> scsi : 1 host.
> (scsi0:0:-1:-1) Scanning channel for devices.
> Vendor: QUANTUM Model: FIREBALL540S Rev: 1Q04
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
> (scsi0:0:0:0) Synchronous at 10.0MHz, offset 8.
> Vendor: QUANTUM Model: VP32210 Rev: 581H
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
> (scsi0:0:1:0) Synchronous at 10.0MHz, offset 15.
> Vendor: QUANTUM Model: VIKING 4.5 SCA Rev: 880R
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdc at scsi0, channel 0, id 4, lun 0
> (scsi0:0:4:0) Using wide (16 bit) transfers.
> (scsi0:0:4:0) Synchronous at 10.0MHz, offset 8.
>
>
> Adaptec AIC7xxx driver version: 5.0.18/3.2.4
> Compile Options:
> AIC7XXX_RESET_DELAY : 5
> AIC7XXX_TAGGED_QUEUEING: Adapter Support Enabled
> Check below to see which
> devices use tagged queueing
> AIC7XXX_PAGE_ENABLE : Enabled (This is no longer an option)
> AIC7XXX_PROC_STATS : Disabled
>
> Adapter Configuration:
> SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter
> Ultra Wide Controller
> PCI MMAPed I/O Base: 0xe3000000
> Adaptec SCSI BIOS: Enabled
> IRQ: 9
> SCBs: Active 1, Max Active 1,
> Allocated 30, HW 16, Page 255
> Interrupts: 17532
> BIOS Control Word: 0x1826
> Adapter Control Word: 0x005d
> Extended Translation: Disabled
> Disconnect Enable Flags: 0xffff
> Ultra Enable Flags: 0x0000
> Tag Queue Enable Flags: 0x0000
> Ordered Queue Tag Flags: 0x0000
> Default Tag Queue Depth: 8
> Tagged Queue By Device array for aic7xxx host instance 0:
> {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
> Actual queue depth per device for aic7xxx host instance 0:
To demonstrate nothing is wrong with my hardware, I have provided below
the boot log and proc info from the old driver. Note that I used the flag
aic7xxx=ultra at boot time of the old kernel. This option seems to be no
longer valid with the new version.
> aic7xxx: BurstLen = 8 DWDs, Latency Timer = 32 PCLKS
> aic7xxx: AHA-2940 Ultra Rev C.
> aic7xxx: devconfig = 0x1580.
> aic7xxx: Reading SEEPROM...done.
> aic7xxx: Extended translation disabled.
> aic7xxx: Memory check yields 16 SCBs, paging not enabled.
> aic7xxx: Enabling wide channel of AHA-2940 Ultra-Wide.
> AHA-2940 Ultra-WIDE (PCI-bus), I/O 0xd000, Mem 0xe3000000:
> irq 9
> bus release time 40 bclks
> data fifo threshold 100%
> SCSI CHANNEL A:
> scsi id 7
> scsi selection timeout 256 ms
> scsi bus reset at power-on enabled
> scsi bus parity enabled
> scsi bus termination (low byte) enabled
> scsi bus termination (high byte) enabled
> aic7xxx: Downloading sequencer code...done.
> aic7xxx: Resetting the SCSI bus...done.
> scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0
> scsi : 1 host.
> scsi0: Scanning channel A for devices.
> Started kswapd v 1.4.2.2
> scsi0: Target 0, channel A, refusing WIDE negotiation; using 8 bit transfers.
> scsi0: Target 0, channel A, now synchronous at 10.0MHz, offset 8.
> Vendor: QUANTUM Model: FIREBALL540S Rev: 1Q04
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
> scsi0: Target 1, channel A, refusing WIDE negotiation; using 8 bit transfers.
> scsi0: Target 1, channel A, now synchronous at 10.0MHz, offset 15.
> Vendor: QUANTUM Model: VP32210 Rev: 581H
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
> scsi0: Received MSG_WDTR, Target 4, channel A needwdtr(0xfffc).
> scsi0: Target 4, channel A, using 16 bit transfers.
> scsi0: Target 4, channel A, now synchronous at 20.0MHz, offset 8.
> Vendor: QUANTUM Model: VIKING 4.5 SCA Rev: 880R
> Type: Direct-Access ANSI SCSI revision: 02
> Detected scsi disk sdc at scsi0, channel 0, id 4, lun 0
>
>
> Adaptec AIC7xxx driver version: 4.0/3.2/4.0
>
> Compile Options:
> AIC7XXX_RESET_DELAY : 15
> AIC7XXX_TWIN_SUPPORT : Enabled
> AIC7XXX_TAGGED_QUEUEING: Disabled
> AIC7XXX_PAGE_ENABLE : Disabled
> AIC7XXX_PROC_STATS : Disabled
>
> Adapter Configuration:
> SCSI Adapter: AHA-2940 Ultra
> (AIC-788x chipset)
> Host Bus: Wide
> Base IO: 0xd000
> IRQ: 9
> SCBs: Used 3, HW 16, Page 16
> Interrupts: 10159
> Serial EEPROM: True
> Extended Translation: Disabled
> SCSI Bus Reset: Enabled
> Ultra SCSI: Enabled
> Target Disconnect: Enabled
As you can see my Quantum Viking is running nicely at 20.0MHz with the old
driver!
Thanks in advance,
Gopal
--
Gopal Santhanam gsanthan@eecs.berkeley.edu
Turnauckas's Observation:
To err is human; to really foul things up takes a computer.
---> http://www-bsac.eecs.berkeley.edu/~gsanthan <---
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu