Adaptec2940: Can't get configSpace; ABORTING

Started by rey, May 12, 2017, 07:18:18 am

Previous topic - Next topic

rey



I got this while attempting to install NEXTSTEP 3.3 x86 version.

I have a SCSI Adaptec2940 PCI card... weird that the pci bios says Adaptec 2940AU but on the hardware/pci card itself it says Adaptec 2940UW.

I read from somewhere to try to put this scsi pci card in the first pci slot 0.. I haven't tried that yet, but not sure why I should.

I got this 2nd batch of device drivers from apple's website 17 years ago lol... but that extra floppy disk came with more hardware support such as EIDE for EIDE hard drives.  but CD-ROM seems to be SCSCI only for NS 3.3.

What are my options?

Thanks in advance![/img]

neozeed

Well glancing at driverkit I see this:


/*
* Reads the device's entire configuration space.  Returns IO_R_SUCCESS if
* successful.  If this method fails, the driver should make no assumptions
* about the state of the data returned in the IOPCIConfigSpace struct.
*/
+ (IOReturn)getPCIConfigSpace: (IOPCIConfigSpace *) configSpace
       withDeviceDescription: descr;

- (IOReturn)getPCIConfigSpace: (IOPCIConfigSpace *) configSpace;



Sadly this would be a function in the PCIBus driver, which we don't have source code to.

http://wiki.osdev.org/PCI#Configuration_Space_Access_Mechanism_.232

Give some hints on what it could be, along with https://opensource.apple.com/source/boot/boot-83.2/i386/libsaio/legacy/PCI.h.auto.html

So yeah I'd assume that your card is one that it's detecting incorrectly, or there is not enough memory space around where it wants to be... I guess disable and remove as much hardware as you can, maybe try different slots?
# include <wittycomment.h>

rey

So moving the SCSI card to PCI 0 (the first one) did not work for me.

I did some googling and found that I should remove the SCSI altogether, and Nextstep 3.3 actually supports a pure EIDE/Atapi setup in master/slave configuration on Primary IDE!!

Note on ATAPI CD-ROM
(From NeXTanswers number 1933, EIDE and ATAPI CDROM Support in NEXTSTEP 3.3)

ATAPI devices appear to the system as SCSI devices. Hence it is possible to install NEXTSTEP using an ATAPI CD-ROM and use it with other applications like CDPlayer.

If you are installing NEXTSTEP using an ATAPI CD-ROM you must connect the IDE hard disk and CD-ROM to the primary controller. The hard disk should be configured as master or as master with slave present (if this option is available). The ATAPI CD-ROM should be configured as slave. This is usually accomplished by changing a jumper on the device.

After this you can proceed with NEXTSTEP installation in the usual way. See Installing and Configuring NEXTSTEP Release 3.3 for Intel Processors and NeXT Computers for details.

When prompted to select the SCSI adapter connected to your CD-ROM drive, select the Adaptec 154x SCSI driver to continue. When prompted for the type of disk controller the hard drive is connected to, select the EIDE and ATAPI driver. Once NEXTSTEP is installed you should remove the Adaptec154x driver with Configure.app. Requiring a SCSI driver to be loaded is a bug and will be fixed in a later version of NEXTSTEP.

---End---

I found this from http://www.shawcomputing.net/resources/next/software/install/ns_install.html

I will try this tonight and let you know if it works!

rey

I'm guessing I should give up. My motherboard is the Supermicro p4sga, which was almost like the one that others successfully installed 3.3, but not exactly.

It hangs after the last line.


private image sharing

Morgon

The error message you get just means that the driver could not identify any supported card by it's PCI IDs.

IIRC you need to use the Adaptec78xx driver for the UW boards. I'm not sure if you have to add some PCI IDs to the autodetect string in the drivers default.table.

Hope that helps.

Morgon

neozeed

16bit bios...  Hmm..  I wonder if that may be the issue, it may not support some of the "newer" pci calls?
# include <wittycomment.h>

wa2flq

I use a 2490UW under Openstep, but I didn't have one when I was running NS.  I use the 2490 driver.  My boot shows PCI Ver 2.10 as well and BIOS16

I vaguely recall that there are problems with large memory machines, even though the documentation says it supports up to 512 Mb.  I've run as much as 384Mb.  You might want to try 'maxmem=num-kbytes' as a boot option and limit the ram NS tries to use.

neozeed

Quote from: "wa2flq"I use a 2490UW under Openstep, but I didn't have one when I was running NS.  I use the 2490 driver.  My boot shows PCI Ver 2.10 as well and BIOS16

I vaguely recall that there are problems with large memory machines, even though the documentation says it supports up to 512 Mb.  I've run as much as 384Mb.  You might want to try 'maxmem=num-kbytes' as a boot option and limit the ram NS tries to use.


You may be onto something there, perhaps that is where it is colliding with, wihere the 16bit PCI bios is trying to keep it's config space.

The IBM PC is rife with 'limits' that were thrown in place, as each early CPU generation gave us a 1MB, then 16MB address space with the 8086, and the 80286.  Sadly with the 80386 we didn't jump to actual 4GB physical address spaces, so you may need to try capping ram at 16MB, or 64MB... or even in the middle at 32.

I just went through this hell with Rhapsody, as it will boot up and panic with too much RAM.
# include <wittycomment.h>

rey

Thanks for all suggestions. How can I get documentation on these commands like maxmem, etc?

rey

As I fall down the marix rabbit hole, I find a PDF that says to use a different driver named:

"Primary/Secondary(Dual) EIDE and ATAPI Device Controllers"

And it speaks of two more driver floppies..a 4th and 5th floppy....I only knew of the 2nd (from NeXT with official sticker) floppy, and the 3rd floppy being a downloadable.

A fourth and fifth floppy? I feel like I'm hunting for the dead sea scrolls.

It was from a PDF for installation on emulators/virtual..sorry I can't find the link nor can I attach PDF here :(

wa2flq

Quote from: "rey"Thanks for all suggestions. How can I get documentation on these commands like maxmem, etc?


Follow this link  http://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nsa/09_StartShut.htmld/index.html

Jerry

neozeed

there is some stuff burried in the recently found source:

i386_init.c

In the kernel init, this
"nbuf", &nbuf,
"rootdev", (int*) rootdevice,
"maxmem", &maxmem,
"subtype", &subtype,
"srv", &srv,
"ncl", &ncl,


So here is some things the kernel will check.  Although looking at this, I should probably patch the subtype for Darwin0.3 ..
# include <wittycomment.h>

rey

Ok I really threw in the towel.

The bright side is that I have black hardware that I will revive, which should be easier!

But for this thread of white hardware, I installed OpenStep 4.2 on the first try and got it working without any scsi! It even recognized my atapi DVD-ROM on the first shot.

It was an effortless install.

So why bother with this Adaptec 2940AU?

Maybe I'll put this SCSI equipment in storage...

Thanks again everyone. Lesson learned. Stick with 4.2 on Pentium 4.

rey

Terrible summary. I didn't solve the problem due to time constraints but I'm sure someone else with Adaptec 2940AU on Supermicro ps4ga can solve this. Good luck.

t-rexky

There has to be something peculiar about your setup.  I have two IBM P4 IntelliStation machines.  One is running NS3.3, the other one OS4.2.  One has an Adaptec 2940UW and the other 2940U2W.  The U2W needed convincing by changing the PCI ID in the driver.  Everything works flawlessly.

The issue with IDE is that very new hardware will either not be recognized or may not run in UDMA mode.  This gives SCSI a big advantage in terms of portability and performance.  Generally speaking, of course - if it does not work then it is of no help...