ez-scsi speed settings and aic7890

Doug Ledford dledford at redhat.com
Sun Apr 11 18:30:12 PDT 1999


"Dennis J.A. Bijwaard" wrote:
> 
> Hi,
> 
> I hope someone here can shed some light on this problem, with which I
> have been strugling for some months now.
> 
> I have an on-board aic7890 scsi controller which is supported since kernel
> 2.0.36. However, I get errors with my Plextor 32x and Ricoh 4x2 when I
> read and compare iso9660 images (I use xcdroast for this). The errors
> also persist in the 2.2.5 kernel. The same cdroms work fine with my aic7850
> controller (with bootoption to avoid recursive reboots).

OK, first things first.  I don't think your problem is in the driver
proper as far as the corruption is concerned.  More on that later. 
Until then, what boot option to avoid recursive resets?

> The same problem also occurs in NT when the speed setting in the EZ-SCSI
> menu of the scsi bios higher than 20Mb/s, but not when I set it to 20Mb/s
> or lower.

This is a good indication there is something besides the driver broke
here....

> The problem always exists in linux, so I presume linux takes the speed
> settings for granted and just uses the maximum value for the scsi type.
> I just patched the 2.2.5 kernel with aic7xxx version 5.1.14, to no avail.

No, as a matter of fact, according to the boot messages and the output
of /proc/scsi/aic7xxx/0, your two cd devices are both configured for
10MByte/s operations, which is definitely less than 20MByte/s.  So,
linux is honoring your speed setting but you are still seeing problems. 
This is to be expected with my current diagnosis of your problem.  More
on that later.

> It reports the following scsi messages during boot (patched kernel 2.2.5)
> with ricoh on aic7890 and plextor on aic7850 controller:
> 
> (scsi0) <Adaptec AIC-7890/1 Ultra2 SCSI host adapter> found at PCI 6/0
> (scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs
> (scsi0) Downloading sequencer code... 374 instructions downloaded
> (scsi1) <Adaptec AIC-7850 SCSI host adapter> found at PCI 9/0
> (scsi1) Narrow Channel, SCSI ID=7, 3/255 SCBs
> (scsi1) Downloading sequencer code... 406 instructions downloaded
> scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.14/3.2.4
>        <Adaptec AIC-7890/1 Ultra2 SCSI host adapter>
> scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.14/3.2.4
>        <Adaptec AIC-7850 SCSI host adapter>
> scsi : 2 hosts.
> (scsi0:0:3:0) Synchronous at 10.0 Mbyte/sec, offset 15.
>   Vendor: PLEXTOR   Model: CD-ROM PX-32TS    Rev: 1.03
>   Type:   CD-ROM                             ANSI SCSI revision: 02
> Detected scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0

See, you got 10MByte/s on this device, just like the EZ-SCSI BIOS is
configured for.

>   Vendor: RICOH     Model: RO-1420C          Rev: 1.62
>   Type:   CD-ROM                             ANSI SCSI revision: 02
> Detected scsi CD-ROM sr1 at scsi0, channel 0, id 4, lun 0

This one didn't negotiate any synchronous transfer speed, but that's
expected on the Ricoh devices.  They don't support sync operation.

> (scsi0:0:6:0) Synchronous at 80.0 Mbyte/sec, offset 31.
>   Vendor: QUANTUM   Model: VIKING II 4.5WLS  Rev: 4110
>   Type:   Direct-Access                      ANSI SCSI revision: 02
> Detected scsi disk sda at scsi0, channel 0, id 6, lun 0

80MByte/s on the drive, good.

> scsi : detected 2 SCSI cdroms 1 SCSI disk total.
> Uniform CDROM driver Revision: 2.54
> SCSI device sda: hdwr sector= 512 bytes. Sectors= 8910423 [4350 MB] [4.4 GB]
> 
> The quantum viking II on the ultra2/lvd connector seems to work flawlessly.
> Writing with the ricoh cdwriter seems to work good on the aic7890 as well.
> 
> My questions:
> - Can I make linux use the ez-scsi speed values?

It is.

> - Can I somehow set the speed value in linux, or is the driver just too
>   damn fast?

This is actually part of the answer.  The linux OS in general is too
damn fast on your computer.

> - Are there other ways to circumvent this problem?
> - Is more info required?

Nope, I'm pretty sure I know what your problem is.

> Maybe the /proc/scsi/aic7xxx/0 (aic7890) and /proc/scsi/aic7xxx/1 (aic7850)
> info is also of importance, just in case I have included them below.
>
> /proc/scsi/aic7xxx/0
> ------------------------------------------------

> Adapter Configuration:
>            SCSI Adapter: Adaptec AIC-7890/1 Ultra2 SCSI host adapter
>                            Ultra-2 LVD/SE Wide Controller

>  Adapter SEEPROM Config: SEEPROM found and used.
>       Adaptec SCSI BIOS: Enabled

See, we found the BIOS settings all right.

> (scsi0:0:3:0)
>   Device using Narrow/Sync transfers at 10.0 MByte/sec, offset 15
>   Transinfo settings: current(25/15/0/0), goal(25/127/0/0), user(25/127/1/0)
                                                             
^^^^^^^^^^^^^^^^
And here it says the BIOS settings are for 20MByte/s (via 10MHz and
Wide, but your device isn't wide so you get 10MByte/s instead of 20).


OK...so here's the diagnosis you've been waiting for.  Aside from some
oddities that I see on the 7850 (no SEEPROM and all devices have
disconnection disabled, which is probably why things seemed to work on
it, the lack of disconnection would slow things down tremendously, but
I'm going to fix that shortly and then the 7850 would be just as broken
for you as the 7890 is), everything else appears as it should.  There is
nothing wrong with that configuration.  The problem appears to be memory
corruption.  When the CD-ROM is run at full speed under NT along side
the Ultra2 disk, you get corruption as well.  Because the linux ext2
filesystem is in general faster than NT's filesystem, you see the same
memory corruption with lower speeds on the CD-ROM.  Basically, linux is
faster and that makes it break with lower transfer speeds.  I would
suggest you try swapping out the RAM and/or CPU to see if the problem
goes away.

-- 
  Doug Ledford   <dledford at redhat.com>
   Opinions expressed are my own, but
      they should be everybody's.


To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message




More information about the aic7xxx mailing list