Adaptec AHA-2940U2W & OPENSTEP 4.2

Started by brams, February 21, 2008, 01:26:48 PM

Previous topic - Next topic

brams

Has anybody got any idea how to use this adapter with OS 4.2.  I'm trying to install with  it but it does not appear to be recognised by OS.  I've used the driver from the Drivers disk (4.01?) and the one of the beta 2 disk (4.03) but nothing I tired worksm during boot OS cannot find a target volume to install onto.  I'm using the latest BIOS on the adapter and am thinking of using an older one.  As far as I can tell, AHA-2940U2W may not be supported.  The adapter is working fine as BeOS and Win2K are installed on the drive which is a 74gb Atlas 10k4.

Thanks
brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

Jenne

Just a glimpse from somewhere deep inside my head:

Maybe (<-!!!) it has something to do with that "first partition" thing. Maybe the OS can only get installed onto the very first partition of that disk, at least some Mac OS versions demanded that when installed onto a disk connected to those adaptors in order to be bootable...

I think the adaptor itself works, maybe just the first partiotion is occupied by some BeOS or Win 2000 stuff...

As I wrote: just a glimpse... So I would try to use an empty disk at this Adaptec just to see if it works at all.

J

brams

Hi Jenne,

OS 4.2 sees a 500gb WD ATA drive if I plug it in, it sees it as a 8gb drive though which does not surprise me as the BIOS on the mobo which a dual slot 1 440BX does not support anything bigger than 136gb anyhow.

The OS 4.2 partion is the 2nd one and about 130mb from the begining of the disk, Bootmagic occupies the first 128mb FAT16 partition.  Then there is the 4gb OS 4.2 then an 8gb BeOS BFS partion and the rest of the HD is NTFS Windows 2K.

The kernel does not appear to see the 2940 adapter though, it makes no mention of it during boot, thus something is amis, maybe I need to mess about with an IRQ? setting in the BIOS.

brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

brams

OK this might be a case of RTFM, I checked Apple's support site and found that another OS driver exits for dual channel 2940 cards, which I think this is, the driver is Adaptec 78XX, I am going to try and make a driver floppy with this on it.

brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

cubist

Quote from: "brams"
OS 4.2 sees a 500gb WD ATA drive if I plug it in, it sees it as a 8gb drive though which does not surprise me as the BIOS on the mobo which a dual slot 1 440BX does not support anything bigger than 136gb anyhow.

The kernel does not appear to see the 2940 adapter though, it makes no mention of it during boot, thus something is amis, maybe I need to mess about with an IRQ?

These two statements together make no sense.  If the kernel cannot see the controller, the OS certainly cannot see a partition on a disk attached to the controller.  Perhaps you should transcribe what appears in the console during boot.

As for the rest...  I believe the 7800 is an ancient ISA/EISA card though I'm not certain.  Google will know.

I suspect that there's either no support or there's a vendor/device ID mismatch.  (Adaptec bumping up device IDs on a later run of cards.)  I believe you can tweak the IDs in Configure.app (and of course in the driver itself) but you need to be able to get to Configure.app first.

brams

Quote from: "cubist"These two statements together make no sense.  If the kernel cannot see the controller, the OS certainly cannot see a partition on a disk attached to the controller.  Perhaps you should transcribe what appears in the console during boot.

As for the rest...  I believe the 7800 is an ancient ISA/EISA card though I'm not certain.  Google will know.

I suspect that there's either no support or there's a vendor/device ID mismatch.  (Adaptec bumping up device IDs on a later run of cards.)  I believe you can tweak the IDs in Configure.app (and of course in the driver itself) but you need to be able to get to Configure.app first.

The WD is an ATA (IDE) drive.  The Atlas and the 2940 are SCSI.  What the statement meant and it seems pretty clear to me is that, OPENSTEP can see a drive attatched to the ATA bus, having never used a PC with SCSI and a NeXT OS before I have no idea what boot message should come up, though I suspect it should mention something about the SCSI card (which is does not) thus as you correctly say the kernel cannot see the Adaptec card.  Which leaves me in something of catch 22.  I need to get the Adptec 78XXSCSI.pkg file onto a floppy and use it when the install floppy asks for the driver floppy.  I have never done this but looking, the drivers on these drivers are not stored as .pkg but as .config.  I've forgotten about this as it's ages ago since I messed with OS 4.2 i486.

Does anyody know how to do this, or even make me an image I can then rawWrite?

The 78XX driver is beta and later than the 4.2 release as it's on the Y2K CD ROM.  This is the driver I'm 99% sure.

http://docs.info.apple.com/article.html?artnum=70011

brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

cubist

