Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

Adaptec 2940: Cant get configSpace

From Higher Intellect Wiki
Jump to navigation Jump to search

Problem

Hi, I recently saved a copy of NextStep 3.3 for Intel hardware from being thrown out from work and thought I'd give it a try on one of my older machines.

The PC is a Pentium Pro system with an Adaptec 2940AU controller, two hard drives and a CD-ROM. I found some disk images using www.archive.org one of which includes the 3.37 version of the 2940 driver but installation still fails on the first graphics screen with the message

"Adaptec 2940: Can't get configSpace; Aborting"


Solution

Well, each PCI card has an ID which is used by the drivers to identify the type, vendor, and specific model of a card. Intel has a vendor ID of 8086 (of course), and Adaptec has a vendor ID of 9004. There was a utility under NEXTSTEP which would display the PCI ids, sort of like the 'pciconf' command under FreeBSD:

# pciconf -l
[email protected]:0:0: class=0x060000 card=0x00000000 chip=0x12378086 rev=0x02
hdr=0x00
[email protected]:7:0: class=0x060100 card=0x00000000 chip=0x70008086 rev=0x01
hdr=0x00
[email protected]:7:1:       class=0x010180 card=0x00000000 chip=0x70108086
rev=0x00 hdr=0x00
[email protected]:11:0:        class=0x030000 card=0x0004105d chip=0x2339105d
rev=0x02 hdr=0x00
[email protected]:15:0: class=0x020000 card=0x00098086 chip=0x12298086 rev=0x05
hdr=0x00
[email protected]:19:0: class=0x020000 card=0x00000000 chip=0x12298086 rev=0x01
hdr=0x00

# pciconf -l -v
[email protected]:0:0: class=0x060000 card=0x00000000 chip=0x12378086 rev=0x02
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82440/1FX 440FX (Natoma) System Controller'
    class    = bridge
    subclass = HOST-PCI
[email protected]:7:0: class=0x060100 card=0x00000000 chip=0x70008086 rev=0x01
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371SB PIIX3 PCI-to-ISA Bridge (Triton II)'
    class    = bridge
    subclass = PCI-ISA
[email protected]:7:1:       class=0x010180 card=0x00000000 chip=0x70108086
rev=0x00 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82371SB PIIX3 IDE Interface (Triton II)'
    class    = mass storage
    subclass = ATA
[email protected]:11:0:        class=0x030000 card=0x0004105d chip=0x2339105d
rev=0x02 hdr=0x00
    vendor   = 'Number Nine Visual Technology'
    device   = 'I128s2 Imagine 128 Series 2'
    class    = display
    subclass = VGA
[email protected]:15:0: class=0x020000 card=0x00098086 chip=0x12298086 rev=0x05
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
[email protected]:19:0: class=0x020000 card=0x00000000 chip=0x12298086 rev=0x01
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet

You'll need to add the PCI ID of the Adaptec card you (or the original poster) had to the config file for the Adaptec-29x0 driver, so that the driver knows that it should bind to that card.

---

If you can try a NEXTSTEP boot, you will see messages like this in your display:

Feb 21 01:26:02 jade mach: Found PCI 2.0 device: ID=0x71808086 at
Dev=0 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.0 device: ID=0x71818086 at
Dev=1 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.0 device: ID=0x71108086 at
Dev=7 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.0 device: ID=0x71118086 at
Dev=7 Func=1 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x036e109e/0x1200bd11 at Dev=11 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x0878109e/0x1200bd11 at Dev=11 Func=1 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x12298086/0x000c8086 at Dev=14 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x78959004/0x78959004 at Dev=15 Func=0 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x78959004/0x78959004 at Dev=15 Func=1 Bus=0
Feb 21 01:26:02 jade mach: Found PCI 2.1 device:
ID=0x0521102b/0xff03102b at Dev=0 Func=0 Bus=1

In my sistem, ID=0x78959004/0x78959004 is the PCI ID for Adaptec 7895 controller on-board. Then, you can add this number to Default.table file of Adaptec2940SCSIDriver.config directory. The line to be modified is:

"Auto Detect IDs" = "0x00789004&0x00ffffff";

It will become:

"Auto Detect IDs" = "0x00789004&0x00ffffff 0x78009004&0xff00ffff";