Subject: aic7xxx.c problem.
To: None <current-users@netbsd.org>
From: Kazushi (Jam) Marukawa <jam@pobox.com>
List: current-users
Date: 06/04/2000 05:25:10
   On Mar 15,  4:29, Frank van der Linden wrote:
   > Subject: New ahc driver.
   > 
   > If you have any problems, let me know.

Today, I compiled latest NetBSD and got problem with my hard
drive connected to adaptec U2W card.

My last kernel was compiled at 3/25 with aic7xxx.c 1.44.
That has worked fine.  I got latest version yesterday and
compiled it.  Then, aic7xxx.c driver shows tons of following
errors and never finish.

ahc1: WARNING no command for scb XXX
QOUTPOS = XXXX

I'm using two hard drives with my U2W card.  First is IBM,
DCAS-34330W connected internally.  Second is SEAGATE,
ST446452W connected externally.  Both are using 16 bit wide
transfer at 20 MHz and tagged queuing.

If I use only first drive, latest NetBSD works fine.  If I
use both drive, NetBSD works while fscking, but then starts
outputting above warning message forever.  I tried NetBSD
with old aic7xxx.c, but nothing worked after 1.44.  And 1.44
cause kernel panic later since I was using current NetBSD
with old 1.44 driver.

I thought my second drive is old, and has some compatibility
problem in tagged mode although it had beed worked for two
months with tagged queuing mode until yesterday.  Therefore,
I tried to disable tagged queuing for my second drive.  I
changed ahc_check_tags() function to disable this option for
the drive like (since I don't know how to configure kernel
to disable it):

    inq = (struct scsipi_inquiry_data *)xs->data;
    if ((inq->flags3 & SID_CmdQue) &&
        !(ahc_istagged_device(ahc, xs, 1))
        && xs->sc_link->scsipi_scsi.target != 2) {
            printf("%s: target %d using tagged
                   queuing\n",
                   ahc_name(ahc),
                   xs->sc_link->scsipi_scsi.target);

            ahc_set_tags(ahc, &devinfo, TRUE);
    ....

However, still I've received the same warning messages
forever.  Any help?

Thanks,
-- Kazushi
Laugh at your problems; everybody else does.