Quote from: "brams"
The WD is an ATA (IDE) drive.  The Atlas and the 2940 are SCSI.  What the statement meant and it seems pretty clear to me is that, OPENSTEP can see a drive attatched to the ATA bus, having never used a PC with SCSI and a NeXT OS before I have no idea what boot message should come up,
Okay, but since this is neither the adapter nor the disk you intend to use, I'm not certain what you tested for.  IDE support in 4.2?  I may be missing the point but let's go on...
Quote from: "brams"
though I suspect it should mention something about the SCSI card (which is does not) thus as you correctly say the kernel cannot see the Adaptec card.
I haven't done this in a long time but the OS likely won't know enough to identify the card as Adaptec or SCSI.  It can distinguish it as a storage adapter.  But you may get nothing more than unknown PCI vendor/device ID combination.  I may try to boot some old white hardware later to see what it says...
Quote from: "brams"Which leaves me in something of catch 22.  I need to get the Adptec 78XXSCSI.pkg file onto a floppy and use it when the install floppy asks for the driver floppy.  I have never done this but looking, the drivers on these drivers are not stored as .pkg but as .config.  I've forgotten about this as it's ages ago since I messed with OS 4.2 i486.
I took a look at the driver package, it's a .pkg.compressed file.  Docs for it suggest you are right, this is the driver you want to use.  Have you tried simply putting the file as is on a FAT floppy?  I have stacks of 3.3 driver floppies, some in Unix format some in FAT, with .config.compressed and .pkg.compressed files all over.  I don't think there's any catch-22 other than needing another system to write generic floppies.

brams

Quote from: "cubist"Okay, but since this is neither the adapter nor the disk you intend to use, I'm not certain what you tested for.  IDE support in 4.2?  I may be missing the point but let's go on...

I basically just built this thing out of a pile of bits I bought, I'm used to OPENSTEP on M68K and thus just to prove things where working, I plugged in an ATA drive to see how things went in NeXT-PC land and get a feel on how I should be doing things.

A FAT floppy just borks with an error saying that certain blocks could not be read (expecting to see a NeXT formatted floppy I guess) and then give up with the message the driver directory could not be located or words to that effect.

At the moment I am trying to install it on an ATA drive and then I'll copy it across to SCSI and see if it works.

I'm 100% sure now this is the driver as BeOS reports it as a 78XX chip set

On a side note, do you know if PCI Firewire cards cause OPENTEP to KP and I'm getting one.

Machine is a dual slot 1 PIII 700mhz i440BX, 1gb ram though OS only sees 512mb with AWE 64 and Intel NIC and Matrox G400 AGP.  I realise OS will only see one CPU.  But it should ignore the other one?

brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

brams

OK I managed to get the OPENSTEP 4.2 Mach kernel to recognise the Adaptec AHA-2940U2W card.  I installed OS 4.2 on an ATA drive, installed the 78XXSCSI.pkg driver of the OS 4.2 Y2K CD ROM.  Changed the device ID I grabbed from the BIOS  POST screen and Mach boot screen.  I changed the device ID using configure app to match that of the card (it was not recognised up until I did this).  I then copied the driver 78XX.config from the /usr/Devices/ onto a OS 4.2 Beta Drivers 2 floppy.  The Kernel now sees it as a device and also the Atlas 10k.4 attached to it.  Now I guess I'll need to make a disktab?

For those who are in need, the image of the floppy is here, Admin please feel free to host it if you wish.

brams
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

jorg

Quote from: "brams"

For those who are in need, the image of the floppy is here, Admin please feel free to host it if you wish.

brams

Very nice, I had exactly the same problem!
Will try, hope its not too complicated for me..

Hmm, the 78xx drives quits with an error while loading.
The 2940 driver doesnt do anything.

Install hangs at the graphic screen after: Registering: PCI0

I have an 2940AU, does that make any difference?

ebann

Quote from: "brams"OK I managed to get the OPENSTEP 4.2 Mach kernel to recognise the Adaptec AHA-2940U2W card.  I installed OS 4.2 on an ATA drive, installed the 78XXSCSI.pkg driver of the OS 4.2 Y2K CD ROM.  Changed the device ID I grabbed from the BIOS  POST screen and Mach boot screen.  I changed the device ID using configure app to match that of the card (it was not recognised up until I did this).  I then copied the driver 78XX.config from the /usr/Devices/ onto a OS 4.2 Beta Drivers 2 floppy.  The Kernel now sees it as a device and also the Atlas 10k.4 attached to it.  Now I guess I'll need to make a disktab?

For those who are in need, the image of the floppy is here, Admin please feel free to host it if you wish.

What is this device ID you grabbed and "inserted" into the 78XX.config?  Is it the SCSI ID, which for a SCSI controller is usually 7?

