Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Jan 1997 09:25:30 -0800 (PST)
From:      root@testmach%toybox@agora.rdrop.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   conf/2367: Buslogic SCSI driver bad probe of 742A early revision IRQ and version
Message-ID:  <199701031725.JAA01699@testing.rdrop.com>
Resent-Message-ID: <199701040610.WAA03725@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2367
>Category:       conf
>Synopsis:       Buslogic SCSI driver bad probe of 742A EISA card
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan  3 22:10:01 PST 1997
>Last-Modified:
>Originator:     Ted Mittelstaedt
>Organization:
Cool Dudes Club 
>Release:        FreeBSD 2.2-CURRENT i386
>Environment:
private test network

	

I have 5 computers on a private Ethernet network in my home, the bug is with
a machine with the following configuration:

CompuAdd 433E MC full tower, machine was manufactured in mid 1992.
Intel 486DX266 processor
8 EISA slots, one of which is a VLB slot
6 slots are busmaster slots, one of which contains SCSI card
Bustek (Buslogic) revision G 742A SCSI card, firmware version 2.21
1 16MB simm
Operating system shows the same bug on all versions of FreeBSD from 2.1.5 on
up, I tested it with a boot floppy from 2.2 current.

Following is the bootlog for the hardware configuration

Jan  3 02:38:06 testing /kernel: FreeBSD 2.1.6-RELEASE #0: Mon Dec 30 11:44:09 PST 1996
Jan  3 02:38:06 testing /kernel:     root@testing.teds.com:/usr/src/sys/compile/TEDS
Jan  3 02:38:06 testing /kernel: CPU: i486DX (486-class CPU)
Jan  3 02:38:06 testing /kernel: real memory  = 16777216 (16384K bytes)
Jan  3 02:38:07 testing /kernel: avail memory = 14929920 (14580K bytes)
Jan  3 02:38:07 testing /kernel: eisa0: <CPD03 (System Board)>
Jan  3 02:38:07 testing /kernel: Probing for devices on the EISA bus
Jan  3 02:38:07 testing /kernel: bt0: <Buslogic 74xB SCSI host adapter> at 0x330-0x333 0x1c00-0x1cff irq 9 on eisa0 slot 1
Jan  3 02:38:07 testing /kernel: bt0: Bt742A/G0-(32bit) bus
Jan  3 02:38:07 testing /kernel: bt0: reading board settings, busmastering, int=9
Jan  3 02:38:07 testing /kernel: bt0: version 2.21, async only, parity, 64 mbxs, 32 ccbs
Jan  3 02:38:07 testing /kernel: bt0: Not using Strict Round robin scheme
Jan  3 02:38:07 testing /kernel: bt0 waiting for scsi devices to settle
Jan  3 02:38:08 testing /kernel: (bt0:0:0): "DEC DSP5200S T384" type 0 fixed SCSI 2
Jan  3 02:38:08 testing /kernel: sd0(bt0:0:0): Direct-Access 1908MB (3907911 512 byte sectors)
Jan  3 02:38:08 testing /kernel: (bt0:4:0): "TOSHIBA CD-ROM XM-3401TA 3312" type 5 removable SCSI 2
Jan  3 02:38:08 testing /kernel: cd0(bt0:4:0): CD-ROM 
Jan  3 02:38:08 testing /kernel: cd0(bt0:4:0): NOT READY asc:3a,0 Medium not present
Jan  3 02:38:08 testing /kernel: can't get the size
Jan  3 02:38:08 testing /kernel: 
Jan  3 02:38:08 testing /kernel: (bt0:6:0): "ARCHIVE ANCDA 2800 28889 -900" type 1 removable SCSI 1
Jan  3 02:38:08 testing /kernel: st0(bt0:6:0): Sequential-Access density code 0x0,  drive empty
Jan  3 02:38:09 testing /kernel: Probing for devices on the ISA bus:
Jan  3 02:38:09 testing /kernel: sc0 at 0x60-0x6f irq 1 on motherboard
Jan  3 02:38:09 testing /kernel: sc0: VGA color <16 virtual consoles, flags=0x0>
Jan  3 02:38:09 testing /kernel: ed0 at 0x300-0x31f irq 10 maddr 0xd8000 msize 16384 on isa
Jan  3 02:38:09 testing /kernel: ed0: address 00:00:c0:1f:cf:23, type WD8013EP (16 bit) 
Jan  3 02:38:09 testing /kernel: sio0 at 0x3f8-0x3ff irq 4 on isa
Jan  3 02:38:09 testing /kernel: sio0: type 16450
Jan  3 02:38:09 testing /kernel: sio1 at 0x2f8-0x2ff irq 3 on isa
Jan  3 02:38:09 testing /kernel: sio1: type 16450
Jan  3 02:38:09 testing /kernel: sio2 not found at 0x3e8
Jan  3 02:38:10 testing /kernel: sio3: disabled, not probed.
Jan  3 02:38:10 testing /kernel: lpt0 at 0x378-0x37f irq 7 on isa
Jan  3 02:38:10 testing /kernel: lpt0: Interrupt-driven port
Jan  3 02:38:10 testing /kernel: lp0: TCP/IP capable interface
Jan  3 02:38:10 testing /kernel: pca0 on motherboard
Jan  3 02:38:10 testing /kernel: pca0: PC speaker audio driver
Jan  3 02:38:11 testing /kernel: fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
Jan  3 02:38:11 testing /kernel: fdc0: unknown IC type a0
Jan  3 02:38:11 testing /kernel: fd0: 1.44MB 3.5in
Jan  3 02:38:11 testing /kernel: fd1: 1.2MB 5.25in
Jan  3 02:38:11 testing /kernel: bt: unit number (1) too high
Jan  3 02:38:11 testing /kernel: bt1 not found at 0x330
Jan  3 02:38:11 testing /kernel: npx0 on motherboard
Jan  3 02:38:11 testing /kernel: npx0: INT 16 interface


