Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2000 12:33:34 -0400
From:      Doug Ledford <dledford@redhat.com>
To:        Jim Elliott <elliott@berbee.com>
Cc:        aic7xxx Mailing List <AIC7xxx@FreeBSD.ORG>
Subject:   Re: Support for Adaptec AVA-2906?
Message-ID:  <39F70B5E.3F69A2CE@redhat.com>
References:  <200010211617.MAA20087@apocalypse.org> <39F1D852.2F4B0DDE@redhat.com> <39F4CCA0.9E55ACFF@berbee.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Jim Elliott wrote:
> 
> No, the card isn't found, perhaps because it has no BIOS?
> 
> Actually, insmod won't do it, giving me the following errors:
> 
> /sbin/insmod aic7xxx
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol scsi_command_size
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol
> scsi_unregister_module
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol scsi_register
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol
> scsi_register_module
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol scsi_partsize
> /lib/modules/2.2.16/scsi/aic7xxx.o: unresolved symbol scsi_unregister
> 
> However, if I do a modprove mod_scsi followed by a modprobe aic7xxx,
> then it tries to load, but that's when I get
> 
> /lib/modules/2.2.16/scsi/aic7xxx.o: init_module: Device or resource busy
> 
> with an associated entry in dmesg: "scsi : 0 hosts."
> 
> This is why I believe it's not recognizing the card.
> 
> I was hoping there was some way of coaxing it to recognize it without
> BIOS. Others supposedly have, but when it comes down to details, I've
> not seen any.

Ahh, now this is the kind of details that allow me to identify the problem
accurately ;-)

The BIOS isn't the issue.  The issue is that there is evidently a new PCI ID
in use on this card that the driver doesn't know about.  There is *no* easy
way to solve this problem, it absolutely requires at least recompiling the
kernel.  Now, I don't have the new card here and I don't have the new PCI ID,
but it should be relatively easy to do an lspci on your system, see the
Adaptec card in the PCI listing, and get the new device ID from there. 
Adaptec also has two Vendor IDs, so you need to get the correct one out of the
PCI list as well.  When you've got that, find the 3 lines in the aic7xxx.c
file that reads something like this (should be around lines 9370):

      {PCI_VENDOR_ID_ADAPTEC, PCI_DEVICE_ID_ADAPTEC_7855, AHC_AIC7850,
       AHC_PAGESCBS, AHC_AIC7850_FE,                         6,
       32, C46 },

and change the PCI_DEVICE_ID_ADAPTEC_7855 to be whatever your new device ID is
(just put the actual hex value in there, something like 0x7856 or whatever it
is) and if you need to, switch the PCI_VENDOR_ID_ADAPTEC to
PCI_VENDOR_ID_ADAPTEC2 and then recompile the aic7xxx driver and it should
likely work with your card.

WARNING:  This is a totally untested method and I'm talking out of my ass here
based solely upon my knowledge of past Adaptec numbering schemes.  I haven't
seen this card and I don't know that it uses the same level of chipset as the
7855, I'm just guessing on that one.  If it actually uses a better level of
chipset, this hack won't support all of the features and may not actually
work.  If you don't know how to compile your own kernel (something which is
beyond my current time constraints to teach) then *don't* try this.  The above
method is a nasty hack just designed to get you going, later drivers will
support the chipset properly.  Justin Gibb's is working on a new linux driver
and I'm betting it will support this out of the box.

-- 

 Doug Ledford <dledford@redhat.com>  http://people.redhat.com/dledford
      Please check my web site for aic7xxx updates/answers before
                      e-mailing me about problems


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39F70B5E.3F69A2CE>