View Full Version : Adaptec scsi Controllers + (Debian) Knoppix?

07-13-2005, 03:46 PM
I have an opportunity to buy an internal Seagate 73 gig scsi drive (ST173404LCV) for a good price -- $54.00. I had been thinking about SATA drives until this.

It seems like the Adaptec ASC-39160 Dual Channel Ultra160 SCSI Controller would be a compatible controller for this drive in a Linux system.

But, does Linux/Debian support this with proper drivers?

If not the Adaptec controller, what are my options for scsi controller cards and Debian Linux?

I looked in modconf and did not see Adaptec controllers in the list.


07-13-2005, 04:13 PM
> But, does Linux/Debian support this with proper drivers?
Yes it should be supported.

How I found out info:
First a google seach on kernel and "asc 39160" (http://www.google.com/search?hl=en&lr=lang_en&q=kernel+%22ASC+39160%22&btnG=Search&lr=lang_en) and the first link returned is the adaptec page for that model card (http://www.adaptec.com.tw/worldwide/support/drivers_by_product.jsp?sess=no&language=English+US&cat=/Product/ASC-39160). On that page it tells us that the linux kernel drivers are AIC7xxx and AIC79xx. So next I download the kernel-source-2.6.8_2.6.8.orig.tar.gz from http://debian.ams.sunysb.edu/debian/pool/main/k/kernel-source-2.6.8/ and then extract the kernel source. In kernel-source-2.6.8-2.6.8/drivers/scsi/aic7xxx I run the command: grep -iRn 160
and get the results:
[root@test-system aic7xxx]# grep -iRn 160 *
aic79xx_core.c:3166: if (period == AHD_SYNCRATE_160) {
aic79xx_core.c:3185: * fallback rate between 160MHz and 80Mhz,
aic79xx_core.c:3187: * than 8 for 160MHz.
aic79xx_core.c:3189: period = AHD_SYNCRATE_REVA_160;
aic79xx_core.c:4587: "Trying simple U160 PPR\n",
aic79xx_core.c:6753:#ifdef AHD_FORCE_160
aic79xx_core.c:6756: tinfo->user.period = AHD_SYNCRATE_160;
aic79xx_core.c:6856:#ifdef AHD_FORCE_160
aic79xx_core.c:6857: if (user_tinfo->period <= AHD_SYNCRATE_160)
aic79xx.h:307: * option bit in the neg table, 160MHz is indicated by
aic79xx.h:795:#define AHD_SYNCRATE_160 0x8
aic79xx.h:805:#define AHD_SYNCRATE_MAX AHD_SYNCRATE_160
aic79xx.h:812: * factor 8 and 160MHz for the period factor 7. The 120MHz
aic79xx.h:818:#define AHD_SYNCRATE_REVA_160 0x7
aic79xx_osm.c:3628: if (cur_speed > 160000) {
aic79xx.reg:3905: * Some 160 devices incorrectly accept 0xfe as a
aic79xx.seq:1634: * assertions in fast-160 mode). This will only happen if
aic7xxx_core.c:4551: speed = "Ultra160 ";
aic7xxx_osm.c:3282: if (cur_speed > 160000) {
aic7xxx_osm.c:3591: * XXX - Enable DV on non-U160 controllers once it
aic7xxx_pci.c:130:#define ID_AHA_29160 0x00809005E2A09005ull
aic7xxx_pci.c:131:#define ID_AHA_29160_CPQ 0x00809005E2A00E11ull
aic7xxx_pci.c:132:#define ID_AHA_29160N 0x0080900562A09005ull
aic7xxx_pci.c:133:#define ID_AHA_29160C 0x0080900562209005ull
aic7xxx_pci.c:134:#define ID_AHA_29160B 0x00809005E2209005ull
aic7xxx_pci.c:135:#define ID_AHA_19160B 0x0081900562A19005ull
aic7xxx_pci.c:159:#define DEVID_9005_MAXRATE_U160 0x0
aic7xxx_pci.c:184:#define SUBID_9005_MAXRATE_U160 0x2
aic7xxx_pci.c:238:static ahc_device_setup_t ahc_aha29160C_setup;
aic7xxx_pci.c:432: ID_AHA_29160,
aic7xxx_pci.c:434: "Adaptec 29160 Ultra160 SCSI adapter",
aic7xxx_pci.c:438: ID_AHA_29160_CPQ,
aic7xxx_pci.c:440: "Adaptec (Compaq OEM) 29160 Ultra160 SCSI adapter",
aic7xxx_pci.c:444: ID_AHA_29160N,
aic7xxx_pci.c:446: "Adaptec 29160N Ultra160 SCSI adapter",
aic7xxx_pci.c:450: ID_AHA_29160C,
aic7xxx_pci.c:452: "Adaptec 29160C Ultra160 SCSI adapter",
aic7xxx_pci.c:453: ahc_aha29160C_setup
aic7xxx_pci.c:456: ID_AHA_29160B,
aic7xxx_pci.c:458: "Adaptec 29160B Ultra160 SCSI adapter",
aic7xxx_pci.c:462: ID_AHA_19160B,
aic7xxx_pci.c:464: "Adaptec 19160B Ultra160 SCSI adapter",
aic7xxx_pci.c:470: "Adaptec aic7892 Ultra160 SCSI adapter (ARO)",
aic7xxx_pci.c:533: "Adaptec 3960D Ultra160 SCSI adapter",
aic7xxx_pci.c:539: "Adaptec (Compaq OEM) 3960D Ultra160 SCSI adapter",
aic7xxx_pci.c:545: "Adaptec aic7899 Ultra160 SCSI adapter (ARO)",
aic7xxx_pci.c:594: "Adaptec aic7892 Ultra160 SCSI adapter",
aic7xxx_pci.c:612: "Adaptec aic7899 Ultra160 SCSI adapter",
aic7xxx_pci.c:1771: * the termination per the tech note on the U160 cards.
aic7xxx_pci.c:1808: * the termination per the tech note on the U160 cards.
aic7xxx_pci.c:2388:ahc_aha29160C_setup(struct ahc_softc *ahc)
aic7xxx.reg:228:/* ALT_MODE registers (Ultra2 and Ultra160 chips) */
aic7xxx.reg:237:/* ALT_MODE register on Ultra160 chips */
aic7xxx.reg:252:/* ALT_MODE register on Ultra160 chips */
aiclib.c:1199: { 0x08, 625 }, /* FAST-160 */
aiclib.h:662:#define SID_VENDOR_SPECIFIC_1_SIZE 160
Kconfig.aic7xxx:6: tristate "Adaptec AIC7xxx Fast -> U160 support (New Driv er)"
Kconfig.aic7xxx:9: This driver supports all of Adaptec's Fast through Ultra 160 PCI
Makefile:13:# Core Fast -> U160 files
Makefile:20:# Platform Specific Fast -> U160 Files
[root@test-system aic7xxx]# grep -iRn 160 *As you can see, the 2.6.8 drivers have support for adaptec ultra 160 cards & yours should be supported.

07-13-2005, 06:49 PM
So, using this method you could look in any kernel source to see what's supported or not, is that correct? That would be the definitive way of finding out for sure what's supported in a kernel.

BTW, I should have mentioned, I'm actually using the 2.4.27 kernels (I am downloading that kernel source right now in order to look at it.


07-13-2005, 08:14 PM
On a similar note to see what's in different Linux kernels you can go to this website:



KernelHQ is a database driven source code BROWSER for the Linux Kernel. You are able to do diffs between any Kernel you want. If you want to see what changed between 2.4.0 and 2.5.0 for example, the DIFF will help you visualise it."

It's a pretty cool website.