>Description:

	

The problem is that if I EISA-config the SCSI adapter to any IRQ number other
than Interrupt 9, the machine boots, but as soon as the kernel is loaded
and switches over to the compiled-in Buslogic driver in the kernel the SCSI
system times out attempting to read the disk.  Also, the boot probe shows
the interrupt probed at 9.  An example of this when the card is configured
to use Interrupt 12 (it's default) follows:

-------snip snip------------
Jan  3 02:38:07 testing /kernel: avail memory = 14929920 (14580K bytes)
Jan  3 02:38:07 testing /kernel: eisa0: <CPD03 (System Board)>
Jan  3 02:38:07 testing /kernel: Probing for devices on the EISA bus
Jan  3 02:38:07 testing /kernel: bt0: <Buslogic 74xB SCSI host adapter> at 0x330-0x333 0x1c00-0x1cff irq 9 on eisa0 slot 1
Jan  3 02:38:07 testing /kernel: bt0: Bt742A/G0-(32bit) bus
Jan  3 02:38:07 testing /kernel: bt0: reading board settings, busmastering, int=12
Jan  3 02:38:07 testing /kernel: bt0: version 2.21, async only, parity, 64 mbxs, 32 ccbs
------------snip snip---------

As you see, the first probe reads the wrong IRQ number of 9, while the second
probe reads the correct IRQ number of 12.  Unfortunately, the driver thinks
that the IRQ is 9.

The related problem to this is that the probe identifies the card as a 742xB
card, when in reality it is a 742A card.  This is probably because the
/usr/src/sys/i386/eisa/bt74x.c file doesen't have a separate test for the
742A card.

>How-To-Repeat:

	

EISA-config the Buslogic 742A as any IRQ other than 9

I don't believe that this problem occurs on the PCI Buslogic cards, only on
the EISA card (742) the reason is that one of my other machines is a PCI
machine with a Buslogic PCI scsi adapter in it, and I test-booted FreeBSD
on it and it worked.

This problem DIDN'T occur with FreeBSD version 1.1.5.1 on this machine!

This problem affects the installation floppy, what happens is that the
system boots, then hangs for a long time.  Very annoying!

>Fix:
	
	

I am getting by by EISA-configing the SCSI adapter to Interrupt 9, which makes
the real IRQ in agreement with the wrongly probed IRQ number.
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701031725.JAA01699>