LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Driver problem: Adaptec AIC8902 U320 SCSI Controller (https://www.linuxquestions.org/questions/linux-hardware-18/driver-problem-adaptec-aic8902-u320-scsi-controller-502526/)

marv06 11-17-2006 09:55 AM

Driver problem: Adaptec AIC8902 U320 SCSI Controller
 
Hello,

I have a problem with an Adaptec AIC8902 U320 SCSI Controller.
Instead of enabling a transfer rate of 320MB/s it works with an
average write/read throughput of around 13MB/s. Obviously this
is a driver problem - because the corresponding aic79xx kernel
driver does not load successfully into the kernel. The error
message is "no such device".

The system is an VMware ESX Server which is based on a Red Hat
Enterprise Linux 3 and, according to the VMware ESX Specification,
the System supports AIC79xx and AIC7xxx SCSI Controllers but the
device driver refuses to work with the chipset.

Even the latest driver version from Adaptec (AIC79xx v2.0.20,
Sept 19th 2006) does not recognize the Controller although the
readme says, that the driver supports the AIC-7902B chipset.

Reviewing the driver source code reveals something strange: The
PCI ID of the device is 801d (which corresponds with
the list at pci-ids.ucw.cz ).
I searched the source code and found a define statement which
matches this ID:
./aic79xx_pci.h 62 #define ID_AIC7902_B 0x801D9005FFFF9005ull

Searching for this constant returns the following result:
./aic79xx_pci.h 62 #define ID_AIC7902_B 0x801D9005FFFF9005ull

Searching for the ID_AIC7902 constant reveals that this result
seems not to be enough:
./aic79xx_osm_pci.c 90 ID16(ID_AIC7902 & ID_9005_GENERIC_MASK),
./aic79xx_pci.c 70 #define ID_AIC7902_PCI_REV_A4 0x3
./aic79xx_pci.c 71 #define ID_AIC7902_PCI_REV_B0 0x10
./aic79xx_pci.c 199 ID_AIC7902 & ID_9005_GENERIC_MASK,
./aic79xx_pci.c 943 if (rev < ID_AIC7902_PCI_REV_A4) {
./aic79xx_pci.c 950 if (rev < ID_AIC7902_PCI_REV_B0) {
./aic79xx_pci.h 61 #define ID_AIC7902 0x801F9005FFFF9005ull
./aic79xx_pci.h 62 #define ID_AIC7902_B 0x801D9005FFFF9005ull


Although the readme says so, it seems that the B-variant is not supported ...
Any help or advice very much appreciated!





---------------------
System information and output which should (hopefuly) help to
find (or at least isolate) the problem:



OS: Red Hat Enterprise Linux 3
Kernel: 2.4.21 (ELvmnix)
Mainboard: Tyan Thunder K8S Pro S2882UG3NR
SCSI Controller: Adaptec AIC-8902 U320 OEM


[root@esx root]# cat /proc/version
Linux version 2.4.21-37.0.2.ELvmnix (mts@pa-build43.eng.vmware.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)) #1 Mon Sep 25 22:18:34 PDT 2006[VMnix version 32039]

[root@esx root]# lspci | grep SCSI
02:06.0 SCSI storage controller: Adaptec AIC-8902 U320 OEM (rev 10)
02:06.1 SCSI storage controller: Adaptec AIC-8902 U320 OEM (rev 10)
[root@esx root]# lspci -n | grep 02.06
02:06.0 Class 0100: 9005:801d (rev 10)
02:06.1 Class 0100: 9005:801d (rev 10)

[root@esx root]# head -n 4 /proc/scsi/aic79xx/0
Adaptec AIC79xx driver version: 2.0.12
Adaptec AIC7902 Ultra320 SCSI adapter
aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs
Allocated SCBs: 54, SG List Length: 85

[root@esx root]# lspci -vv | grep -A 17 SCSI
02:06.0 SCSI storage controller: Adaptec AIC-8902 U320 OEM (rev 10)
Subsystem: Adaptec: Unknown device 005e
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (10000ns min, 6250ns max), cache line size 10
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at 8000 [disabled] [size=256]
Region 1: Memory at fc8fc000 (64-bit, non-prefetchable) [size=8K]
Region 3: I/O ports at 7800 [disabled] [size=256]
Expansion ROM at fc780000 [disabled] [size=512K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [94] PCI-X non-bridge device.
Command: DPERE- ERO+ RBC=0 OST=1
Status: Bus=0 Dev=0 Func=0 64bit- 133MHz- SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM-
02:06.1 SCSI storage controller: Adaptec AIC-8902 U320 OEM (rev 10)
Subsystem: Adaptec: Unknown device 005e
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (10000ns min, 6250ns max), cache line size 10
Interrupt: pin B routed to IRQ 19
Region 0: I/O ports at 8800 [disabled] [size=256]
Region 1: Memory at fc8fe000 (64-bit, non-prefetchable) [size=8K]
Region 3: I/O ports at 8400 [disabled] [size=256]
Expansion ROM at fc800000 [disabled] [size=512K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/1 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [94] PCI-X non-bridge device.
Command: DPERE- ERO+ RBC=0 OST=1
Status: Bus=0 Dev=0 Func=0 64bit- 133MHz- SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM-


All times are GMT -5. The time now is 03:35 AM.