My motherboard has an integrated AIC-7895 but your floppy image 78XX driver did not work.  It choked with the message "Cannot get PCI Configspace."  Do I need to tweak with that 78XX.config file for my specific setup?

Thanks!
White Box running OPENSTEP 4.2
Dual Pentium III 550MHz | 320MB ECC SDRAM
Matrox Millenium II 8MB
SanDisk 2GB Compact Flash (CF-to-IDE)

itomato

The PCI ID of the SCSI device is what you want to add to the config with Configure.app.

If the chip family is similar enough, the driver should load.
-itomato

ebann

Quote from: "itomato"The PCI ID of the SCSI device is what you want to add to the config with Configure.app.

If the chip family is similar enough, the driver should load.

After successfully installing OS42 on an IDE disk, I had access to /private/adm/messages and found that indeed the PCI ID was 0x78959004.

(An alternative was to run a Linux live CD and run "lspci" from the terminal.)

I installed Adaptec78XXSCSI device driver and in Configure.App, under SCSI and expert settings, "Auto Detect IDs" was:

BEFORE: "0x00789004&0x00ffffff 0x78009004&0xff00ffff 0x001f9005&0x000fffff 0x000f9005&0x000ffff"

AFTER: "0x00789004&0x00ffffff 0x78959004&0xff00ffff 0x001f9005&0x000fffff 0x000f9005&0x000ffff"

(In retrospect, what I did was not necessary because the 0xff00ffff that comes after it is a MASK which ignores the third and fourth digit, i.e. 78xx9004.  Thanks to Henry Koplien for explaining that.)

Save and reboot.  This is the message in /private/adm/messages:

localhost mach: Adaptec78XXSCSI: Adaptec 78XX Adapter found.
localhost mach: Adaptec78XXSCSI: Adapter verified by HIM.
localhost mach: Adaptec78XXSCSI: Using IRQ: 11
localhost mach: Adaptec78XXSCSI: Resetting SCSI bus.
localhost mach: Registering: sc1
localhost mach: sd1: IBM-PSG DNES-318350W !# SAB0
localhost mach: Registering: sd1 at Target 0 LUN 0 at sc1
localhost mach: sd1: No Valid Disk Label
localhost mach: sd1: Device Block Size: 512 bytes
localhost mach: sd1: Device Capacity:    17357 MB

Yay!  Now I have to make a custom device driver floppy disk with the 78XX driver with the change above and hopefully I will be able to install directly to my SCSI hard drive.

edit2:

I created a Device Driver floppy disk for /private/Drivers/i386/Adaptec78XXSCSI.config but when trying to install it from scratch onto my SCSI disk, it choked on some IRQ 14 conflict.  Why should it have a conflict when it worked just fine when I booted from my IDE installation?  (I disconnected the IDE hard drive and my CD-ROM continued as slave... does this matter?)
White Box running OPENSTEP 4.2
Dual Pentium III 550MHz | 320MB ECC SDRAM
Matrox Millenium II 8MB
SanDisk 2GB Compact Flash (CF-to-IDE)

brams

Make sure PNP OS is switched off (or on?) in the BIOS, can't remember which, but it's worth playing with it (my AWE64 does not work with it in one setting).  That should sort out the IRQ issue, you might have to play with the device properties and assign another IRQ to it though

Maybe there is a way to stop the screen from scrolling I think to grab the device ID, I was too lazy to remember what it was or go looking so just took a photo of the screen.

Now I've had some coffee and woke up, Can't you also use the unix command dmesg on OPENSTEP, like BSD and Linux, dunno never tried, worth a go though.
NeXTcube Turbo Dimension, NeXTstation Turbo Color, MP2100, Q840av, Q650, WS G4 500, Pismo G4 550, SGI Octane R12K MXE, BeBox 133.

ebann

Quote from: "brams"Make sure PNP OS is switched off (or on?) in the BIOS, can't remember which, but it's worth playing with it (my AWE64 does not work with it in one setting).  That should sort out the IRQ issue, you might have to play with the device properties and assign another IRQ to it though

Maybe there is a way to stop the screen from scrolling I think to grab the device ID, I was too lazy to remember what it was or go looking so just took a photo of the screen.

Now I've had some coffee and woke up, Can't you also use the unix command dmesg on OPENSTEP, like BSD and Linux, dunno never tried, worth a go though.

The actual error was:

Adaptec78XXSCSI: Unable to reserve IRQ 14
Adaptec78XXSCSI: fixDeviceDescriptionForPCI failed.

EDIT:

LOL!  I simply jumpered my CD-ROM drive back to master (also put BIOS PnP back to 'on'; also put 'OS PnP compatible' to 'yes' since it does give PnP messages during boot) and re-did the install and there it goes, SCSI controller and hard drive detected as it should!

But of course the install failed... with the following message:

"OPENSTEP cannot be installed on any disks.
You must have a 512 byte/sector disk with at least 120MB of free space.
No disks found."

Bah!  I think I have to 'process' that SCSI disk prior to installing OS42 on it.  Let me do a bit of searching on this matter... feel free to chime in!

edit2:

Rebooted into IDE disk and it correctly detects the SCSI hard drive and states that it is unreadable and must initialize it.  I go ahead and try to initialize but it fails with the following error (from Console):

/usr/etc/disk -i -h localhost -l "OPENSTEP" /dev/rsd0a
Only using BIOS-accesible sectors
disk name: IBM-PSG DNES-318350W !#
disk type: fixed_rw_scsi
writing disk label
can't write label -- disk unusable!: I/O error

I have a few ideas which I will try:

a) fool around with SCSI controller variables (I'm not a SCSI expert but perhaps the problem lies there...)
b) boot a Linux live CD and fdisk from there
c) boot the Windows drive and fdisk/format from there

edit3:

a) didn't change anything.
b) same result "OPENSTEP cannot be installed" message.
c) did this and same as (b).  Discovered that it actually made 1 partition of type SFS whatever that is.

I decided to use OS42 own tools.  I booted from install CD and went into single user mode.  I ran 'disk', 'sdform' and 'scsimodes'.  From within 'disk' I ran 'label' and 'init':

Here is the output:

# disk /dev/rsd1a
NEXTSTEP partition base = 63   NEXTSTEP partition size = 7823592
disk name: IBM-PSG DNES-318350W !#
disk type: fixed_rw_scsi
Disk utility
disk> init

Writing /usr/standalone/i386/boot
Writing /usr/standalone/i386/boot1
creating new filesystem on /dev/rsd1a
/usr/etc/newfs -n -v /dev/rsd1a
/etc/mkfs /dev/rsd1a 1955858 160 10 8192 1024 16 10 60 4096 t
Adaptec78XXSCSI: Max DMA Count Exceeded (max = 114688, request = 262144)
sd1: DMA Error; Retrying.
   target:0 loon:0 op:Write block:510 blockCount:512
Adaptec78XXSCSI: Max DMA Count Exceeded (max = 114688, request = 262144)
sd1: DMA Error; Retrying.
   target:0 loon:0 op:Write block:510 blockCount:512
Adaptec78XXSCSI: Max DMA Count Exceeded (max = 114688, request = 262144)
sd1: DMA Error; Retrying.
   target:0 loon:0 op:Write block:510 blockCount:512
Adaptec78XXSCSI: Max DMA Count Exceeded (max = 114688, request = 262144)
sd1: DMA Error; Retrying.
   target:0 loon:0 op:Write block:510 blockCount:512
Adaptec78XXSCSI: Max DMA Count Exceeded (max = 114688, request = 262144)
sd1: DMA Error; FATAL.
   target:0 loon:0 op:Write block:510 blockCount:512
Warning: 4096 bytes per inode impossible due
to cylinder group size, using 11676 bytes per inode.
Warning: 942 sector(s) in last cylinder unallocated
/dev/rsd1a:   1955858 sectors in 1223 cylinders of 10 tracks, 160 sectors
   2002.8Mb in 77 cal groups (16 c/g, 26.21Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:write error: 32
wtfs: I/O error
/usr/etc/newfs /dev/rsd1a failed (status 1)
disk>

# scsimodes /dev/rsd1a
SCSI information for /dev/rsd1a
Drive type: IBM-PSG DNES-318350W !#
512 bytes per sector
320 sectors per track
10 tracks per cylinder
11474 cylinders per volume (including spare cylinders)
0 spare sectors per cylinder
0 alternate tracks per volume
35548319 usable sectors on volume

# sdform /dev/rsd1a
sd1: DMA Over/Underrun; Retrying.
   target:0 lun:0 op:Request sense
sd1: DMA Over/Underrun; Retrying.
   target:0 lun:0 op:Request sense
sd1: DMA Over/Underrun; Retrying.
   target:0 lun:0 op:Request sense
sd1: DMA Over/Underrun; Retrying.
   target:0 lun:0 op:Request sense
sd1: DMA Over/Underrun; FATAL.
   target:0 lun:0 op:Request sense
Request Sense command failed
ioctl(SDIOCSRQ): I/O error

Running 'label' within 'disk' command worked and I no longer see "Invalid Disk Label" during OS42 installation boot messages.  But OS42 still 'cannot be installed' messages continues.  This looks like a DMA issue.  What could it be?  I tried another SCSI hard drive but same thing happens.
White Box running OPENSTEP 4.2
Dual Pentium III 550MHz | 320MB ECC SDRAM
Matrox Millenium II 8MB
SanDisk 2GB Compact Flash (CF-to-IDE)